Слияние видео и аудио, с перекодировкой аудио
Смотрите этот пример, взятый из этой записи в блоге , но обновленный для более нового синтаксиса. Это должно быть что-то вроде:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4
Здесь мы предполагаем, что видео файл пока не содержит аудио потока, и что вы хотите иметь тот же выходной формат (здесь, MP4), что и входной формат.
Вышеприведенная команда перекодирует аудио, так как MP4 не может нести PCM аудио потока. При желании вы можете использовать любой другой аудиокодек. Дополнительную информацию смотрите в AAC Encoding Guide .
Если ваш аудио или видео поток длиннее, вы можете добавить опцию -shortest
так, чтобы ffmpeg прекратил кодирование после окончания одного файла.
Копирование аудио без перекодирования
Если ваш выходной контейнер может обрабатывать (почти) любой кодек - как MKV - то вы можете просто скопировать аудио и видео потоки:
ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv
Замена аудио потока
Если ваше входное видео уже содержит аудио, и вы хотите заменить его, вы должны сказать ffmpeg какой аудио поток принять:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4
map
опция делает ffmpeg использовать только первый видео-поток с первого входа и первый аудио-поток со второго входа для выходного файла.