Como Transcodificar Arquivos FLAC Com flac2all no Linux

flac2all é uma utilidade simples que permite converter arquivos FLAC de alta qualidade para quase qualquer formato de áudio moderno. Ao contrário do ffmpeg, essa utilidade automatiza o processo de organização, etiquetagem e codificação do seu áudio FLAC. flac2all é fácil de instalar e usar. Aprenda a usar este programa altamente versátil que pode atuar como uma interface para todas as suas necessidades de transcodificação de áudio.
Índice
- Por Que Usar flac2all
- Instalando flac2all
- Usando flac2all para Transcodificar Áudio
- Transcodificando para Vários Formatos
- Criando Tarefas de Transcodificação Personalizadas
- Criando um Cluster de Transcodificação flac2all
- Configurando um Montagem de Rede
- Iniciando o Cluster flac2all
- Perguntas Frequentes
Leia também: 4 Maneiras de Aumentar a Vida Útil da Bateria do Seu Laptop Linux
Por Que Usar flac2all
Em sua essência, flac2all é tanto uma interface quanto um programa de agendamento. Ele pega uma lista de arquivos FLAC e usa vários codecs para enfileirar e gerenciar o processo de transcodificação.
Uma vantagem dessa abordagem é que flac2all não depende de um único codificador, o que significa que você pode facilmente adaptar o programa a qualquer novo formato que desejar usar. Por exemplo, você pode instalar o codificador Fraunhofer FDK AAC personalizado ao lado do AAC regular.

Por fim, flac2all também preserva a estrutura de pastas da sua coleção FLAC, então você não precisa refazer o diretório do seu arquivo enquanto usa este programa. Essas características tornam o flac2all uma ferramenta útil se você está procurando uma maneira rápida e fácil de recriar sua coleção FLAC em um formato diferente.
Leia também: As Diferenças entre Su, Sudo Su, Sudo -s e Sudo -i
Instalando flac2all
Antes de instalar o flac2all, é importante obter todas as suas dependências para garantir que não haverá conflitos após a instalação:
sudo apt install python3 flac python3-pip python3-zmq python3-notcurses lame opus-tools
A próxima coisa a fazer é baixar flac2all através do pip, um gerenciador de pacotes específico do Python que você pode usar para instalar software adicional. Execute o seguinte comando para usar o pip:
pip3 install--user flac2allIsso instalará flac2all no diretório “.local” do usuário atual. Assim, se você estiver em um sistema com múltiplos usuários, outros usuários não poderão executar o programa.

Para executar flac2all, inclua seu diretório “.local” na variável PATH da sua máquina adicionando a seguinte linha de código ao seu arquivo “.bash_profile”:
PATH=$PATH:/home/$USER/.local/bin/
export PATHPor fim, reinicie ou faça logout da sua sessão atual para aplicar as novas configurações, após o que você pode executar flac2all -h para confirmar que você instalou corretamente o programa.

Usando flac2all para Transcodificar Áudio
O desenvolvedor do flac2all projetou o programa para ser o mais simples possível. Por exemplo, a sintaxe para transcodificar um diretório FLAC para um único formato é assim:
flac2all mp3 -o ./output ./royalty-free- O primeiro elemento após “flac2all” destaca o formato para o qual você deseja transcodificar. Estou convertendo minha pasta FLAC para MP3 neste exemplo.
- O segundo elemento contém opções para o trabalho de transcodificação atual. Aqui, a opção
-oinforma ao flac2all para enviar quaisquer arquivos MP3 para a pasta “output”. - Por fim, o terceiro elemento indica a pasta de origem para seus arquivos FLAC. No meu caso, é minha pasta “royalty-free”.

Leia também: Como Redimensionar e Otimizar Imagens A Partir do Terminal Linux
Transcodificando para Vários Formatos
Você também pode usar flac2all para transcodificar arquivos para vários formatos em paralelo, o que pode ser útil se você quiser transferir seu arquivo para players com diferentes requisitos de formato.
Por exemplo, posso executar o seguinte comando para transcodificar minha pasta “royalty-free” tanto para MP3 quanto para Opus:
flac2all mp3,opus -o ./output ./royalty-freeNote que uma transcodificação em múltiplos formatos levará mais tempo do que uma transcodificação em um único formato, pois flac2all codificará cada arquivo em seu diretório para cada formato que você especificar. No meu caso, transcodificar MP3 e AAC levará o dobro do tempo que apenas transcodificar MP3.

Criando Tarefas de Transcodificação Personalizadas
Além de criar transcodificações simples, é possível ajustar como os codificadores se comportam com flac2all, o que é especialmente útil se você quer que a cópia do seu arquivo tenha uma certa qualidade de áudio. Veja o seguinte comando, por exemplo.
flac2all mp3 --lame-options='b 320'-o ./output ./royalty-freeEsse comando informa ao programa para usar o codificador LAME MP3 para transcodificar minha pasta “royalty-free” a uma taxa de bits constante de 320k.

Você também pode criar tarefas personalizadas para transcodificações em múltiplos formatos. Por exemplo, o seguinte comando informa ao flac2all para criar uma transcodificação personalizada com MP3 e Opus:
flac2all mp3,opus --opus-options='downmix-mono'--lame-options='b 320'-o ./output ./royalty-free
Criando um Cluster de Transcodificação flac2all
Embora você possa usar flac2all em um único computador, também é possível espalhar o programa por múltiplos sistemas - uma solução prática para acelerar o processo de transcodificação. Certifique-se de que você tenha os seguintes recursos prontos:
- Duas ou mais máquinas que podem se conectar diretamente
- Um NAS que você pode acessar em todas as máquinas, pois o processo mestre flac2all apenas instrui seus clientes trabalhadores a processar os dados existentes
- Uma conexão de rede confiável entre o processo mestre e seus clientes trabalhadores
Sabendo esses fatores, este tutorial se concentrará na criação de um pequeno cluster flac2all entre duas máquinas Ubuntu 22.04.
Leia também: Como Configurar e Usar SSH no Linux
Configurando um Montagem de Rede
Crie um montagem de armazenamento de rede para começar. Para isso, eu vou usar o SSHFS, uma vez que é fácil de usar e está disponível na maioria das distribuições Linux.
Para começar, instale o SSHFS em todas as máquinas que você deseja usar:
sudo apt installsshsshfs
Em seguida, crie a pasta à qual o SSHFS será montado. Eu vou criar uma pasta “royalty-free” no diretório pessoal da minha máquina trabalhadora:
mkdir/home/$USER/royalty-free
Agora monte o diretório “royalty-free” em cada uma de suas máquinas de trabalho com o seguinte comando:
sshfs-o allow_other,default_permissions [email protected]:/home/$USER/royalty-free /home/$USER/royalty-free
Iniciando o Cluster flac2all
Você pode agora iniciar o cluster de transcodificação executando o processo mestre e adicionando as flags -m e -C ao flac2all.
Por exemplo, execute este comando na sua máquina principal para criar um processo mestre:
flac2all lame,aac -m-C--lame-options='b 320'-o/home/$USER/output /home/$USER/royalty-free
Ao contrário do flac2all regular, criar um processo mestre não iniciará a sessão de transcodificação. Para transcodificar arquivos, você também precisa conectar os trabalhadores ao processo mestre executando o seguinte comando nas suas máquinas trabalhadoras:
flac2all_worker 192.168.68.10Depois de feito isso, o cliente trabalhador criará um processo headless que se conecta ao programa mestre. Depois disso, flac2all começará imediatamente assim que encontrar um bom número de trabalhadores aguardando.

Leia também: Como Baixar e Configurar DaVinci Resolve no Linux
Perguntas Frequentes
flac2all não termina após processar meus arquivos de áudio. Como posso corrigir esse problema?
Isso acontece sempre que há um conflito entre flac2all e suas dependências do Python. Corrija isso atualizando sua instalação para refletir quaisquer mudanças entre flac2all e suas dependências. Execute pip install --user --upgrade flac2all para atualizar flac2all.
flac2all está apresentando um erro “FileNotFound”. Minha instalação está com problemas?
Não! Esse problema ocorre quando o programa não consegue detectar o codificador para o formato para o qual você deseja transcodificar.
Por exemplo, executar flac2all opus […] sem o codificador Opus resultará em um erro “FileNotFound”. Você pode corrigir o problema instalando o ffmpeg. Este é um programa abrangente que também instalará a maioria dos codificadores de áudio comuns. Execute sudo apt install ffmpeg para adicionar o ffmpeg ao seu sistema.
O processo trabalhador não conseguiu encontrar nenhum mídia na minha montagem SSHFS. O flac2all está quebrado?
Não. Isso geralmente acontece devido a uma incompatibilidade de diretórios entre o processo mestre e seus trabalhadores. Para garantir que o cluster de transcodificação funcione, verifique se os caminhos dos arquivos entre cada máquina são os mesmos executando pwd tanto na sua pasta de mídia quanto na raiz da sua montagem SSHFS.
Créditos da imagem: Unsplash e Wikimedia Commons Todas as alterações e capturas de tela por Ramces Red