Я недавно закодировал M4V с неправильными субтитрами. Субтитры были из другого видео и не имеют смысла в контексте видео, в которое они были включены.

Как я могу заменить существующие / неправильные субтитры SRT правильными субтитрами, используя FFmpeg?

1 ответ1

1

Посмотрев несколько разных решений для добавления элементов в существующий M4V, но не удаляя существующие субтитры, мне удалось объединить следующую команду вместе, и она отлично работает для меня. Он копирует только видео, устанавливает метаданные субтитров на «eng» (он же английский) и устанавливает субтитры в качестве субтитров по умолчанию:

ffmpeg -i input.m4v -sub_charenc ISO-8859-1 -sn -i input.srt -c:s mov_text -c:v copy -c:a copy -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng output.m4v

Обратите внимание, что субтитры, с которыми я имею дело, не являются UTF-8; они кодируются как ISO-8859-1, таким образом, -sub_charenc который может быть удален или скорректирован в зависимости от ваших собственных потребностей субтитров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .