Посмотрев несколько разных решений для добавления элементов в существующий 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
который может быть удален или скорректирован в зависимости от ваших собственных потребностей субтитров.