Ich muss Audiodateien mit ffmpeg in mp3 konvertieren.
Wenn ich den Befehl als ffmpeg -i audio.ogg -acodec mp3 newfile.mp3
schreibe, erhalte ich die 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 richtig? Kann mir hier jemand helfen?
Keine Ursache,
Ich konvertiere meine Audiodateien in mp2 mit dem Befehl:
ffmpeg -i input.wav -f mp2 output.mp3
Dieser Befehl funktioniert einwandfrei.
Ich weiß, dass dies die Dateien tatsächlich in das mp2-Format konvertiert, aber dann sind die resultierenden Dateigrößen gleich ..
Eine sehr vollständige Liste der ffmpeg-Argumente finden Sie hier:
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
Sie können also diesen Befehl verwenden:
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3
Erklärung der verwendeten Argumente in diesem Beispiel:
-i
- Eingabedatei
-vn
- Deaktivieren Sie Video, um sicherzustellen, dass kein Video enthalten ist, wenn es sich bei der Quelle um eine Videodatei handelt
-ar
- Stellt die Audio-Abtastfrequenz ein. Für Ausgabeströme wird standardmäßig die Frequenz des entsprechenden Eingabestroms eingestellt. Für Eingangsströme ist diese Option nur für Audio-Grabbing-Geräte und Raw-Demuxer sinnvoll und wird den entsprechenden Demuxer-Optionen zugeordnet.
-ac
- Legen Sie die Anzahl der Audiokanäle fest. Für Ausgabeströme ist standardmäßig die Anzahl der eingegebenen Audiokanäle festgelegt. Für Eingangsströme ist diese Option nur für Audio-Grabbing-Geräte und Raw-Demuxer sinnvoll und wird den entsprechenden Demuxer-Optionen zugeordnet. Hier verwendet, um sicherzustellen, dass es Stereo ist (2 Kanäle)
-ab
- scheint anscheinend geändert zu werden, sollte also für die neuere ffmpeg-Version in -b:a 192k
.__ ersetzt werden. Konvertiert die Audio-Bitrate in 192 kbit pro Sekunde
-f
- Erzwingt das Eingabe- oder Ausgabedateiformat. Das Format wird normalerweise für Eingabedateien automatisch erkannt und anhand der Dateierweiterung für Ausgabedateien erraten. Daher ist diese Option in den meisten Fällen nicht erforderlich.
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
Holen Sie sich alle ffmpeg-Konvertierungsformate hier .
Ich musste mein ffmpeg bereinigen 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 Sie:
ffmpeg -i audio.ogg -f mp3 newfile.mp3
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.
for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done
Für Stapelverarbeitungsdateien im Ordner:
for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done
Dieses Skript konvertiert alle "wav" -Dateien in einem Ordner in MP3-Dateien und fügt eine MP3-Erweiterung hinzu
ffmpeg muss installiert sein. (Siehe andere Antworten)
https://trac.ffmpeg.org/wiki/Encode/MP3
VBR-Kodierung:
ffmpeg -vn -ar 44100 -ac 2 -q:a 1 -codec:a libmp3lame output.mp3
Hohe Qualität für Mac OS funktioniert einwandfrei!
ffmpeg -i input.wma -q:a 0 output.mp3
FFmpeg Static Build ausprobieren Link
Dokumentation: https://www.johnvansickle.com/ffmpeg/
Hosten Sie den statischen Build auf Ihrem Server in demselben Verzeichnis
$ffmpeg = dirname(__FILE__).'/ffmpeg';
$command = $ffmpeg.'ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3';
Shell_exec($command);
Wenn Sie einen Ordner und einen Unterordner voller WAV-Dateien haben, die Sie konvertieren möchten, geben 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 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"