Прежде всего, убедитесь, что вы установили последнюю версию FFmpeg со страницы загрузки. Для Windows, Linux и OS X доступны статические сборки. На OS X вы также можете использовать Homebrew (с brew install ffmpeg
).
Извлечение аудио из видео
Чтобы извлечь аудиопоток из файла, мы экспортируем в PCM стереозвук в WAV-контейнере, поскольку он без потерь и не будет перекодирован:
ffmpeg -i input-file.avi audio.wav
Конечно, вы можете использовать ряд других кодеков, таких как FLAC или ALAC. PCM-контент в WAV (или AIFF в Apple), вероятно, лучше всего подойдет для редактирования.
Теперь примените любые эффекты к вашему аудио потоку по мере необходимости.
Рекомбинируйте аудио и видео
Чтобы объединить аудиопоток и видеофайл, запустите:
ffmpeg -i input-file.avi -i audio.wav -c copy -map 0:0 -map 1:0 output.avi
замечания
Важно, чтобы видео и аудио файлы были в правильном порядке (-i video
, -i audio
) для отображения потока. Может не сработать иначе.
Опция -map 0:0 -map 1:0
отобразит аудио из второго входного файла (1
в 1:0
) в AVI вместо использования оригинального аудио. Это самый важный параметр здесь.
Вы можете теоретически изменить -c copy
чтобы просто скопировать битовый поток видео (-c:v copy
) и использовать любой другой сжатый аудиокодек, потому что copy
попытается использовать несжатый стереозвук PCM. Точно так же вы можете, конечно, просто сохранить отредактированный аудиофайл в MP3 и использовать его вместо этого, но сохранить copy
.
Чтобы кодировать стереофонический WAV-файл PCM в MP3, сделайте что-то вроде этого:
ffmpeg -i input-file.avi -i audio.wav -c:v copy -c:a libmp3lame -map 0:0 -map 1:0 output.avi
Если ваш аудиофайл короче видеофайла, вы можете зациклить его. Поставьте опцию -loop 1
чтобы сделать это.