FFmpeg: как извлечь звук из видео – все нужные команды
Готовые команды FFmpeg: извлечь звук в MP3, M4A, WAV или FLAC, скопировать без перекодирования, обрезать, выбрать дорожку, нормализовать громкость и конвертировать целые папки.
FFmpeg – бесплатный открытый «швейцарский нож» для аудио и видео и движок, который работает за кулисами Videos-to-MP3. Если вы уверенно чувствуете себя в терминале, он позволяет извлекать звук без интернета, без ограничений по размеру и автоматизировать всё что угодно. Вот команды, которые покрывают 95 % задач.
Установка FFmpeg
- Windows:
winget install ffmpeg(или скачайте сборку с ffmpeg.org и добавьте её в PATH). - macOS:
brew install ffmpeg. - Linux:
sudo apt install ffmpeg(Debian/Ubuntu) илиsudo dnf install ffmpeg(Fedora).
Проверьте установку командой ffmpeg -version.
Сначала загляните внутрь файла
ffprobe -v error -show_entries stream=index,codec_type,codec_name,bit_rate,channels -of compact video.mp4
Команда показывает каждый поток, например codec_type=audio|codec_name=aac|bit_rate=128000|channels=2. Зная кодек, вы поймёте, можно ли скопировать звук без перекодирования.
Извлечь в MP3
ffmpeg -i video.mp4 -vn -c:a libmp3lame -b:a 192k audio.mp3
-vn: без видео.-c:a libmp3lame: MP3-кодировщик LAME.-b:a 192k: постоянный битрейт 192 кбит/с (или 128k, 256k, 320k по необходимости).
Переменный битрейт (лучшее качество на мегабайт):
ffmpeg -i video.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3
-q:a 0 – наилучшее качество (≈ 245 кбит/с), 2 ≈ 190 кбит/с, 4 ≈ 165 кбит/с.
Скопировать звук без перекодирования
Если в видео звук AAC (как в большинстве MP4 и MOV), поместите его в контейнер M4A – мгновенно и без потерь:
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
То же для Opus внутри WEBM: ffmpeg -i video.webm -vn -c:a copy audio.opus. Если FFmpeg выдаёт ошибку, кодек не подходит к контейнеру – перекодируйте.
WAV и FLAC
ffmpeg -i video.mp4 -vn -c:a pcm_s16le audio.wav
ffmpeg -i video.mp4 -vn -c:a flac audio.flac
Добавьте -ar 44100, чтобы пересэмплировать в 44,1 кГц (стандарт CD), или -ac 1, чтобы сделать моно.
Сохранить только часть звука
ffmpeg -ss 00:01:30 -to 00:02:45 -i video.mp4 -vn -b:a 192k fragment.mp3
Если поставить -ss перед -i, перемотка будет быстрой. Используйте -t 30 вместо -to, чтобы задать длительность (30 секунд).
Выбрать звуковую дорожку
Фильмы в MKV часто содержат несколько языков. Дорожки нумеруются с 0:
ffmpeg -i film.mkv -map 0:a:1 -vn -b:a 192k vtoraya-dorozhka.mp3
Нормализовать громкость
ffmpeg -i lecture.mp4 -vn -af loudnorm=I=-16:TP=-1.5:LRA=11 -b:a 128k lecture.mp3
Цель – −16 LUFS, обычная громкость подкастов и стриминга. Это тот же фильтр, что и в опции «Нормализовать громкость» нашего конвертера.
Конвертировать целую папку
macOS / Linux (bash или zsh):
for f in *.mp4; do ffmpeg -i "$f" -vn -b:a 192k "${f%.*}.mp3"; done
Windows (командная строка):
for %f in (*.mp4) do ffmpeg -i "%f" -vn -b:a 192k "%~nf.mp3"
Windows (PowerShell):
Get-ChildItem *.mp4 | ForEach-Object { ffmpeg -i $_.FullName -vn -b:a 192k "$($_.BaseName).mp3" }
Добавить теги
ffmpeg -i video.mp4 -vn -b:a 192k -metadata title="Концерт в парке" -metadata artist="Моя группа" -id3v2_version 3 audio.mp3
Частые ошибки
- «Output file #0 does not contain any stream»: в видео нет звуковой дорожки.
- «Could not find tag for codec … in stream»: вы использовали
-c:a copyс несовместимым контейнером – уберите его, чтобы перекодировать. - «Unknown encoder 'libmp3lame'»: в вашей сборке FFmpeg нет LAME; установите полную сборку.
Не хочется возиться с терминалом? Videos-to-MP3 выполнит те же команды за вас прямо в браузере.
Вопросы и ответы
Как извлечь звук через FFmpeg без потери качества?
Используйте -c:a copy с совместимым контейнером: .m4a для AAC, .opus или .ogg для Opus/Vorbis, .mp3 для MP3.
Что означает -vn в FFmpeg?
«Video none»: указывает FFmpeg не включать видеопоток в результат.
Как конвертировать в MP3 320 кбит/с через FFmpeg?
ffmpeg -i in.mp4 -vn -c:a libmp3lame -b:a 320k out.mp3
Готовы извлечь звук?
Бесплатно, без регистрации, файлы удаляются сразу после конвертации.