Esta semana compré un disco en Internet y me vino en formato m4a (mp4). Como algunos reproductores no poseen el codec para reproducir este formato decidí convertirlo a mp3 utilizando FFmpeg.
Los archivos de extensión .m4a
son archivos de audio de formato MPEG-4 Audio (MPEG-4 Part 14). Es decir, se trata de archivos mp4 que no poseen video, sólo audio.
FFmpeg es una suite multiplataforma para grabar, convertir y transmitir audio y video. Utilizando FFmpeg es posible codificar, decodificar, transcodificar, multiplexar, demultiplexar, transmitir (streaming), filtrar y reproducir casi cualquier formato existente. Soporta desde los formatos más obsoletos hasta los más modernos, sin importar si han sido desarrollados por un estándar, la comunidad, o una corporación.
Para convertir archivos m4a a mp3, es posible utilizar el siguiente comando (contando con el codec mp3 LAME):
$ ffmpeg -i archivo.m4a -acodec libmp3lame -ab 192k archivo.mp3
Por ejemplo, si tenemos un directorio que contiene archivos m4a:
12:54 emi@vaio ¡Gulp! $ ls -1 01 Barbazul versus el amor letal.m4a 02 La bestia pop.m4a 03 Roto y mal parado.m4a 04 Pierre, el vitricida.m4a 05 Unos pocos peligros sensatos.m4a 06 Yo no me caí del cielo.m4a 07 Te voy a atornillar.m4a 08 Superlógico.m4a 09 Ñam fri frufi fali fru.m4a 10 El infierno está encantador esta.m4a 11 Criminal Mambo.m4a
Y deseamos convertirlos automáticamente a mp3 (en modo batch), es posible ejecutar el siguiente script:
$ for FILE in *.m4a; do ffmpeg -i $FILE -acodec libmp3lame -ab 192k "${FILE%m4a}mp3"; done
Luego de un par de minutos:
12:56 emi@vaio ¡Gulp! $ ls -1 01 Barbazul versus el amor letal.m4a 01 Barbazul versus el amor letal.mp3 02 La bestia pop.m4a 02 La bestia pop.mp3 03 Roto y mal parado.m4a 03 Roto y mal parado.mp3 04 Pierre, el vitricida.m4a 04 Pierre, el vitricida.mp3 05 Unos pocos peligros sensatos.m4a 05 Unos pocos peligros sensatos.mp3 06 Yo no me caí del cielo.m4a 06 Yo no me caí del cielo.mp3 07 Te voy a atornillar.m4a 07 Te voy a atornillar.mp3 08 Superlógico.m4a 08 Superlógico.mp3 09 Ñam fri frufi fali fru.m4a 09 Ñam fri frufi fali fru.mp3 10 El infierno está encantador esta.m4a 10 El infierno está encantador esta.mp3 11 Criminal Mambo.m4a 11 Criminal Mambo.mp3
Finalmente, sólo resta borrar los archivos m4a originales:
$ rm *.m4a
12:57 emi@vaio ¡Gulp! $ ls -1 01 Barbazul versus el amor letal.mp3 02 La bestia pop.mp3 03 Roto y mal parado.mp3 04 Pierre, el vitricida.mp3 05 Unos pocos peligros sensatos.mp3 06 Yo no me caí del cielo.mp3 07 Te voy a atornillar.mp3 08 Superlógico.mp3 09 Ñam fri frufi fali fru.mp3 10 El infierno está encantador esta.mp3 11 Criminal Mambo.mp3
Referencias
Advanced Bash-Scripting Guide: 10.1. Manipulating Strings