Нажмите «LiveVideoStack» выше, чтобы подписаться на нас.
Переводчик и редактор: Алекс Технический обозреватель: Ли Чжун Эта статья взята с сайта OTTVerse и написана Кришной Рао Виджаянагаром.
▲Отсканируйте QR-код на картинке или нажмите, чтобы прочитать исходный текст▲
Узнайте больше о конференции по аудио и видео технологиям
FFmpeg
Easy-Tech
#019#
FFmpegЭто супермощный инструмент,Он может добавлять, удалять, извлекать или заменять звук в видеофайлах. Если FFmpeg уже установлен на вашем компьютере,Тогда у вас есть возможность добавить или Удалить ваш фильм. Инструменты для аудио!
Давайте посмотрим, как это делает FFmpeg.
Удалить звук из видео с помощью FFmpeg
Многие люди хотят знать, как удалить звуковые дорожки, такие как дорожный шум или фоновый шум, из записанных видео.
Удалить аудио Самый простой способ:Скопируйте в новый файл только видео, а не аудио.。Причина, почему этот метод прост,потому что это избавляет от необходимости перекодировать видео。Ниже Удалить командная строка аудио:
ffmpeg.exe -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4
Вышеописанный метод очень подходит для ситуаций, когда в фильме только одна звуковая дорожка. Однако что делать, если в фильме 3–4 звуковых дорожки, а вы хотите удалить только вторую звуковую дорожку?
Как удалить определенную звуковую дорожку через FFmpeg?
Об этом мы узнаем в следующем разделе.
Удалить определенный звук с помощью FFmpeg
Вы можете использовать команду карты в FFmpeg для удаления определенных звуковых дорожек.
Общий синтаксис команды карты:
-map input_file_index:stream_type_specifier:stream_index
Затем вы можете выбрать вторую звуковую дорожку из видео с помощью -map 0:a:1 (считая с 0). В приведенном выше примере, если в вашем файле есть видео и две звуковые дорожки, вы можете использовать -map 0:a:1, чтобы выбрать только вторую звуковую дорожку и скопировать ее в окончательный результат в файле.
Аналогично, -map 0 означает выбор всех данных в первом входном файле (включая аудио и видео), поэтому вам необходимо сначала выбрать все данные, а затем отменить выбор аудио.
ffmpeg.exe -i videoWithAudio.mp4 -map 0 -map 0:a:1 -copy videoOutput.mp4
Если в фильме 5 звуковых дорожек,кроме первого,Вы хотите выбрать все остальное。В это время вы можете использоватькоманда обратной карты(существоватьmapДобавьте знак минус перед параметрами команды.)。использовать-map -0:a:0 С помощью этой команды FFmpeg будет игнорировать первую звуковую дорожку при ее выборе. Обратная карта очень мощная!
Фактически, в предыдущей статье мы уже научились использовать команду -an для удаления звука из видео. Вы можете использовать обратную карту для достижения того же эффекта следующим образом.
ffmpeg -i videoWithAudio.mp4 -map 0 -map -0:a videoWithoutAudio.mp4
Добавьте аудио с помощью FFmpeg
Вы удалили один трек, поэтому, вероятно, захотите добавить еще один, верно? Ниже мы узнаем, как использовать FFmpeg для добавления звука в видео.
В предыдущей статье вы уже научились использовать команду карты, поэтому добавление звука должно быть для вас простым. Командная строка выглядит следующим образом:
ffmpeg \
-i video.mp4 \
-i audio.mp3 \
-c copy \
-map 0:v:0 \
-map 1:a:0 \ videoWithAudio.mp4
Приведенную выше командную строку легко понять. Все, что вам нужно сделать, это использовать команду карты для копирования видео и аудио из отдельных файлов в один выходной файл.
Извлечь аудио из видео с помощью FFmpeg
Извлечение аудио из видео с помощью FFmpeg — еще одна очень полезная и распространенная операция. Вы можете сделать это с перекодированием звука или без него.
Давайте сначала рассмотрим первый сценарий.:Без перекодирования,Извлекайте аудио непосредственно из медиафайлов и сохраняйте их.
Извлечение аудио означает удаление видео, верно? Использование команды -vn поможет нам легко удалять видео. Команда -vn аналогична команде -an, которая удаляет аудио.
Затем все, что вам нужно сделать, это скопировать аудио из исходного файла в целевой файл. Это достигается с помощью команды копирования -acodec, которая сообщает FFmpeg копировать только звук без его повторного кодирования.
ffmpeg -i videoWithAudio.mp4 -vn -acodec copy onlyAudio.aac
Довольно просто, правда?
сейчассуществовать Давайте посмотрим на другую ситуацию:Когда вы извлекаете аудио и хотите его перекодировать。Нижекак Извлечь аудио из видео с помощью FFmpeg,Затем используйте libmp3lame для кодирования звука разного качества.,и сохраните его как mp3-файл.
ffmpeg.exe -i videoWithAudio.mp4 -vn -c:a libmp3lame -q:a 1 onlyAudio.mp3
-q:a представляет качество (определенное в документе LAME [1]), а диапазон распределения качества составляет 0–6, где 0 представляет звук высокого качества, а 6 — звука низкого качества.
Изображение с Pexels.com, автор Стас Кноп
Замените звук из видео с помощью FFmpeg
Как заменить звуковую дорожку в видео, в котором уже есть звук? Это будет последний сценарий, который мы сегодня рассмотрим.
Как мы уже говорили выше, есть два шага:
Но есть ли более быстрый и лучший способ?
С FFmpeg всегда есть лучший способ! 🙂
Пожалуйста, посмотрите на следующую командную строку:
-map input_file_index:stream_type_specifier:stream_index.
Итак, вы можете использовать -map 1:a:2 для выбора третьей дорожки во втором входном файле, поскольку отсчет начинается с 0.
ffmpeg -i video_with_audio.mp4 -i newAudio.wav \
-map 0:0 \
-map 1:0 \
-c:v copy \
-c:a libmp3lame -q:a 1 \
-shortest \ video_with_newAudio.mp4
В приведенном выше примере нам нужно получить видео из одного файла и аудио из другого файла. Команда карты очень удобно выполняет вышеуказанные операции. Мы выбираем дорожку 0 из первого входного файла (видео) и дорожку 0 из второго входного файла (аудио).
Затем мы копируем видео как есть, перекодируем аудио и объединяем их в новый файл. Если вы не хотите перекодировать звук, вы можете просто использовать команду копирования -a:c, и звук будет скопирован без повторного кодирования.
Команда -shortest используется для остановки преобразования при достижении длины более короткого входного файла (одного из двух входных файлов). Если эта функция не важна для вашего варианта использования, вы можете не использовать эту команду.
Заключение
Что ж, теперь вы знаете, как добавлять, удалять, заменять и извлекать аудио из видео с помощью FFmpeg.
В последующих статьях мы представим дополнительные функции и использование FFmpeg.
Примечание:
[1]https://wiki.hydrogenaud.io/index.php/LAME
Благодарности:
Эта статья переведена и опубликована с разрешения автора Кришны Рао Виджаянагара, и я хотел бы выразить ему свою благодарность.
Оригинальная ссылка:
https://ottverse.com/add-remove-extract-audio-from-video-using-ffmpeg/
Если вам нравится наш контент, нажмите «Смотреть»!