Wie man FLAC-Dateien mit flac2all in Linux transkodiert

Transcode Audio Flac2all 00 Featured Image

flac2all ist ein einfaches Dienstprogramm, das es Ihnen ermöglicht, hochwertige FLAC-Dateien in fast jedes moderne Audioformat zu konvertieren. Im Gegensatz zu ffmpeg automatisiert dieses Dienstprogramm den Prozess der Sortierung, Tagging und Kodierung Ihrer FLAC-Audiodateien. flac2all ist einfach zu installieren und zu verwenden. Erfahren Sie, wie Sie dieses äußerst vielseitige Programm nutzen können, das als Frontend für all Ihre Audio-Transkodierungsbedürfnisse fungieren kann.

Inhaltsverzeichnis

  • Warum flac2all verwenden
  • flac2all installieren
  • flac2all zur Transkodierung von Audio verwenden
  • Transkodierung in mehrere Formate
  • Erstellen von benutzerdefinierten Transkodierungsjobs
  • Erstellen eines flac2all-Transkodierungsclusters
  • Einrichten einer Netzwerkfreigabe
  • Starten des flac2all-Clusters
  • Häufig gestellte Fragen

Auch lesen: 4 Möglichkeiten, die Akkulaufzeit Ihres Linux-Laptops zu verlängern

Warum flac2all verwenden

Im Kern ist flac2all sowohl ein Wrapper als auch ein Planungsprogramm. Es nimmt eine Liste von FLAC-Dateien und verwendet verschiedene Codecs, um den Transkodierungsprozess zu warten und zu verwalten.

Ein Vorteil dieses Ansatzes ist, dass flac2all nicht von einem einzelnen Encoder abhängt, was bedeutet, dass Sie das Programm leicht an jedes neue Format anpassen können, das Sie verwenden möchten. Zum Beispiel können Sie den benutzerdefinierten Fraunhofer FDK AAC-Encoder zusammen mit dem normalen AAC installieren.

Transcode Audio Flac2all 04 Aac Custom Format Page

Schließlich bewahrt flac2all auch die Ordnerstruktur Ihrer FLAC-Sammlung, sodass Sie das Verzeichnis Ihres Archivs bei der Verwendung dieses Programms nicht neu erstellen müssen. Diese Funktionen machen flac2all zu einem praktischen Dienstprogramm, wenn Sie eine schnelle und einfache Möglichkeit suchen, Ihre FLAC-Sammlung in ein anderes Format zu rekreieren.

Auch lesen: Die Unterschiede zwischen Su, Sudo Su, Sudo -s und Sudo -i

flac2all installieren

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

sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools

Transcode Audio Flac2all 05 Install Dependencies

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

pip3 install --user flac2all

Dies wird flac2all im Verzeichnis “.local” des aktuellen Benutzers installieren. Wenn Sie sich also auf einem System mit mehreren Benutzern befinden, können andere Benutzer das Programm nicht ausführen.

Transcode Audio Flac2all 06 Install Flac2all Pip

Um flac2all auszuführen, fügen Sie das Verzeichnis “.local” zur PATH-Variable Ihres Geräts hinzu, indem Sie die folgende Codezeile zu Ihrer “.bash_profile”-Datei hinzufügen:

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

Letztlich müssen Sie entweder Ihre aktuelle Sitzung neu starten oder sich abmelden, um die neuen Einstellungen anzuwenden, nachdem Sie flac2all -h ausführen können, um zu bestätigen, dass Sie das Programm ordnungsgemäß installiert haben.

Transcode Audio Flac2all 07 Program Working Help

flac2all zur Transkodierung von Audio verwenden

Der Entwickler von flac2all hat das Programm so einfach wie möglich gestaltet. Beispielsweise sieht die Syntax für die Transkodierung eines FLAC-Verzeichnisses in ein einzelnes Format so aus:

flac2all mp3 -o ./output ./royalty-free
  • Das erste Element nach „flac2all“ hebt das Format hervor, in das Sie transkodieren möchten. Ich konvertiere in diesem Beispiel meinen FLAC-Ordner in MP3.
  • Das zweite Element enthält Optionen für den aktuellen Transkodierungsjob. Hier sagt die Option -o flac2all, dass alle MP3-Dateien im Ordner „output“ abgelegt werden sollen.
  • Schließlich gibt das dritte Element den Quellordner für Ihre FLAC-Dateien an. In meinem Fall ist es mein „royalty-free“-Ordner.

Transcode Audio Flac2all 08 Single Transcode Working

Auch lesen: So passen Sie die Größe von Bildern im Linux-Terminal an und optimieren sie

Transkodierung in mehrere Formate

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

Zum Beispiel kann ich den folgenden Befehl ausführen, um meinen „royalty-free“-Ordner sowohl in MP3 als auch in Opus zu transkodieren:

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

Beachten Sie, dass eine Transkodierung in mehrere Formate länger dauert als eine Transkodierung in ein einzelnes Format, da flac2all jede Datei in Ihrem Verzeichnis für jedes von Ihnen angegebene Format kodiert. In meinem Fall wird die Transkodierung von MP3 und AAC doppelt so lange dauern wie nur die Transkodierung von MP3.

Transcode Audio Flac2all 09 Multi Format Transcode

Erstellen von benutzerdefinierten Transkodierungsjobs

Neben der Erstellung einfacher Transkodierungen ist es möglich, die Funktionsweise der Encoder mit flac2all zu ändern, 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 sagt dem Programm, den LAME MP3-Encoder zu verwenden, um meinen „royalty-free“-Ordner mit einer konstanten Bitrate von 320k zu transkodieren.

Transcode Audio Flac2all 10 Custom Job Single Format Transcode

Sie können auch benutzerdefinierte Jobs für Multi-Format-Transkodierungen erstellen. Zum Beispiel sagt der folgende Befehl flac2all, eine benutzerdefinierte Transkodierung mit MP3 und Opus zu erstellen:

flac2all mp3,opus --opus-options='downmix-mono' --lame-options='b 320' -o ./output ./royalty-free

Transcode Audio Flac2all 11 Custom Job Multi Format Transcode

Erstellen eines flac2all-Transkodierungsclusters

Während Sie flac2all auf einem einzigen Computer verwenden können, ist es auch möglich, das Programm über mehrere Systeme zu verteilen – eine praktische Lösung, um den Transkodierungsprozess 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 von allen Maschinen zugreifen können, da der Masterprozess von flac2all nur seinen Arbeitsclients anweist, vorhandene Daten zu verarbeiten
  • Eine zuverlässige Netzwerkverbindung zwischen dem Masterprozess und seinen Arbeitsclients

Wenn Sie diese Faktoren kennen, konzentriert sich dieses Tutorial auf die Erstellung eines kleinen flac2all-Clusters zwischen zwei Ubuntu 22.04 Maschinen.

Auch lesen: So richten Sie SSH in Linux ein und verwenden es

Einrichten einer Netzwerkfreigabe

Erstellen Sie eine Netzwerkfreigabe, um zu beginnen. Ich werde dafür SSHFS verwenden, da es einfach zu bedienen ist und auf fast allen Linux-Distributionen verfügbar ist.

Zunächst installieren Sie SSHFS auf allen Maschinen, die Sie verwenden möchten:

sudo apt install ssh sshfs

Transcode Audio Flac2all 12 Install Cluster Dependencies

Als Nächstes erstellen Sie den Ordner, in den SSHFS eingehängt wird. Ich werde einen „royalty-free“-Ordner im Home-Verzeichnis meiner Arbeitsmaschine erstellen:

mkdir /home/$USER/royalty-free

Transcode Audio Flac2all 13 Create Sshfs Directory

Jetzt den „royalty-free“-Ordner auf jeder Ihrer Arbeitsmaschinen mit dem folgenden Befehl einhängen:

sshfs -o allow_other,default_permissions [email protected]:/home/$USER/royalty-free /home/$USER/royalty-free

Transcode Audio Flac2all 14 Mount Sshfs Remote

Starten des flac2all-Clusters

Sie können jetzt den Transkodierungscluster starten, indem Sie den Masterprozess ausführen und sowohl die -m als auch die -C-Flags zu flac2all hinzufügen.

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

flac2all lame,aac -m -C --lame-options='b 320' -o /home/$USER/output /home/$USER/royalty-free

Transcode Audio Flac2all 15 Run Master Process

Im Gegensatz zu regulärem flac2all startet das Erstellen eines Masterprozesses nicht die Transkodierungssitzung. Um Dateien zu transkodieren, müssen Sie auch die Arbeitsmaschinen mit dem Masterprozess verbinden, indem Sie den folgenden Befehl auf Ihren Arbeitsmaschinen ausführen:

flac2all_worker 192.168.68.10

Sobald dies erledigt ist, erstellt der Arbeitsclient einen headless-Prozess, der sich mit dem Masterprogramm verbindet. Anschließend beginnt flac2all sofort, sobald es eine Handvoll Arbeitskräfte im Standby-Modus findet.

Transcode Audio Flac2all 16 Run Worker Client

Auch lesen: So laden Sie DaVinci Resolve in Linux herunter und konfigurieren es

Häufig gestellte Fragen

flac2all beendet sich nicht, nachdem es meine Audiodateien verarbeitet hat. Wie behebe ich dieses Problem?

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

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

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

Wenn Sie beispielsweise flac2all opus […] ohne den Opus-Encoder ausführen, erhalten Sie einen „FileNotFound“-Fehler. Sie können das Problem beheben, indem Sie ffmpeg installieren. Dies ist ein Alleskönner-Programm, das auch die meisten der gängigen Audio-Encoder installiert. Führen Sie sudo apt install ffmpeg aus, um ffmpeg zu Ihrem System hinzuzufügen.

Der Arbeitsprozess konnte keine Medien in meinem SSHFS-Ordner finden. Ist flac2all fehlerhaft?

Nein. Dies geschieht normalerweise aufgrund eines Verzeichnisfehlers zwischen dem Masterprozess und seinen Arbeitskräften. Um sicherzustellen, dass der Transkodierungscluster funktioniert, überprüfen Sie, ob die Dateipfade zwischen jeder Maschine gleich sind, indem Sie pwd sowohl in Ihrem Medienordner als auch im Wurzelverzeichnis Ihres SSHFS-Mounts ausführen.

Bildnachweis: Unsplash und Wikimedia Commons Alle Änderungen und Screenshots von Ramces Red