Cómo convertir audio a otros formatos desde el terminal con FFmpeg
Muchos usuarios preferimos usar aplicaciones con interfaz de usuario para realizar nuestras tareas. Pero en Linux (y macOS) existe algo que se llama terminal (¿os suena?), desde el que podemos hacer de todo sin tener que instalar software extra, siempre y cuando recordemos los comandos necesarios. En este artículo vamos a enseñaros cómo convertir audio a otros formatos usando el terminal y FFmpeg, algo que viene instalado por defecto en la mayoría de distribuciones Linux.
Lo bueno de usar FFmpeg directo desde el terminal es que, al no tener que mover también la GUI o interfaz de usuario, el rendimiento y fiabilidad será mayor. También será más rápido porque no estará ocupando recursos en “florituras”. Además, FFmpeg es un framework muy poderoso y compatible, lo que nos asegura que podremos convertir prácticamente cualquier archivo de audio a cualquier formato. A continuación os explicamos cómo hacerlo.
FFmpeg es compatible con la mayoría de formatos populares
Lo primero que haremos será asegurarnos de que tenemos FFmpeg instalado en nuestro equipo. Podemos hacerlo de dos maneras, una de ellas es la oficial y la otra como un atajo. La manera oficial es escribir, sin las comillas, “ffmpeg -version” en el terminal, lo que nos mostrará la versión del framework que tenemos instalada y las opciones disponibles. El atajo es mucho más sencillo: simplemente tecleamos el nombre del framework, es decir, “ffmpeg” sin las comillas. Veremos algo como lo siguiente:
Si no vemos algo como lo anterior, instalamos FFmpeg con el siguiente comando:
sudo apt install ffmpeg
Una vez instalado y si queréis quedar impresionados, podéis escribir “ffmpeg -help” para ver todo lo que puede hacer. Hay muchas opciones, pero este artículo se va a centrar en una sencilla. Y ahora sí, pasamos a convertir el audio a otros formatos.
Convertir un MP3 a WAV con FFmpeg
Convertir archivos de audio a otros formatos con FFmpeg puede ser muy sencillo. Si esto es lo único que queremos, el comando será como el siguiente:
ffmpeg -i archivodeentrada.mp3 archivodesalida.wav
Como veis, lo único que hay que recordar es añadir “-i” delante del archivo de entrada y el archivo de salida (hay que sustituir “archivodeentrada” y “archivodesalida” por un nombre a nuestra elección). No hay más. Si queremos saber los formatos y los codecs que hay disponibles, escribiremos los comandos “ffmpeg -formats” o “ffmpeg -codecs”, siempre sin las comillas.
Vamos a complicarlo un poco
Ahora vamos a complicarlo un poco. Este framework nos permite convertir un mismo archivo a varios formatos al mismo tiempo. ¿Para qué podría servir esto? Bueno, a lo mejor tenemos distintos dispositivos con diferentes compatibilidades y a uno le va mejor el MP3 y a otro el OGG. Sea cual sea la razón, podemos hacerlo y para ello basta con añadir el resto de formatos al comando anterior, lo que quedaría más o menos así:
ffmpeg -i archivodeentrada.mp3 archivodesalida.wav archivodesalida.ogg archivodesalida.mp4
Si queremos indicarle un codec en concreto, lo haremos añadiendo “c:a + codec” antes del archivo de salida, lo que para convertir un MP4 a OGG con el códec “libopus” quedaría así:
ffmpeg -i archivodeentrada.mp4 c:a libopus archivodesalida.ogg
En el más difícil todavía, lo que vamos a hacer es convertir un archivo de audio AIF a MP3 indicándole un bitrate en concreto, en este caso 320. Lo haremos con el siguiente comando:
ffmpeg -i archivodeentrada.aif -b:a 320000 archivodesalida.mp3
Os estaréis preguntando: “¿320000?”. Sí. Tenemos que recordar que el bitrate está en kbit/s, por lo que tenemos que añadir el número que conocemos (por ejemplo, 320) multiplicado por 1000.
FFmpeg nos ofrece muchísimo más
Este poderoso framework nos ofrece esto y mucho más. De hecho, lo explicado en este artículo es solo la punta de un enorme iceberg que podéis ver completo en este enlace. Otro día os explicaremos cómo grabar la pantalla con FFmpeg, algo que podemos hacer sin audio o con audio, por si no queréis usar aplicaciones como VLC o SimpleScreenRecorder.
¿Hay alguna otra tarea/conversión que sueles hacer con FFmpeg?