In den letzten Wochen bin ich von einem ziemlich praktischen Ansatz zur .flac -> .mp3-Transcodierung zu einem Ansatz übergegangen, der weitaus mehr "Set & Forget" ist.
Der erste Schritt wurde unter Verwendung eines GUI - Frontend (Audacity mit LAME Plug-in) und stattdessen das Verfahren zu stoppen I skizzierte hier .
Der zweite Schritt bestand darin, ein Bash-Shell-Skript zu finden, mit dem diese Befehlsschleife rekursiv arbeiten kann, sodass Verzeichnisse mit vielen Unterverzeichnissen, die FLAC-Dateien enthalten, in einem einfachen Schritt transkodiert werden können. Diese Antwort wurde von einem Benutzer auf askubuntu.com bereitgestellt.
Jetzt möchte ich lernen, wie man Dinge weiter verfeinert, damit die ID3-Tag-Informationen erhalten bleiben. Die Methoden, die mit den obigen ID3-Tag-Daten verknüpft sind, lassen das absolute Minimum übrig (dh es bleibt nur das Titelfeld übrig).
Kann mir jemand beibringen, wie man ein solches Shell-Skript schreibt?
Das Shell-Skript wurde folgendermaßen aktualisiert:
#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"
Wenn Sie find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;
in ~ / Desktop / stack arbeiten, wird die folgende Ausgabe ausgegeben:
01 - Amon Tobin - Chomp Samba.flac: done
LAME 3.98.4 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding <stdin> to ./01 - Amon Tobin - Chomp Samba.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
Parsing ./01 - Amon Tobin - Chomp Samba.flac: done. Copying to ./01 - Amon Tobin - Chomp Samba.mp3: done
id3info
für die ursprüngliche .flac und die resultierende .mp3 ergibt jeweils:
*** Tag information for 01 - Amon Tobin - Chomp Samba.flac
(dh nichts);
*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz
Die .flac hat definitiv Tag-Informationen. Ich kann dies überprüfen, indem ich EasyTAG öffne. EasyTAG bezeichnet dies als "FLAC Vorbis Tag", aber als "ID3 Tag" für die MP3-Datei. Ist das das Problem?
ffmpeg
?Antworten:
quelle
Wie man mp3fs benutzt, um flac in mp3 zu massenkodieren
Anstatt ein Programm zum Konvertieren von flac-Dateien in MP3 zu verwenden, können Sie mp3fs verwenden, um sie als virtuelle MP3s darzustellen, und ein Programm, das Kopieraufträge in die Warteschlange stellen kann. Es funktioniert wunderbar gut für mich.
MP3fs und Ultracopier herunterladen und installieren:
Erstellen Sie ein Paar flac- und mp3-Verzeichnisse für jedes mp3fs, das Sie ausführen möchten. Ich habe eine Dual-Core-CPU, also laufe ich zwei. Wenn Sie die flac-Verzeichnisse auf der Partition behalten, auf der sich Ihre flac-Dateien befinden, können Sie diese schnell verschieben. Diese Partition heißt auf meinem System "Speicher".
Sie können die Verzeichnisse über die Befehlszeile oder durch Hinzufügen zu einfügen
/etc/fstab
. Sie können auch die Bitrate und den Codierungsalgorithmus der virtuellen MP3s beim Mounten konfigurieren. Ich möchte MP3s mit einer konstanten Bitrate von 320 kbps, und Lame braucht möglicherweise die ganze Zeit, um die bestmöglichen MP3s zu produzieren.Auf der Kommandozeile:
Wenn sich die Sicherung beschwert, wie
Kommentieren Sie dann die
user_allow_other
Option aus/etc/fuse.conf
und / oder machen Sie sie mit lesbarOder von
/etc/fstab
:Nachdem Sie die Verzeichnisse hinzugefügt haben
/etc/fstab
, können Sie sie mithilfe von bereitstellenGetan! Starten Sie den Ultracopier. Es wird ein Indikatorsymbol in Ihrem Gnome-Panel oder was auch immer Sie verwenden, platzieren. Klicken Sie darauf und wählen Sie Kopie hinzufügen. Ich habe das zweimal gemacht, um zwei Kerne zu verwenden. Verwenden Sie Ihren Dateibrowser, um einige Flacs in flac_1 zu verschieben. Navigieren Sie zum Verzeichnis mp3_1 und ziehen Sie Ihre MP3s in eines der Ultracopier-Fenster, um eine Kopierwarteschlange zu starten. Ultracopier fragt nach dem Ziel der Dateien. Sie haben jetzt einen Kern damit beschäftigt, eine Reihe von Flacs in MP3 zu codieren.
Um den anderen Kern zu verwenden, verschieben Sie flac-Dateien nach flac_2 und ziehen Sie die MP3s von mp3_2 in das zweite Ultracopier-Fenster.
Update: Anstelle von Ultracopier verwende ich jetzt MiniCopier, es ist etwas einfacher zu bedienen. Siehe Kommentare unten.
quelle
id3cp
kann nicht funktionieren, da FLAC ID3 nicht verwendet; Stattdessen werden Vorbis-Tags verwendet.avconv
hat die Option, Tags durch Konvertierung zu pflegen. Es ist etwas launisch, sein Wert hängt von der Kombination der Codecs ab , aber in Ihrem Fall funktioniert es so (Version 9.16-6):Das Anwenden aller FLAC-Dateien in einem Ordner (rekursiv) ist so einfach: (using
bash
)Beachten Sie, dass
avconv
lame automatisch verwendet wird. Es gibt weitere Optionen zur Qualitätskontrolle und so weiter. Überprüfen Sieman avconv
auf Details.quelle