Extraer audio de un archivo AVI
En alguna ocasión necesité extraer únicamente el audio de un video para poder escucharlo de forma independiente. El archivo original estaba en formato .avi, aunque el procedimiento probablemente funcione con cualquier formato que mplayer sea capaz de reproducir.
La herramienta que utilicé fue mplayer, ya que además de ser un excelente reproductor multimedia también permite realizar algunas tareas bastante útiles desde la línea de comandos.
El comando es el siguiente:
mplayer -quiet -vc dummy -vo null -ao pcm:waveheader:file=salida.wav entrada.avi
Al ejecutarlo, mplayer reproduce internamente el archivo de video, pero descarta completamente la imagen y escribe el audio en un archivo llamado salida.wav.
Los parámetros más importantes son:
-quietreduce la cantidad de información que aparece en pantalla.-vc dummyevita decodificar el video, ya que no nos interesa.-vo nulldesactiva la salida de video.-ao pcmindica que el audio deberá almacenarse como un archivo PCM.waveheader:file=salida.wavagrega la cabecera WAV y escribe el resultado en el archivo indicado.
Una vez terminado el proceso tendremos un archivo WAV sin compresión.
En mi caso la extracción fue prácticamente inmediata, incluso ejecutándola en un viejo Pentium III a 1.6 GHz.
Convertir el resultado a MP3
Como un archivo WAV suele ocupar mucho espacio, el siguiente paso consiste en comprimirlo utilizando lame.
lame salida.wav
Con ese único comando lame genera automáticamente el archivo MP3 correspondiente.
Cambiando los nombres de los archivos
Naturalmente no es necesario utilizar los nombres entrada.avi y salida.wav.
Por ejemplo, si el video se llama conferencia.avi, el comando sería:
mplayer -quiet -vc dummy -vo null -ao pcm:waveheader:file=conferencia.wav conferencia.avi
Posteriormente:
lame conferencia.wav
Al finalizar obtendremos el archivo conferencia.mp3.
Este procedimiento resulta especialmente útil cuando únicamente nos interesa conservar el audio de una conferencia, una entrevista o cualquier otro material en video y no necesitamos almacenar nuevamente la imagen.