Comment transcoder des fichiers FLAC avec flac2all sur Linux

flac2all est un utilitaire simple qui vous permet de convertir des fichiers FLAC de haute qualité au presque n’importe quel format audio moderne. Contrairement à ffmpeg, cet utilitaire automatise le processus de tri, de balisage et d’encodage de votre audio FLAC. flac2all est facile à installer et à utiliser. Découvrez comment utiliser ce programme très polyvalent qui peut agir comme une interface pour tous vos besoins de transcodage audio.
Table des matières
- Pourquoi utiliser flac2all
- Installer flac2all
- Utiliser flac2all pour transcoder de l’audio
- Transcodage vers plusieurs formats
- Création de travaux de transcodage personnalisés
- Création d’un cluster de transcodage flac2all
- Configuration d’un montage réseau
- Démarrage du cluster flac2all
- Questions fréquemment posées
À lire également : 4 façons d’augmenter la durée de vie de la batterie de votre ordinateur portable Linux
Pourquoi utiliser flac2all
Fondamentalement, flac2all est à la fois un wrapper et un programme de planification. Il prend une liste de fichiers FLAC et utilise divers codecs pour gérer et organiser le processus de transcodage.
Un avantage de cette approche est que flac2all ne dépend d’aucun encodeur unique, ce qui signifie que vous pouvez facilement adapter le programme à tout nouveau format que vous pourriez vouloir utiliser. Par exemple, vous pouvez installer l’encodeur personnalisé Fraunhofer FDK AAC aux côtés du AAC standard.

Enfin, flac2all préserve également la structure de dossiers de votre collection FLAC, vous n’avez donc pas besoin de refaire le répertoire de votre archive lors de l’utilisation de ce programme. Ces fonctionnalités font de flac2all un utilitaire pratique si vous cherchez un moyen rapide et facile de recréer votre collection FLAC dans un format différent.
À lire également : Les différences entre Su, Sudo Su, Sudo -s et Sudo -i
Installer flac2all
Avant d’installer flac2all, il est important d’obtenir toutes ses dépendances afin d’assurer qu’il n’y aura pas de conflits après l’installation :
sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools
La prochaine chose à faire est de télécharger flac2all via pip, un gestionnaire de paquets spécifique à Python que vous pouvez utiliser pour installer des logiciels supplémentaires. Exécutez la commande suivante pour utiliser pip :
pip3 install --user flac2allCela installera flac2all dans le répertoire “.local” de l’utilisateur actuel. Donc, si vous êtes sur un système multi-utilisateurs, d’autres utilisateurs ne pourront pas exécuter le programme.

Pour exécuter flac2all, ajoutez votre répertoire “.local” à la variable PATH de votre machine en ajoutant la ligne de code suivante à votre fichier “.bash_profile” :
PATH=$PATH:/home/$USER/.local/bin/
export PATHEnfin, redémarrez ou déconnectez-vous de votre session actuelle pour appliquer les nouveaux paramètres, après quoi vous pourrez exécuter flac2all -h pour confirmer que vous avez correctement installé le programme.

Utiliser flac2all pour transcoder de l’audio
Le développeur de flac2all a conçu le programme pour être aussi simple que possible. Par exemple, la syntaxe pour transcoder un répertoire FLAC vers un format unique ressemble à ceci :
flac2all mp3 -o ./output ./royalty-free- Le premier élément après “flac2all” indique le format vers lequel vous souhaitez transcoder. Je convertis mon dossier FLAC en MP3 dans cet exemple.
- Le deuxième élément contient des options pour le travail de transcodage en cours. Ici, l’option
-oindique à flac2all d’envoyer les fichiers MP3 dans le dossier “output”. - Enfin, le troisième élément indique le dossier source pour vos fichiers FLAC. Dans mon cas, c’est mon dossier “royalty-free”.

À lire également : Comment redimensionner et optimiser des images depuis le terminal Linux
Transcodage vers plusieurs formats
Vous pouvez également utiliser flac2all pour transcoder des fichiers vers plusieurs formats en parallèle, ce qui peut être utile si vous souhaitez transférer votre archive vers des lecteurs ayant des exigences de format différentes.
Par exemple, je peux exécuter la commande suivante pour transcoder mon dossier “royalty-free” vers MP3 et Opus :
flac2all mp3,opus -o ./output ./royalty-freeNotez qu’un transcodage à plusieurs formats prendra plus de temps qu’un transcodage à un seul format car flac2all encodera chaque fichier de votre répertoire pour chaque format que vous spécifiez. Dans mon cas, transcoder MP3 et AAC prendra deux fois plus de temps que de transcoder uniquement MP3.

Création de travaux de transcodage personnalisés
En plus de créer des transcodages simples, il est possible de personnaliser le comportement des encodeurs avec flac2all, ce qui est particulièrement utile si vous souhaitez que la copie de votre archive ait une qualité audio particulière. Regardez la commande suivante, par exemple.
flac2all mp3 --lame-options='b 320' -o ./output ./royalty-freeCette commande dit au programme d’utiliser l’encodeur MP3 LAME pour transcoder mon dossier “royalty-free” à un débit binaire constant de 320k.

Vous pouvez également créer des travaux personnalisés pour des transcodages multi-formats. Par exemple, la commande suivante indique à flac2all de créer un transcodage personnalisé avec MP3 et Opus :
flac2all mp3,opus --opus-options='downmix-mono' --lame-options='b 320' -o ./output ./royalty-free
Création d’un cluster de transcodage flac2all
Bien que vous puissiez utiliser flac2all sur un seul ordinateur, il est également possible de répartir le programme sur plusieurs systèmes – une solution pratique pour accélérer le processus de transcodage. Assurez-vous d’avoir les ressources suivantes prêtes :
- Deux machines ou plus pouvant se connecter directement
- Un NAS auquel vous pouvez accéder sur toutes les machines, car le processus principal flac2all ne fait qu’instruire ses clients travailleurs à traiter les données existantes
- Une connexion réseau fiable entre le processus principal et ses clients travailleurs
Sachant cela, ce tutoriel se concentrera sur la création d’un petit cluster flac2all entre deux machines Ubuntu 22.04.
À lire également : Comment configurer et utiliser SSH sur Linux
Configuration d’un montage réseau
Créez un montage de stockage réseau pour commencer. Pour cela, je vais utiliser SSHFS puisqu’il est facile à utiliser et disponible sur presque toutes les distributions Linux.
Pour commencer, installez SSHFS sur toutes les machines que vous souhaitez utiliser :
sudo apt install ssh sshfs
Ensuite, créez le dossier dans lequel SSHFS sera monté. Je vais créer un dossier “royalty-free” dans le répertoire personnel de ma machine de travail :
mkdir /home/$USER/royalty-free
Maintenant, montez le répertoire “royalty-free” sur chacune de vos machines de travail avec la commande suivante :
sshfs -o allow_other,default_permissions [email protected]:/home/$USER/royalty-free /home/$USER/royalty-free
Démarrage du cluster flac2all
Vous pouvez maintenant démarrer le cluster de transcodage en exécutant le processus principal et en ajoutant à flac2all les drapeaux -m et -C.
Par exemple, exécutez cette commande sur votre machine principale pour créer un processus principal :
flac2all lame,aac -m -C --lame-options='b 320' -o /home/$USER/output /home/$USER/royalty-free
Contrairement au flac2all régulier, la création d’un processus principal ne démarrera pas la session de transcodage. Pour transcoder des fichiers, vous devez également connecter les travailleurs au processus principal en exécutant la commande suivante sur vos machines de travail :
flac2all_worker 192.168.68.10Une fois cela fait, le client de travail créera un processus sans tête qui se connecte au programme principal. Après cela, flac2all commencera immédiatement dès qu’il trouvera quelques travailleurs en attente.

À lire également : Comment télécharger et configurer DaVinci Resolve sur Linux
Questions fréquemment posées
flac2all ne se termine pas après le traitement de mes fichiers audio. Comment résoudre ce problème ?
Cela se produit chaque fois qu’il y a un conflit entre flac2all et ses dépendances Python. Corrigez-le en mettant à jour votre installation pour refléter tout changement entre flac2all et ses dépendances. Exécutez pip install --user --upgrade flac2all pour mettre à jour flac2all.
flac2all génère une erreur “FileNotFound”. Mon installation est-elle cassée ?
Non ! Ce problème se produit lorsque le programme ne parvient pas à détecter l’encodeur pour le format vers lequel vous souhaitez transcoder.
Par exemple, exécuter flac2all opus […] sans l’encodeur Opus entraînera une erreur “FileNotFound”. Vous pouvez résoudre le problème en installant ffmpeg. C’est un programme polyvalent qui installera également la plupart des encodeurs audio courants. Exécutez sudo apt install ffmpeg pour ajouter ffmpeg à votre système.
Le processus de travail a échoué à trouver des médias dans mon montage SSHFS. flac2all est-il cassé ?
Non. Cela se produit généralement en raison d’un décalage de répertoire entre le processus principal et ses travailleurs. Pour vous assurer que le cluster de transcodage fonctionne, vérifiez que les chemins de fichier entre chaque machine sont les mêmes en exécutant pwd à la fois sur votre dossier multimédia et à la racine de votre montage SSHFS.
Crédit image : Unsplash et Wikimedia Commons Toutes les modifications et captures d’écran par Ramces Red