Как я могу заменить два субтитра в файле MKV? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть файл MKV с 2 аудио и 4 потоками субтитров. 3-й и 4-й поток субтитров содержал ошибки, поэтому я их извлек и исправил, но я не знаю, как их заменить в файле mkv. я пробовал ffmpeg.exe -i .\video.mkv -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 -i sub1.srt -i sub2.srt out.mkv

но это выдает мне ошибку:

Option map (set input stream mapping) cannot be applied to input url sub2.srt -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
Error parsing options for input file sub2.srt.
Error opening input files: Invalid argument

Может кто-нибудь сказать мне правильную команду?

1 Ответ

0 голосов
/ 30 апреля 2020

Важно расположение опции:

ffmpeg [input0 options] -i input0 [input1 options] -i input1 [output options] output

Итак, вы пытаетесь применить -map опции к sub1.srt.

Использование:

ffmpeg -i video.mkv -i sub1.srt -i sub2.srt -map 0 -map -0:s:2 -map -0:s:3 -map 1 -map 2 -c copy out.mkv

Опция описание:

  • -map 0 (ffmpeg индекс файла начинается с 0) выбирает все потоки из video.mkv.
  • -map -0:s:2 отрицательная карта, которая отменяет выбор субтитров № 3.
  • -map -0:s:3 отрицательная карта, которая отменяет выбор субтитров # 4.
  • -map 1 выбирает все потоки из sub1.srt.
  • -map 2 выбирает все потоки из sub2.srt.
  • -c copy копия потока все потоки. Не перекодирует.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...