it-swarm.com.de

Konvertieren Sie .flac in .mp3 mit ffmpeg und behalten Sie alle Metadaten

Wie kann ich .flac in .mp3 mit ffmpeg konvertieren und alle Metadaten beibehalten (dh Vorbis-Kommentar in .flac-Dateien in ID3v2-Metadaten von .mp3 konvertieren)?

59
Vito Gentile

Mit dem folgenden Befehl wird eine hohe Qualität für .mp3 (320 kbps) beibehalten. Metadaten aus der .flac-Datei werden in das ID3v2-Format konvertiert, das in .mp3-Dateien enthalten sein kann:

ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3
110
Vito Gentile

Perfekte Antwort oben. Ich verwende es zusammen mit find, um alle FLAC-Dateien in einem Teilbaum zu iTunes mit diesem Befehl hinzuzufügen

find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;

Um die resultierenden Dateien automatisch zu iTunes hinzuzufügen, rufen Sie das iTunes-Importverzeichnis mit auf

find ~/Music/ -name "Automatically Add*"

ergebnis, z.B. 

/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized

Dann laufen Sie z.

find . -name "*.mp3" -exec mv {} "/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized/" \;

Um alle konvertierten Titel automatisch zu iTunes hinzuzufügen.

37
user2707001

Wenn Sie etwas Platz sparen möchten, versuchen Sie die Empfehlung von hydrogenaud.io :

Sehr hohe Qualität: HiFi, zu Hause oder leises Hören mit der besten Dateigröße -V0 (~245 kbps), -V1 (~225 kbps), -V2 (~190 kbps) oder -V3 (~175 kbps) werden empfohlen . Diese VBR-Einstellungen führen normalerweise zu transparenten Ergebnissen. Es gibt zwar hörbare Unterschiede zwischen diesen Voreinstellungen, diese sind jedoch selten.

Quelle: http://wiki.hydrogenaud.io/index.php?title=LAME

Wenn Sie diese Option in ffmpeg verwenden möchten, sollten Sie den Alias ​​-q:a 0 verwenden.

Kontrollieren Sie die Qualität mit -qscale:a (oder dem Alias ​​-q:a). Die Werte sind encoderspezifisch. Für libmp3lame ist der Bereich 0-9, wobei ein niedrigerer Wert von höherer Qualität ist. 0-3 führt in der Regel zu transparenten Ergebnissen, 4 (Standardeinstellung) sollte nahezu perzeptiv sein und 6 führt zu einer "akzeptablen" Qualität. Die Option -qscale:a ist der Option -V im eigenständigen Lame-Befehlszeilen-Schnittstellentool zugeordnet.

Quelle: https://trac.ffmpeg.org/wiki/Encode/MP3

Wenn Sie ID3v1-Metatags verwenden möchten, müssen Sie den Parameter -write_id3v1 1 hinzufügen.

Mein letzter Befehl lautet also:

ffmpeg.exe -y -i input.flac -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 output.mp3
9
wiktor

Ich habe den folgenden Befehl zum Konvertieren der infile.flac-Datei in outfile.mp3 getestet:

ffmpeg  -i infile.flac  -q:a 0  outfile.mp3

Ab Ubuntu 16.04 scheint der obige Befehl die meisten Metadaten zu kopieren.

-q:a 0 weist ffmpeg an, VBR mit der höchsten Qualität zu verwenden.

ffmpeg transcodierte jedoch mein Albumcover von jpeg in png, wodurch die Covergrafik vergrößert wurde.

Stream mapping:
  Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
  Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))

(Ich denke, die obige Konvertierung macht Sinn wenn man bedenkt, wie ffmpeg funktioniert .)

Nach einigem Graben fand ich die -c:v copy-Option, die angibt, dass der Videostream kopiert und nicht transkodiert werden soll. Der vollständige Befehl lautet:

ffmpeg  -i infile.flac  -c:v copy  -q:a 0  outfile.mp3

Der obige Befehl führt zu:

Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
7
mpb

Um alle flac-Dateien in verschachtelten Ordnern rekursiv in mp3 zu konvertieren, habe ich diesen Befehl verwendet:

find '~/Music/' -iname '*.flac' -exec bash -c 'D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/mp3/"; ffmpeg -i "{}" -ab 320k -map_metadata 0 -id3v2_version 3 -acodec libmp3lame "$D/mp3/${B%.*}.mp3"' \;

Es erstellt einen Ordner mit dem Namen "mp3" innerhalb des Ordners mit flac-Dateien und speichert im mp3-Ordner relative mp3-Dateien mit einer Bitrate von 320 kbps, ohne dass die alte Dateierweiterung im Namen bleibt.

3
Riccardo Volpe

Ich weiß, dass dies nicht gefragt wurde, aber in Anbetracht dessen, dass dies der Grund dafür ist (zumindest wollte ich das tun), weil die Musik in Apple iTunes importiert werden kann, das FLAC nicht unterstützt. In einem solchen Fall ist es sinnvoller, FLAC in das verlustfreie Apple-Format m4a zu konvertieren. Ich habe diesen Befehl verwendet, um alle Dateien im aktuellen Ordner zu konvertieren und dabei ähnliche Dateigrößen beizubehalten.

find . -name "*.flac" -exec ffmpeg -i {} -map_metadata 0 -acodec alac {}.m4a \;

1
Dhiraj Gupta

Einzeiler, um alle .flac-Dateien in einem einzigen Verzeichnis in .mp3 zu konvertieren, wobei most Metadaten erhalten bleiben:

for file in *.flac; do ffmpeg -i $file -q:a 0 ${file:r}.mp3; done

(Hinweis: ${file:r} entfernt die Erweiterung des angegebenen Dateipfads)

 ffmpeg: flac to mp3

1
woudsma

Dieses flac2mp3.sh script verwendet ffmpeg, um eine Ordnerstruktur von FLAC-Dateien in eine andere Ordnerstruktur von MP3-Dateien zu konvertieren. Cover Art ist enthalten, wenn vorhanden. Sie können eine Variable CORES festlegen, um Hintergrundjobs zu erstellen, um mehrere Dateien gleichzeitig zu konvertieren.

0
Rick O'Sullivan