2017-01-08 15 views
-1

Я использую последнюю статическую сборку окон ffmpeg.FFMPEG кодирует аудио и принудительные субтитры в одно и то же время?

Мой входной файл (.mkv) является:

[video] - 1080, V_MPEG4/ISO/AVC, 14.6 Mbps, ID#0 
[audio] - DTS 5.1, 1510 Kbps, ID#1 
[subtitles] - S_TEXT/ASS Lossless English, ID#14 

Моя проблема заключается в следующем: я конвертировать аудио, так что моя цель плеер, XB1 консоль (media support faq), способен воспроизводить аудио/видео , Однако иногда его довольно трудно услышать или части могут быть на иностранном языке, поэтому я хочу заставить английские субтитры в миксе одновременно конвертировать аудио.

В настоящее время для аудио, я использую следующую команду

ffmpeg -i input.mkv -codec copy -acodec ac3 output.mkv 

Могу ли я каким-то образом связать в принудительные субтитры (на видео), чтобы сохранить дополнительный процесс принятия output.mkv и пытается форматировать субтитры?

Edit: Я попытался с помощью следующей команды для извлечения субтитров, чтобы иметь возможность редактировать их

ffmpeg -i Movie.mkv -map 0:s:14 subs.srt 

Однако я получаю ошибку: Stream map '0:s:14' matches no streams

Edit2: попытались извлечь субтитры и удалось с

ffmpeg -i input.mkv -map 0:14 -c copy subtitles.ass 

но все же надеемся на то, чтобы заставить субтитры, тем не менее!

Также - немного бонуса к этому вопросу - могу ли я каким-то образом извлечь файл .ass и отредактировать его, чтобы производить только субтитры для иностранных частей - так что английский звук не имеет субтитров во время фильма, но у иностранного аудио есть субтитры?

Приветствия

EDIT3:

Когда я пытаюсь использовать обе команды сразу (мой ранее упомянутый аудио конвертер & один из ffmpeg wiki)

ffmpeg -i input.mkv -codec copy -acodec ac3 -vf "ass=subs.ass" output.mkv 

я получаю следующее сообщение об ошибке от ffmpeg,

Filtergraph 'ass=subs.ass' was defined for video output stream 0:0 but codec copy was selected. 
Filtering and streamcopy cannot be used together. 

ответ

0

Поскольку ваш медиаплеер не поддерживает субтитры, текст должен быть сожжен на видеоизображении. Для этого используйте

ffmpeg -i input.mkv -vf "ass=subs.ass" -c:v libx264 -crf 20 -c:a ac3 output.mkv 

Это будет перекодировать видео, поскольку текст добавляется. Значение CRF контролирует качество видео. Более низкие значения дают лучшее качество, но большие файлы. От 18 до 28 - это достойный выбор.

 Смежные вопросы

  • Нет связанных вопросов^_^