Konvertieren Sie Audiodateien mit ffmpeg in MP3


159

Ich muss Audiodateien mit ffmpeg in MP3 konvertieren.

Wenn ich den Befehl als schreibe ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, erhalte ich folgende Fehlermeldung:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
Input #0, mp3, from 'ZHRE.mp3':
  Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
Output #0, mp3, to 'audio.mp3':
    Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0

Ich habe auch diesen Befehl ausgeführt:

 ffmpeg -formats | grep mp3

und bekam dies als Antwort:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
 DE mp3             MPEG audio layer 3
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra

Ich denke, dass der MP3-Codec nicht installiert ist. Bin ich hier auf dem richtigen Weg?

Antworten:


230

Sie können diesen Befehl verwenden:

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3

Erläuterung der verwendeten Argumente in diesem Beispiel:

  • -i - Eingabedatei

  • -vn - Deaktivieren Sie Video, um sicherzustellen, dass kein Video (einschließlich Album-Titelbild) enthalten ist, wenn die Quelle eine Videodatei wäre

  • -ar- Stellen Sie die Audio-Abtastfrequenz ein. Für Ausgabestreams wird standardmäßig die Frequenz des entsprechenden Eingabestreams festgelegt. Für Eingabestreams ist diese Option nur für Audio-Grabbing-Geräte und Raw-Demuxer sinnvoll und wird den entsprechenden Demuxer-Optionen zugeordnet.

  • -ac- Stellen Sie die Anzahl der Audiokanäle ein. Für Ausgangsströme ist standardmäßig die Anzahl der Eingangs-Audiokanäle eingestellt. Für Eingabestreams ist diese Option nur für Audio-Grabbing-Geräte und Raw-Demuxer sinnvoll und wird den entsprechenden Demuxer-Optionen zugeordnet. Wird hier verwendet, um sicherzustellen, dass es sich um Stereo handelt (2 Kanäle).

  • -b:a - Konvertiert die Audio-Bitrate auf exakte 192 kbit pro Sekunde


5
Dies stellt den Unterschied für die Argumente der ffmpeg-Bitrate fest . -qscale:aist für VBR und -b:aist für CBR. ABR-Codierung ist möglich, wird jedoch an einer anderen Stelle detailliert beschrieben.
— 1934286

2
Ich würde -b: a durch -q: a 2 ersetzen, was VBR ~ 192 anstelle von CBR ergeben würde
— apanloco

@apanloco für mich, das Ändern von -b zu -q metzelt den Ton absolut. Wenn Sie überhaupt keine Optionen verwenden oder die in der Antwort angegebenen Optionen verwenden, klingt dies praktisch genauso wie die Quelle .wav.
— Michael Teter

76

1) WAV zu MP3

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

2) ogg zu mp3

ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3

3) ac3 bis mp3

ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3

4) aac zu mp3

ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

Wie legen Sie die MP3-Bitrate fest?
— Suragch

4
Fügen Sie -b:a 128kfür 128 kbps hinzu.
— Gyan

5
Oder noch kürzer ohne acodec: ffmpeg -i audio.aac audio.mp3
— Timo

Wie konvertiere ich von .mp3 nach .ogg?
— Cristea Victor

18

Keine Ursache,

Ich konvertiere meine Audiodateien mit dem folgenden Befehl in mp2:

ffmpeg -i input.wav -f mp2 output.mp3

Dieser Befehl funktioniert einwandfrei.

Ich weiß, dass dies tatsächlich die Dateien in das MP2-Format konvertiert, aber dann sind die resultierenden Dateigrößen gleich.


2
Erzeugt eine Wave-Datei
— LtWorf

8
Dies führt nicht zu einer MP3-Datei
— m13r

2
Obwohl die Größen gleich sind, können diese MP2-Dateien in einem Webbrowser nicht abgespielt werden , da sie keine MP3- Dateien sind . Nicht einmal mit einem Flash-Player. Der einzige Vorteil, den sie haben, ist, dass sie weniger CPU zum Codieren benötigen, aber die Nachteile sind es nicht wert.
— Daniel F

3
Dies sollte nicht die akzeptierte Antwort sein, da sie die Frage nicht richtig beantwortet.
— Reinierpost

18

Für die Stapelverarbeitung mit Dateien im Ordner mit dem Ziel 190 VBR und der Dateierweiterung = .mp3 anstelle von .ac3.mp3 können Sie den folgenden Code verwenden

Ändern Sie .ac3 in das Quell-Audioformat.

ffmpeg MP3-Einstellungen

for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done

13

Für Stapelverarbeitungsdateien im Ordner:

for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done

Dieses Skript konvertiert alle "WAV" -Dateien im Ordner in MP3-Dateien und fügt die MP3-Erweiterung hinzu

ffmpeg muss installiert sein. (Siehe andere Antworten)


1
Mit -f mp2MP2 wird kein MP3 generiert. Ändern Sie es zu-f mp3
— Gyan

3
Der obige Befehl erstellt Dateien mit Namen wav.mp3. Um Dateien mit der richtigen Dateierweiterung zu erhalten, ändern Sie den Befehl in:, for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%.*}.mp3"; donedh fügen Sie .*danach hinzu i%.
— Suzana

11

Ich musste mein ffmpeg löschen und dann ein anderes von einem ppa installieren:

sudo apt-get purge ffmpeg
sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg 
sudo apt-get update 
sudo apt-get install ffmpeg

Dann konvertieren:

 ffmpeg -i audio.ogg -f mp3 newfile.mp3

4
Dies ist der kurze Weg, aber wenn Sie die Qualität kb pro Sekunde angeben möchten, verwenden Sie -ab 192k
— wrivas

7

Wie hier beschrieben , wird die Eingabe- und Ausgabeerweiterung von erkannt, ffmpegsodass Sie sich keine Gedanken über die Formate machen müssen. Führen Sie einfach diesen Befehl aus:

ffmpeg -i inputFile.ogg outputFile.mp3



2

Hohe Qualität für Mac OS funktioniert perfekt!

ffmpeg -i input.wma -q:a 0 output.mp3


1

Versuchen Sie es mit FFmpeg Static Build Link

Dokumentation: https://www.johnvansickle.com/ffmpeg/

Hosten Sie den statischen Build auf Ihrem Server im selben Verzeichnis

$ffmpeg = dirname(__FILE__).'/ffmpeg';

$command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3';

shell_exec($command);

0

Wenn Sie einen Ordner und einen Unterordner mit WAVs haben, die Sie konvertieren möchten, fügen Sie den folgenden Befehl in eine Datei ein, speichern Sie ihn in einer .bat-Datei im Stammverzeichnis des Ordners, in den Sie konvertieren möchten, und führen Sie dann die bat-Datei aus

for /R %%g in (*.wav) do start /b /wait "" "C:\ffmpeg-4.0.1-win64-static\bin\ffmpeg" -threads 16 -i "%%g" -acodec libmp3lame "%%~dpng.mp3" && del "%%g"
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.