Як я можу перетворити 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 це обов'язково втрачає? Я не знаю, як закодовано mp4, але поки ви можете розділити відео та аудіо, це не повинно бути
відвертий

У початковій версії цього питання було не ясно, яким чином звук кодується - це змінилося в редагуванні. Ремоксинг не повинен бути втратним.
Том Віггерс

Відповіді:


150

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

ffmpeg -i filename.mp4 filename.mp3

або

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

Перевірте цю URL-адресу: MP4 Video в 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: askubuntu.com/questions/432542/…
Вільф

52

Кращий спосіб кодування MP3 - це використання -q:aдля змінної швидкості передачі бітів.

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

qОпція може бути використана тільки з libmp3lame і відповідає LAME -Vопції. Побачити:


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

Цей нарешті грав також плеєр Android Music. Спасибі
michalzuber

1
І перетворити цілий каталог (включаючи назви файлів з пробілами) за допомогою наведеної вище команди: for i in * .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.