У меня есть файл mkv, в котором есть (программные) субтитры. Видео длится около 30 минут, но я хочу сократить его до 6 минут (скажем, с 19:00 до 25:00). Однако я хочу сохранить программные субтитры.
Я попытался использовать запись в VLC, но даже при отображении субтитров они не были записаны на выходе.
Затем я попробовал Avidemux, но, опять же, на выходе отсутствуют субтитры. .
Я подумал , что этот ответ может помочь (с использованием mkvextract), но извлеченные подпрограммы были целыми подпрограммами, и теперь я не уверен, как отредактировать их, повторно добавить их и синхронизировать с обрезанный видеофайл.
Я мог бы быть здесь наивным, но я бы подумал, что есть возможность обрезать видео, сохраняя мягкие субтитры.
Мое первое предпочтение - сделать именно это: обрезать видео, сохраняя мягкие Subs.
Преобразование субтитров в аппаратные - вариант, но далеко не идеальный, потому что субтитры будут перекрывать некоторую важную информацию на экране.
ffmpeg
:ffmpeg -i inputfile.mkv -c copy -ss 00:19:00 -t 00:06:00 -async 1 outputfile.mkv
-c copy
(сокращение от -codec copy
) сделает копирование всех операций кодека, то есть видео, аудио, субтитров, данных и вложений, если таковые имеются. Это сократит время, необходимое для массовой обрезки видео. -ss
— это смещение времени начала. Если вы хотите, чтобы видео начиналось с 19:00, установите для него значение 00:19:00
-t
флаг — это продолжительность — если вы хотите, чтобы видео начиналось с 19:00 и заканчивалось в 25:00, это составляет 6 минут — 00:06:00
В моем тестировании мягкие субтитры сохранились.