3

Мне надоели Вегас, Премьера, Пиннакл, SoundForge и все остальные редакторы, которые я пробовал.

Я пытаюсь изменить звук AVI-файла, но все редакторы, которые я пробовал, настаивают на перекодировании видео при сохранении изменений и снижении качества или на несколько часов.

Есть ли способ просто извлечь аудиопоток из видео с помощью ffmpeg , отредактировать его в аудиоредакторе и затем объединить сохраненные изменения с видео?

1 ответ1

6

Прежде всего, убедитесь, что вы установили последнюю версию FFmpeg со страницы загрузки. Для Windows, Linux и OS X доступны статические сборки. На OS X вы также можете использовать Homebrewbrew 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 чтобы сделать это.

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