Добавляйте, удаляйте, заменяйте и извлекайте аудио из видео с помощью FFmpeg.
Добавляйте, удаляйте, заменяйте и извлекайте аудио из видео с помощью FFmpeg.

Нажмите «LiveVideoStack» выше, чтобы подписаться на нас.

Переводчик и редактор: Алекс Технический обозреватель: Ли Чжун Эта статья взята с сайта OTTVerse и написана Кришной Рао Виджаянагаром.

▲Отсканируйте QR-код на картинке или нажмите, чтобы прочитать исходный текст▲

Узнайте больше о конференции по аудио и видео технологиям

FFmpeg

Easy-Tech

#019#

FFmpegЭто супермощный инструмент,Он может добавлять, удалять, извлекать или заменять звук в видеофайлах. Если FFmpeg уже установлен на вашем компьютере,Тогда у вас есть возможность добавить или Удалить ваш фильм. Инструменты для аудио!

Давайте посмотрим, как это делает FFmpeg.

Удалить звук из видео с помощью FFmpeg

Многие люди хотят знать, как удалить звуковые дорожки, такие как дорожный шум или фоновый шум, из записанных видео.

Удалить аудио Самый простой способ:Скопируйте в новый файл только видео, а не аудио.。Причина, почему этот метод прост,потому что это избавляет от необходимости перекодировать видео。Ниже Удалить командная строка аудио:

Код языка:javascript
копировать
ffmpeg.exe -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4
  • Используйте команду -c:v copy, чтобы скопировать видео в videoWithoutAudio.mp4.
  • -an сообщает FFmpeg не копировать аудио

Вышеописанный метод очень подходит для ситуаций, когда в фильме только одна звуковая дорожка. Однако что делать, если в фильме 3–4 звуковых дорожки, а вы хотите удалить только вторую звуковую дорожку?

Как удалить определенную звуковую дорожку через FFmpeg?

Об этом мы узнаем в следующем разделе.

Удалить определенный звук с помощью FFmpeg

Вы можете использовать команду карты в FFmpeg для удаления определенных звуковых дорожек.

Общий синтаксис команды карты:

Код языка:javascript
копировать
-map input_file_index:stream_type_specifier:stream_index

Затем вы можете выбрать вторую звуковую дорожку из видео с помощью -map 0:a:1 (считая с 0). В приведенном выше примере, если в вашем файле есть видео и две звуковые дорожки, вы можете использовать -map 0:a:1, чтобы выбрать только вторую звуковую дорожку и скопировать ее в окончательный результат в файле.

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

Код языка:javascript
копировать
ffmpeg.exe -i videoWithAudio.mp4 -map 0 -map 0:a:1 -copy videoOutput.mp4

Если в фильме 5 звуковых дорожек,кроме первого,Вы хотите выбрать все остальное。В это время вы можете использоватькоманда обратной карты(существоватьmapДобавьте знак минус перед параметрами команды.)。использовать-map -0:a:0 С помощью этой команды FFmpeg будет игнорировать первую звуковую дорожку при ее выборе. Обратная карта очень мощная!

Фактически, в предыдущей статье мы уже научились использовать команду -an для удаления звука из видео. Вы можете использовать обратную карту для достижения того же эффекта следующим образом.

Код языка:javascript
копировать
ffmpeg -i videoWithAudio.mp4 -map 0 -map -0:a videoWithoutAudio.mp4

Добавьте аудио с помощью FFmpeg

Вы удалили один трек, поэтому, вероятно, захотите добавить еще один, верно? Ниже мы узнаем, как использовать FFmpeg для добавления звука в видео.

В предыдущей статье вы уже научились использовать команду карты, поэтому добавление звука должно быть для вас простым. Командная строка выглядит следующим образом:

Код языка:javascript
копировать
ffmpeg \
-i video.mp4 \
-i audio.mp3 \
-c copy \
-map 0:v:0 \
-map 1:a:0 \  videoWithAudio.mp4

Приведенную выше командную строку легко понять. Все, что вам нужно сделать, это использовать команду карты для копирования видео и аудио из отдельных файлов в один выходной файл.

  • -map 0:v:0 выбирает 0-ю дорожку 0-го входного файла (видеовход).
  • –map 1:a:0 выбирает дорожку 0 первого входного файла (аудиовход).
  • Без перекодировки -c копирует аудио- и видеодорожки в выходной файл. Если вы хотите перекодировать,Вы можете выбрать подходящий аудио и видео кодек,Настройте соответствующее качество кодирования.

Извлечь аудио из видео с помощью FFmpeg

Извлечение аудио из видео с помощью FFmpeg — еще одна очень полезная и распространенная операция. Вы можете сделать это с перекодированием звука или без него.

Давайте сначала рассмотрим первый сценарий.:Без перекодирования,Извлекайте аудио непосредственно из медиафайлов и сохраняйте их.

Извлечение аудио означает удаление видео, верно? Использование команды -vn поможет нам легко удалять видео. Команда -vn аналогична команде -an, которая удаляет аудио.

Затем все, что вам нужно сделать, это скопировать аудио из исходного файла в целевой файл. Это достигается с помощью команды копирования -acodec, которая сообщает FFmpeg копировать только звук без его повторного кодирования.

Код языка:javascript
копировать
ffmpeg -i videoWithAudio.mp4 -vn -acodec copy onlyAudio.aac

Довольно просто, правда?

сейчассуществовать Давайте посмотрим на другую ситуацию:Когда вы извлекаете аудио и хотите его перекодировать。Нижекак Извлечь аудио из видео с помощью FFmpeg,Затем используйте libmp3lame для кодирования звука разного качества.,и сохраните его как mp3-файл.

Код языка:javascript
копировать
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 всегда есть лучший способ! 🙂

Пожалуйста, посмотрите на следующую командную строку:

Код языка:javascript
копировать
-map input_file_index:stream_type_specifier:stream_index.

Итак, вы можете использовать -map 1:a:2 для выбора третьей дорожки во втором входном файле, поскольку отсчет начинается с 0.

Код языка:javascript
копировать
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/


Если вам нравится наш контент, нажмите «Смотреть»!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose