Я пытаюсь извлечь субтитры из видео в .srt
файл, я использовал следующую команду:
FFMPEG -i mytestmovie.mkv -vn -an -codec:s:0.1 srt sub.srt
Но я получил ошибку как нераспознанная опция. codec:s:0:1
Итак, вы можете сказать мне точную команду и как извлечь субтитры в виде .srt
файла в видео?
Ответы:
Просто:
источник
0:s:1
для загрузки второго,0:s:2
для загрузки третьего и так далее.-map
параметры для каждого файла. Кроме того, включать ,-c copy
так что он просто извлекает файл , не пытаясь обработать его:ffmpeg -i Movie.mkv -c copy -map 0:s:0 subs.01.srt -c copy -map 0:s:1 subs.02.srt
. В любом случае это займет много времени, потому что ffmpeg должен прочитать весь видеофайл, чтобы найти все части потоков субтитров.-codec:s:0:1
это неверно. Если вы используете,-codec:s:0
то ffmpeg будет использовать указанный кодек для первого потока субтитров, передаваемого на выход, если вы его используете,-codec:s:1
он будет использовать его для второго потока субтитров и т. Д.Вы также можете использовать,
-codec:s
чтобы выбрать все выходные потоки субтитров или-codec:2
выбрать третий выходной поток, независимо от того, что это.Вы, вероятно, запутались, потому что
-map
опция ведет себя по-другому - там вы должны выбрать, с какого входа поступает выбранный поток. (таким образом,-map 0:s:0
будет взят первый поток субтитров с первого входа и передан на выход). Тем не менее,-map
это для выбора, какие потоки вы хотите взять от входов; тогда как большинство других опций, использующих отображение потоков, предназначены для использования в потоках после того, как они были выбраны (поэтому нет необходимости указывать, из какого они входного файла), так как они передаются в выходной файл.источник
ffmpeg -i E:\Routine\routine.mkv -map 0:s:0 E:\Routine\sub.srt
(ffmpeg должен обнаружить, что вы хотите srt субтитры из имени выходного файла)ffmpeg -i film.mp4 -vn -an -codec:s srt film.srt
это должно скопировать все субтитры в файл srt.-codec:s
равно,-codec:s:0
поэтому он не выделяет все субтитры ... он извлечет первую текстовую дорожку