So transkodieren Sie FLAC-Dateien mit flac2all in Linux 1

So transkodieren Sie FLAC-Dateien mit flac2all in Linux

flac2all ist ein einfaches Dienstprogramm, mit dem Sie hochwertige FLAC-Dateien in fast jedes moderne Audioformat konvertieren können. Im Gegensatz zu ffmpeg automatisiert dieses Dienstprogramm den Prozess des Sortierens, Markierens und Codierens Ihres FLAC-Audios. flac2all ist einfach zu installieren und zu verwenden. Erfahren Sie, wie Sie dieses äußerst vielseitige Programm verwenden, das als Frontend für alle Ihre Audiotranscodierungsanforderungen fungieren kann.

Warum flac2all verwenden

Im Kern, flac2all ist sowohl ein Wrapper als auch ein Scheduling-Programm. Es nimmt eine Liste von FLAC-Dateien und verwendet verschiedene Codecs, um den Transcodierungsprozess in die Warteschlange zu stellen und zu verwalten.

Ein Vorteil dieses Ansatzes besteht darin, dass flac2all nicht von einem einzigen Encoder abhängig ist, was bedeutet, dass Sie das Programm problemlos an jedes neue Format anpassen können, das Sie möglicherweise verwenden möchten. Sie können beispielsweise die benutzerdefinierte Datei installieren Fraunhofer FDK AAC-Encoder neben normaler unterstützter Kommunikation.

Schließlich behält flac2all auch die Ordnerstruktur Ihrer FLAC-Sammlung bei, sodass Sie das Verzeichnis Ihres Archivs nicht neu erstellen müssen, während Sie dieses Programm verwenden. Diese Funktionen machen flac2all zu einem praktischen Dienstprogramm, wenn Sie nach einer schnellen und einfachen Möglichkeit suchen, Ihre FLAC-Sammlung in einem anderen Format neu zu erstellen.

flac2all installieren

Bevor Sie flac2all installieren, ist es wichtig, alle seine Abhängigkeiten zu erhalten, um sicherzustellen, dass es nach der Installation keine Konflikte gibt:

sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools
Transkodieren Sie Audio Flac2all 05 Installieren Sie Abhängigkeiten

Als nächstes müssen Sie flac2all über pip herunterladen, einen Python-spezifischen Paketmanager, mit dem Sie zusätzliche Software installieren können. Führen Sie den folgenden Befehl aus, um Pip zu verwenden:

pip3 install --user flac2all

Dadurch wird flac2all im „.local“-Verzeichnis des aktuellen Benutzers installiert. Wenn Sie sich also auf einem Mehrbenutzersystem befinden, können andere Benutzer das Programm nicht ausführen.

Transkodieren Sie Audio Flac2all 06 Installieren Sie Flac2all Pip

Um flac2all auszuführen, schließen Sie Ihr „.local“-Verzeichnis in die PATH-Variable Ihres Computers ein, indem Sie die folgende Codezeile zu Ihrer „.bash_profile“-Datei hinzufügen:

PATH=$PATH:/home/$USER/.local/bin/
export PATH

Starten Sie zuletzt Ihre aktuelle Sitzung neu oder melden Sie sich von ihr ab, um die neuen Einstellungen zu übernehmen. Danach können Sie sie ausführen flac2all -h um zu bestätigen, dass Sie das Programm ordnungsgemäß installiert haben.

Transkodieren Sie Audio Flac2all 07 Programmarbeitshilfe

Verwenden von flac2all zum Transkodieren von Audio

Die Entwickler von flac2all haben das Programm so einfach wie möglich gestaltet. Die Syntax zum Transkodieren eines FLAC-Verzeichnisses in ein einzelnes Format sieht beispielsweise so aus:

flac2all mp3 -o ./output ./royalty-free
  • Das erste Element nach „flac2all“ hebt das Format hervor, in das Sie umcodieren möchten. In diesem Beispiel konvertiere ich meinen FLAC-Ordner in MP3.
  • Das zweite Element enthält Optionen für den aktuellen Transcodierungsauftrag. Hier die -o Die Option weist flac2all an, alle MP3-Dateien an den „output“-Ordner zu senden.
  • Schließlich gibt das dritte Element den Quellordner für Ihre FLAC-Dateien an. In meinem Fall ist es mein „lizenzgebührenfreier“ Ordner.
Audio transkodieren Flac2all 08 Einzelnes Transkodieren funktioniert

Transcodierung in mehrere Formate

Sie können flac2all auch verwenden, um Dateien parallel in mehrere Formate zu transcodieren, was nützlich sein kann, wenn Sie Ihr Archiv auf Player mit unterschiedlichen Formatanforderungen übertragen möchten.

Zum Beispiel kann ich den folgenden Befehl ausführen, um meinen „lizenzgebührenfreien“ Ordner sowohl in MP3 als auch in Opus zu transcodieren:

flac2all mp3,opus -o ./output ./royalty-free

Beachten Sie, dass eine Transcodierung mit mehreren Formaten länger dauert als eine Transcodierung mit einem einzelnen Format, da flac2all jede Datei in Ihrem Verzeichnis für jedes von Ihnen angegebene Format codiert. In meinem Fall dauert das Transkodieren von MP3 und AAC doppelt so lange wie das reine Transkodieren von MP3.

Audio transkodieren Flac2all 09 Multiformat-Transkodierung

Erstellen von benutzerdefinierten Transcodierungsaufträgen

Abgesehen von der Erstellung einfacher Transcodes ist es möglich, das Verhalten der Encoder mit flac2all zu optimieren, was besonders hilfreich ist, wenn Sie möchten, dass die Kopie Ihres Archivs eine bestimmte Audioqualität hat. Sehen Sie sich zum Beispiel den folgenden Befehl an.

flac2all mp3 --lame-options='b 320' -o ./output ./royalty-free

Dieser Befehl weist das Programm an, den LAME MP3-Encoder zu verwenden, um meinen „lizenzgebührenfreien“ Ordner mit einer konstanten Bitrate von 320k zu transcodieren.

Transcodieren von Audio Flac2all 10 Benutzerdefinierter Job Einzelformat-Transcodierung

Sie können auch benutzerdefinierte Aufträge für Transcodierungen in mehreren Formaten erstellen. Der folgende Befehl weist flac2all beispielsweise an, eine benutzerdefinierte Transcodierung mit MP3 und Opus zu erstellen:

flac2all mp3,opus --opus-options='downmix-mono' --lame-options='b 320' -o ./output ./royalty-free
Transkodieren Sie Audio Flac2all 11 Benutzerdefinierte Job-Multi-Format-Transkodierung

Erstellen eines flac2all-Transcode-Clusters

Während Sie flac2all auf einem einzelnen Computer verwenden können, ist es auch möglich, das Programm auf mehrere Systeme zu verteilen – eine praktische Lösung, um den Transcodierungsprozess zu beschleunigen. Stellen Sie sicher, dass Sie die folgenden Ressourcen bereit haben:

  • Zwei oder mehr Maschinen, die direkt miteinander verbunden werden können
  • Ein NAS, auf das Sie über alle Maschinen zugreifen können, da der Master-Prozess flac2all nur seine Worker-Clients anweist, vorhandene Daten zu verarbeiten
  • Eine zuverlässige Netzwerkverbindung zwischen dem Master-Prozess und seinen Worker-Clients

In Kenntnis dieser Faktoren konzentriert sich dieses Tutorial auf die Erstellung eines kleinen flac2all-Clusters zwischen zwei Ubuntu 22.04-Rechnern.

Einrichten eines Netzwerkmounts

Erstellen Sie zunächst eine Netzwerkspeichereinbindung. Dafür werde ich SSHFS verwenden, da es einfach zu bedienen und für fast alle Linux-Distributionen verfügbar ist.

Installieren Sie zunächst SSHFS auf allen Computern, die Sie verwenden möchten:

sudo apt install ssh sshfs
Transkodieren Sie Audio Flac2all 12 Installieren Sie Cluster-Abhängigkeiten

Erstellen Sie als Nächstes den Ordner, in dem SSHFS gemountet wird. Ich werde einen „lizenzgebührenfreien“ Ordner im Home-Verzeichnis meines Arbeitscomputers erstellen:

mkdir /home/$USER/royalty-free
Audio transkodieren Flac2all 13 Sshfs-Verzeichnis erstellen

Hängen Sie nun das „Royalty-Free“-Verzeichnis mit dem folgenden Befehl auf jedem Ihrer Arbeitscomputer ein:

sshfs -o allow_other,default_permissions $USER@192.168.68.10:/home/$USER/royalty-free /home/$USER/royalty-free
Audio transkodieren Flac2all 14 Sshfs-Fernbedienung montieren

Starten des flac2all-Clusters

Sie können jetzt den Transcoding-Cluster starten, indem Sie den Master-Prozess ausführen und beide hinzufügen -m und -C Flaggen an flac2all.

Führen Sie beispielsweise diesen Befehl auf Ihrem Hauptcomputer aus, um einen Masterprozess zu erstellen:

flac2all lame,aac -m -C --lame-options='b 320' -o /home/$USER/output /home/$USER/royalty-free
Transkodieren Sie Audio Flac2all 15 Führen Sie den Master-Prozess aus

Im Gegensatz zum regulären flac2all wird beim Erstellen eines Master-Prozesses die Transcodierungssitzung nicht gestartet. Um Dateien zu transcodieren, müssen Sie auch die Worker mit dem Master-Prozess verbinden, indem Sie den folgenden Befehl auf Ihren Worker-Computern ausführen:

flac2all_worker 192.168.68.10

Sobald dies erledigt ist, erstellt der Worker-Client einen Headless-Prozess, der eine Verbindung zum Master-Programm herstellt. Danach startet flac2all sofort, sobald es eine Handvoll Arbeiter in Bereitschaft findet.

Transcodieren Sie Audio Flac2all 16 Führen Sie den Worker-Client aus

Häufig gestellte Fragen

flac2all wird nach der Verarbeitung meiner Audiodateien nicht beendet. Wie behebe ich dieses Problem?

Dies geschieht immer dann, wenn es einen Konflikt mit flac2all und seinen Python-Abhängigkeiten gibt. Beheben Sie es, indem Sie Ihre Installation aktualisieren, um alle Änderungen zwischen flac2all und seinen Abhängigkeiten widerzuspiegeln. Laufen pip install --user --upgrade flac2all um flac2all zu aktualisieren.

flac2all gibt einen „FileNotFound“-Fehler aus. Ist meine Installation defekt?

Nein! Dieses Problem tritt auf, wenn das Programm den Encoder für das Format, in das Sie umcodieren möchten, nicht erkennt.

Laufen zum Beispiel flac2all opus […] ohne den Opus-Encoder führt zu einem „FileNotFound“-Fehler. Sie können das Problem beheben, indem Sie ffmpeg installieren. Dies ist ein umfassendes Programm, das auch die meisten gängigen Audio-Encoder installiert. Laufen sudo apt install ffmpeg um ffmpeg zu Ihrem System hinzuzufügen.

Der Arbeitsprozess konnte keine Medien in meinem SSHFS-Mount finden. Ist flac2all kaputt?

Nein. Dies geschieht normalerweise aufgrund eines Verzeichniskonflikts zwischen dem Masterprozess und seinen Workern. Um sicherzustellen, dass der Transcode-Cluster funktioniert, überprüfen Sie, ob die Dateipfade zwischen den einzelnen Computern gleich sind, indem Sie ausführen pwd sowohl in Ihrem Medienordner als auch im Stammverzeichnis Ihres SSHFS-Mounts.

Unterstützen Sie unsere Arbeit ❤️

Wenn Ihnen dieser Artikel gefallen hat, können Sie uns mit einem Trinkgeld unterstützen, damit wir weiterhin großartige Inhalte veröffentlichen können.

Sichere Zahlung mit PayPal