Я хочу вырезать часть MKV и кодировать ее в MP4, а также записывать субтитры.
Но я не знаю, как сделать это все за 1 проход (связанный вопрос), поэтому я попробовал это шаг за шагом.
Когда я сначала вырезал MKV, а затем закодировал его в MP4, он не будет жестко кодировать субтитры. Вырезанный контейнер MKV все еще сохранил субтитры. Я пробовал как внутренние, так и внешние субтитры.
тест 1 (неудача): субтитры напрямую из MKV
ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
ffmpeg -i test.mkv -vf subtitles=test.mkv test2.mp4
тест 2 (неудача): внешние субтитры
ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
ffmpeg -i test.mkv -map 0:s:0 subs.ass
ffmpeg -i test.mkv -vf subtitles=subs.ass test2.mp4
Он успешно жестко кодирует субтитры, когда я сначала кодирую весь MKV в MP4, после чего я могу его вырезать. Но это занимает гораздо больше времени с большими исходными файлами :(
- тест 3 (успех)
ffmpeg -i konosuba.mkv -vf subtitles=konosuba.mkv test.mp4
ffmpeg -i test.mp4 -ss 180 -t 30 test2.mp4
- тест 3 (успех)
Кажется, в логах есть разница: тест 1 против теста 3
Я что-то здесь не так делаю? Я действительно не понимаю, почему я не могу записать субтитры, если только не кодирую оригинальный контейнер MKV, не разрезая его.
Редактировать: мне кажется, что попытка записать субтитры сама по себе не работает (журнал)
ffmpeg -i test2.mp4 -vf subtitles=subs.ass test3.mp4
Журнал: https://gist.github.com/anonymous/d2eb6f09fabba88afe86bd4607b048a4
Сборка: https://ffmpeg.zeranoe.com/builds/
ОС: Windows 10 v1607
https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
https://ffmpeg.org/ffmpeg-filters.html#subtitles-1