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.