Как использовать ffmpeg для копирования аудио с mp4 и добавления его в другой

429

Я создал видео с помощью Final Cut Pro X (10.1.4) и добавил комментарий, используя функцию озвучивания. Я был удивлен, обнаружив, что FCPX не поддерживает вывод файла с несколькими звуковыми дорожками.

Я отключил трек с комментариями и сохранил проект в формате 1080p только с обычным звуком (main.m4v).

Затем я снова включил комментарий, настроил обычный звук и экспортировал версию 720p только с треком комментариев (commentary.m4v).

Как мне использовать ffmpeg для создания final.m4v, который будет main.m4v, но с аудио дорожкой из commentary.m4v в качестве вторичной звуковой дорожки?

1
может быть, вы могли бы обратиться к https://superuser.com/questions/277642/how-to-merge-audio-and-video-file-in-ffmpeg Kokizzu 9 лет назад 0
Это решение говорит о замене существующего аудио или смешении двух звуковых дорожек в одну. Я хочу скопировать аудио из одного файла m4v и добавить его в качестве второй отдельной дорожки к существующему m4v. 9 лет назад 0
ах, мой плохой, я неправильно понял вопрос, вы можете использовать этот ответ: http://askubuntu.com/questions/317739/how-to-add-an-additional-sound-track-to-an-existing-video, если вы может пойти на компромисс только с `ffmpeg` Kokizzu 9 лет назад 0
Спасибо! На этом примере я получил очень интересные результаты. У меня есть m4v, который работает именно так, как я хочу в VLC, но с QuickTime, он не позволяет мне выбрать звуковую дорожку и воспроизводит обе одновременно. Мне нужно провести некоторое исследование по этому вопросу, но я определенно близок к тому, что я после. 9 лет назад 1

2 ответа на вопрос

1
slhck

Используйте параметры отображения :

ffmpeg -i main.m4v -i commentary.m4v -c copy -map 0:v -map 0:a -map 1:a final.m4v 

При -mapэтом первое число в опции относится к индексу входного файла (т. Е. 0Является первым). Таким образом, варианты означают:

  • Скопируйте все битовые потоки вместо перекодирования
  • Возьмите (первый) видеопоток первого входа
  • Возьмите (первый) аудиопоток первого входа
  • Возьмите (первый) аудиопоток второго входа

Все потоки, у которых есть mapопция, затем копируются.

Вы также можете явно обратиться к пронумерованному видео / аудио потоку, например 0:a:1, чтобы обратиться ко второму аудио потоку в первом файле, если таковой имеется.

0
Kokizzu

Если это не является специфичным для ffmpegвас, можете использовать этот пример

Инструмент MKVmerge или MP4Box может добавить дорожку к существующему видео.