У меня есть файл MP4, который содержит два аудиопотока с языковыми тегами ger и fre . Единственный видеопоток, который он содержит, помечен как eng .

Цитаты документации ffmpeg:

To pick the English audio stream:

ffmpeg -i INPUT -map 0:m:language:eng OUTPUT

В моем случае это не работает. Вместо этого он выведет единственный поток с тегом eng (который является видеопотоком). Это согласуется с: https://ffmpeg.org/ffmpeg.html#Stream-specifiers-1

Тем не менее, есть ли возможность указать оба

  • тип потока (v , a , ...)
  • и предоставить тег метаданных (например, language:eng)

для того же параметра -map ?

1 ответ1

0

Непосредственно невозможно. Парсер для этого не учитывает второй квалификатор. Обходной путь должен использовать трубу

ffmpeg -i IN -map 0:a -c copy -f nut - | ffmpeg -i - -c copy -map 0:m:language:eng OUT

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