Базовая команда
bash
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a
-i video.mp4— входной файл-vn— не включать видео (no video)-c:a copy— копировать аудиопоток без перекодирования (быстро, без потери качества)audio.m4a— выходной файл
Формат контейнера нужно подбирать под кодек аудио из видео, иначе
copyне сработает.
Как узнать, какой аудиокодек в видео
bash
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1 video.mp4
Или просто посмотреть всё:
bash
ffprobe video.mp4
Найдите строку Stream #0:1: Audio: ... — например aac, mp3, ac3, opus, vorbis.
Подбор выходного формата под кодек
| Аудиокодек в видео | Команда |
|---|---|
| AAC | ffmpeg -i video.mp4 -vn -c:a copy audio.m4a |
| MP3 | ffmpeg -i video.mp4 -vn -c:a copy audio.mp3 |
| AC3 / EAC3 | ffmpeg -i video.mkv -vn -c:a copy audio.ac3 |
| Opus | ffmpeg -i video.webm -vn -c:a copy audio.opus |
| Vorbis | ffmpeg -i video.ogv -vn -c:a copy audio.ogg |
| FLAC | ffmpeg -i video.mkv -vn -c:a copy audio.flac |
| PCM | ffmpeg -i video.mov -vn -c:a copy audio.wav |
Если нужно перекодировать (например, в MP3)
bash
ffmpeg -i video.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3
-q:a 2— переменный битрейт, качество ~190 kbps (0 — лучшее, 9 — худшее).
Или с постоянным битрейтом:
bash
ffmpeg -i video.mp4 -vn -c:a libmp3lame -b:a 192k audio.mp3
В AAC:
bash
ffmpeg -i video.mp4 -vn -c:a aac -b:a 192k audio.m4a
Полезные дополнения
- Выбрать конкретную аудиодорожку (если их несколько):bashffmpeg -i video.mkv -vn -map 0:a:1 -c:a copy audio.m4aгде
1— индекс аудиопотока (0 — первая дорожка, 1 — вторая и т.д.). - Обрезать фрагмент (с 30-й секунды, длительностью 60 сек):bashffmpeg -ss 00:00:30 -i video.mp4 -t 60 -vn -c:a copy audio.m4a
- Пакетно для всех mp4 в папке:bashfor f in *.mp4; do ffmpeg -i «$f» -vn -c:a copy «${f%.mp4}.m4a»; done
- Перезаписать файл молча (
-y) или не перезаписывать (-n):bashffmpeg -y -i video.mp4 -vn -c:a copy audio.m4a
Проверка результата
bash
ffprobe audio.m4a
Если при -c:a copy ffmpeg ругается на несовместимость контейнера — просто смените расширение выхода на подходящее из таблицы выше или перекодируйте (-c:a aac/libmp3lame).
