Cómo Transcodificar Archivos FLAC Con flac2all en Linux

Transcode Audio Flac2all 00 Featured Image

flac2all es una utilidad simple que te permite convertir archivos FLAC de alta calidad a casi cualquier formato de audio moderno. A diferencia de ffmpeg, esta utilidad automatiza el proceso de clasificación, etiquetado y codificación de tu audio FLAC. flac2all es fácil de instalar y usar. Aprende cómo utilizar este programa altamente versátil que puede actuar como una interfaz para todas tus necesidades de transcodificación de audio.

Tabla de Contenidos

  • Por qué Usar flac2all
  • Instalando flac2all
  • Usando flac2all para Transcodificar Audio
  • Transcodificando a Múltiples Formatos
  • Creando Trabajos de Transcodificación Personalizados
  • Creando un Clúster de Transcodificación flac2all
  • Configurando un Montaje de Red
  • Iniciando el Clúster flac2all
  • Preguntas Frecuentes

También lee: 4 Formas de Aumentar la Duración de la Batería de Tu Laptop Linux

Por qué Usar flac2all

En su núcleo, flac2all es tanto un envoltorio como un programa de programación. Toma una lista de archivos FLAC y utiliza varios códecs para ordenar y gestionar el proceso de transcodificación.

Una ventaja de este enfoque es que flac2all no depende de un solo codificador, lo que significa que puedes adaptar fácilmente el programa a cualquier nuevo formato que desees usar. Por ejemplo, puedes instalar el codificador personalizado Fraunhofer FDK AAC junto con AAC regular.

Transcode Audio Flac2all 04 Aac Custom Format Page

Finalmente, flac2all también preserva la estructura de carpetas de tu colección FLAC, por lo que no necesitas rehacer el directorio de tu archivo mientras usas este programa. Estas características hacen de flac2all una herramienta útil si estás buscando una forma rápida y fácil de recrear tu colección FLAC en un formato diferente.

También lee: Las Diferencias entre Su, Sudo Su, Sudo -s y Sudo -i

Instalando flac2all

Antes de instalar flac2all, es importante obtener todas sus dependencias para asegurar que no habrá conflictos después de la instalación:

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

Transcode Audio Flac2all 05 Install Dependencies

Lo siguiente que debes hacer es descargar flac2all a través de pip, un gestor de paquetes específico de Python que puedes usar para instalar software adicional. Ejecuta el siguiente comando para usar pip:

pip3 install --user flac2all  

Esto instalará flac2all en el directorio “.local” del usuario actual. Así que si estás en un sistema de múltiples usuarios, otros usuarios no podrán ejecutar el programa.

Transcode Audio Flac2all 06 Install Flac2all Pip

Para ejecutar flac2all, incluye tu directorio “.local” en la variable PATH de tu máquina añadiendo la siguiente línea de código a tu archivo “.bash_profile”:

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

Finalmente, reinicia o cierra sesión en tu sesión actual para aplicar los nuevos ajustes, tras lo cual puedes ejecutar flac2all -h para confirmar que has instalado correctamente el programa.

Transcode Audio Flac2all 07 Program Working Help

Usando flac2all para Transcodificar Audio

El desarrollador de flac2all diseñó el programa para que sea lo más simple posible. Por ejemplo, la sintaxis para transcodificar un directorio FLAC a un solo formato se ve así:

flac2all mp3 -o ./output ./royalty-free  
  • El primer elemento después de “flac2all” destaca el formato al que deseas transcodificar. Estoy convirtiendo mi carpeta FLAC a MP3 en este ejemplo.
  • El segundo elemento contiene opciones para el trabajo de transcodificación actual. Aquí, la opción -o le dice a flac2all que envíe los archivos MP3 a la carpeta “output”.
  • Finalmente, el tercer elemento indica la carpeta de origen para tus archivos FLAC. En mi caso, es mi carpeta “royalty-free”.

Transcode Audio Flac2all 08 Single Transcode Working

También lee: Cómo Redimensionar y Optimizar Imágenes Desde la Terminal de Linux

Transcodificando a Múltiples Formatos

También puedes usar flac2all para transcodificar archivos a múltiples formatos en paralelo, lo cual puede ser útil si deseas transferir tu archivo a reproductores con diferentes requisitos de formato.

Por ejemplo, puedo ejecutar el siguiente comando para transcodificar mi carpeta “royalty-free” a MP3 y Opus:

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

Nota que una transcodificación de múltiples formatos tomará más tiempo que una transcodificación de un solo formato porque flac2all codificará cada archivo en tu directorio para cada formato que especifiques. En mi caso, transcodificar MP3 y AAC tomará el doble de tiempo que solo transcodificar MP3.

Transcode Audio Flac2all 09 Multi Format Transcode

Creando Trabajos de Transcodificación Personalizados

Aparte de crear transcodificaciones simples, es posible ajustar cómo se comportan los codificadores con flac2all, lo cual es especialmente útil si deseas que la copia de tu archivo tenga una cierta calidad de audio. Mira el siguiente comando, por ejemplo.

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

Este comando le dice al programa que utilice el codificador MP3 LAME para transcodificar mi carpeta “royalty-free” a una tasa de bits constante de 320k.

Transcode Audio Flac2all 10 Custom Job Single Format Transcode

También puedes crear trabajos personalizados para transcodificaciones de múltiples formatos. Por ejemplo, el siguiente comando le dice a flac2all que cree una transcodificación personalizada con MP3 y Opus:

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

Transcode Audio Flac2all 11 Custom Job Multi Format Transcode

Creando un Clúster de Transcodificación flac2all

Si bien puedes usar flac2all en una sola computadora, también es posible expandir el programa a múltiples sistemas, una solución práctica para acelerar el proceso de transcodificación. Asegúrate de tener los siguientes recursos listos:

  • Dos o más máquinas que puedan conectarse directamente entre sí
  • Un NAS al que puedas acceder en todas las máquinas porque el proceso maestro de flac2all solo instruye a sus clientes trabajadores a procesar datos existentes
  • Una conexión de red confiable entre el proceso maestro y sus clientes trabajadores

Conociendo estos factores, este tutorial se centrará en crear un pequeño clúster de flac2all entre dos máquinas Ubuntu 22.04.

También lee: Cómo Configurar y Usar SSH en Linux

Configurando un Montaje de Red

Crea un montaje de almacenamiento en red para comenzar. Para esto, voy a usar SSHFS ya que es fácil de usar y está disponible para casi todas las distribuciones de Linux.

Para comenzar, instala SSHFS en todas las máquinas que deseas usar:

sudo apt install ssh sshfs  

Transcode Audio Flac2all 12 Install Cluster Dependencies

A continuación, crea la carpeta a la que se montará SSHFS. Crearé una carpeta “royalty-free” en el directorio principal de mi máquina trabajadora:

mkdir /home/$USER/royalty-free  

Transcode Audio Flac2all 13 Create Sshfs Directory

Ahora monta el directorio “royalty-free” en cada una de tus máquinas trabajadoras con el siguiente comando:

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

Transcode Audio Flac2all 14 Mount Sshfs Remote

Iniciando el Clúster flac2all

Ahora puedes iniciar el clúster de transcodificación ejecutando el proceso maestro y añadiendo tanto -m como -C a flac2all.

Por ejemplo, ejecuta este comando en tu máquina principal para crear un proceso maestro:

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

Transcode Audio Flac2all 15 Run Master Process

A diferencia del flac2all regular, crear un proceso maestro no iniciará la sesión de transcodificación. Para transcodificar archivos, también necesitas conectar a los trabajadores al proceso maestro ejecutando el siguiente comando en tus máquinas trabajadoras:

flac2all_worker 192.168.68.10  

Una vez hecho esto, el cliente trabajador creará un proceso sin cabeza que se conecta al programa maestro. Después de eso, flac2all comenzará inmediatamente una vez que encuentre un número suficiente de trabajadores en espera.

Transcode Audio Flac2all 16 Run Worker Client

También lee: Cómo Descargar y Configurar DaVinci Resolve en Linux

Preguntas Frecuentes

flac2all no termina después de procesar mis archivos de audio. ¿Cómo soluciono este problema?

Esto ocurre cada vez que hay un conflicto entre flac2all y sus dependencias de Python. Soluciona esto actualizando tu instalación para reflejar cualquier cambio entre flac2all y sus dependencias. Ejecuta pip install --user --upgrade flac2all para actualizar flac2all.

flac2all está lanzando un error “FileNotFound”. ¿Está rota mi instalación?

¡No! Este problema ocurre cuando el programa no puede detectar el codificador para el formato al cual deseas transcodificar.

Por ejemplo, ejecutar flac2all opus […] sin el codificador Opus resultará en un error “FileNotFound”. Puedes solucionar el problema instalando ffmpeg. Este es un programa general que también instalará la mayoría de los codificadores de audio comunes. Ejecuta sudo apt install ffmpeg para añadir ffmpeg a tu sistema.

El proceso trabajador no pudo encontrar ningún medio en mi montaje SSHFS. ¿Está roto flac2all?

No. Esto generalmente ocurre debido a una discrepancia de directorios entre el proceso maestro y sus trabajadores. Para asegurar que el clúster de transcodificación funcione, verifica que las rutas de archivo entre cada máquina sean las mismas ejecutando pwd tanto en tu carpeta de medios como en la raíz de tu montaje SSHFS.

Crédito de la imagen: Unsplash y Wikimedia Commons. Todas las alteraciones y capturas de pantalla por Ramces Red.