Как я могу конвертировать MP4 видео в MP3 аудио с помощью FFmpeg?


120

Мне нужно извлечь аудиодорожку MP3 из видео MP4 с помощью ffmpeg. Я могу сделать это для .flv -> mp3, но я не знаю параметров командной строки для mp4-> mp3. Например, flv -> mp3:

ffmpeg -i video.flv -acodec copy audio.mp3

Какие параметры я должен использовать для mp4 -> mp3?


2
Если вам не нужен MP3, я бы не стал конвертировать аудио: MP4-> MP3 - это преобразование с потерями, вы потеряете дополнительную информацию об источнике.
Том Виггерс

больше нет ffmpeg для Ubuntu 14.04
Луи

@ThomWiggers это обязательно с потерями? Я не знаю, как кодируются mp4s, но если вы можете разделить видео и аудио, это не должно быть
откровенно

Первоначальная версия этого вопроса не была ясна, как был закодирован звук - это изменилось в редактировании. Remuxing не должен быть с потерями.
Том Виггерс

Ответы:


151

Основная команда:

ffmpeg -i filename.mp4 filename.mp3

или же

ffmpeg -i video.mp4 -b:a 192K -vn music.mp3

Проверьте этот URL: MP4 видео в MP3 файл с использованием ffmpeg (Ubuntu 9.10 Karmic Koala)

Примечание: Ubuntu не предоставляет FFmpeg, но развилку с именем Libav . Синтаксис тот же - просто используйте avconvвместо ffmpegприведенных выше примеров.


3
Спасибо! Это качество лучше, или я могу сделать лучше?

попробуйте с 320kbs en.wikipedia.org/wiki/MP3#Bit_rate

больше нет ffmpeg для Ubuntu 14.04
Луи

2
@Louis Вы все еще можете загрузить его с ffmpeg.org/download.html
slhck

1
@Louis - то же самое для 14.10, но, по-видимому, он возвращается в 15.04
Уилф

52

Лучший способ кодировать MP3 - использовать -q:aпеременную скорость передачи данных.

ffmpeg -i k.mp4 -q:a 0 -map a k.mp3

Эта qопция может использоваться только с libmp3lame и соответствует -Vопции LAME . Видеть:


@slhck ... это хорошая точка зрения, но я только что проверил видеофайл, а пропуски -vnпросто копируют аудиопоток. Я полагаю , FFmpeg должен иметь какой - то способ определения разницы (я только что проверил файл с ffprobe, и видео было поток 1 , а не обычный 0, и имел некоторые метаданные: comment : Cover (front))
evilsoup

Этот наконец-то играл также Android Music Player. Спасибо
michalzuber

1
И преобразовать весь каталог (включая имена файлов с пробелами) с помощью приведенной выше команды: для i в * .mp4; do ffmpeg -i "$ i" -q: a 0 -map a "$ (базовое имя" $ {i / .mp4} "). mp3"; сделанный;
kingSlayer

Чем результирующий .mp3 отличается от ванильной команды ffmpeg -i vid.mp4 audio.mp3в ответе @Naga Harish M? Меньше потерь?
откровенно
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.