1

в качестве примера: у меня есть 2 MKV-видео с 3-мя аудиопотоками (английский, французский и мандарин), 2 потока субтитров (английский и мандарин)

Потоки могут появляться в любом порядке. Как и в первом видео, Mandarin - первый аудиопоток, но во втором - французский. Та же ситуация с субтитрами.

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

Это возможно? Если да, то как?

Спасибо!

1 ответ1

0

Это не может быть сделано в настоящее время с помощью одной команды. Тем не менее, есть обходной путь с несколькими командами.

ffmpeg -i in.mkv -map 0:m:language=chi? -c copy chi.mkv

ffmpeg -i in.mkv -map 0:m:language=eng? -map -0:v -c copy eng.mkv

ffmpeg -i in.mkv -i chi.mkv -i eng.mkv -map 0:v -map 1:a? -map 2:s? -c copy final.mkv

Первая команда извлекает все потоки китайского языка, если таковые имеются, во временный MKV.

Вторая команда извлекает все потоки английского языка, если они есть, кроме видео во временный MKV.

Последняя команда отображает видео из исходного файла, аудио из временного файла на китайском языке и субтитры из временного файла на английском языке.

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