Wie kann ich mit FFmpeg MP4-Video in MP3-Audio konvertieren?


120

Ich muss mit ffmpeg einen MP3-Audiotrack aus einem MP4-Video extrahieren. Ich kann dies für .flv -> mp3 tun, aber ich kenne die Befehlszeilenparameter für mp4-> mp3 nicht. Zum Beispiel flv -> mp3:

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

Welche Parameter soll ich für mp4 -> mp3 verwenden?


2
Wenn Sie nicht wirklich einen MP3 brauchen, würde ich den Ton nicht konvertieren: MP4-> MP3 ist eine verlustbehaftete Transformation, Sie werden zusätzliche Quellinformationen verlieren.
Thom Wiggers

kein ffmpeg mehr für Ubuntu 14.04
Louis

@ThomWiggers ist es unbedingt verlustbehaftet? Ich weiß nicht, wie mp4s codiert werden, aber solange Sie Video und Audio trennen können, sollte es nicht so sein
frank

Die ursprüngliche Version dieser Frage war nicht klar, wie das Audio codiert wurde - das wurde in den Bearbeitungen geändert. Remuxen muss nicht verlustbehaftet sein.
Thom Wiggers

Antworten:


150

Der grundlegende Befehl lautet:

ffmpeg -i filename.mp4 filename.mp3

oder

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

Überprüfen Sie diese URL: MP4-Video in MP3-Datei mit ffmpeg (Ubuntu 9.10 Karmic Koala)

Hinweis: Ubuntu liefert kein FFmpeg, sondern die Gabel namens Libav . Die Syntax ist die gleiche - verwenden Sie avconvstatt ffmpegfür die obigen Beispiele.


3
Danke! Diese Qualität ist am besten, oder kann ich es besser machen?

versuchen Sie es mit 320kbs en.wikipedia.org/wiki/MP3#Bit_rate

kein ffmpeg mehr für Ubuntu 14.04
Louis

2
@ Louis Sie können es immer noch von ffmpeg.org/download.html
slhck

1
@ Louis - dasselbe für 14.10, aber es wird anscheinend in 15.04 zurückkehren: askubuntu.com/questions/432542/…
Wilf

52

Der bessere Weg, MP3 zu kodieren, ist die Verwendung -q:afür variable Bitraten.

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

Die qOption kann nur mit libmp3lame verwendet werden und entspricht der -VOption LAME . Sehen:


@slhck ... das ist ein guter Punkt, aber ich habe gerade eine Videodatei getestet und dabei -vneinfach den Audiostream weggelassen. Ich nehme an ffmpeg eine Möglichkeit zum Erfassen der Differenz haben muss (ich habe gerade eine Datei mit ffprobe, und das Video war Strom 1 statt der üblichen 0 und hatte einige Metadaten: comment : Cover (front))
evilsoup

Dieser spielte schließlich auch den Android Music Player. Thanks
michalzuber 10.11.15

1
Und um das gesamte Verzeichnis (einschließlich Dateinamen mit Leerzeichen) mit dem obigen Befehl zu konvertieren: for i in * .mp4; do ffmpeg -i "$ i" -q: a 0 -map a "$ (Basisname" $ ​​{i / .mp4} "). mp3"; getan;
KingSlayer

Inwiefern unterscheidet sich die resultierende .mp3-Datei vom Vanille-Befehl ffmpeg -i vid.mp4 audio.mp3in der Antwort von @Naga Harish M? Weniger verlustreich?
Frank
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.