ffmpeg, codecs, libmp3lame, libxvid y otras hierbas

Quiero convertir un video descargado de YouTube a formato AVI (xvid, mp3). Lo primero: eso de mp3 es tabú para el conversor ffmpeg que viene de serie en Ubuntu. Hay que instalar el ffmpeg-sin-miedos del repositorio Medibuntu.

Una vez hecho, pasemos a la conversión:


$ ffmpeg -i pocoyo_bed_time.flv -s 320×240 -r 24 -acodec libmp3lame -vcodec libxvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi

….
Unknown codec ‘libmp3lame’

Vaya por dios. ¿No hay soporte libmp3lame en ffmpeg? Pero ¿no era eso lo que precisamente aportaba la versión de Medibuntu?

Veamos:


juanan@morton:~/Desktop/zen$ ffmpeg -version
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: –enable-gpl –enable-pp –enable-swscaler –enable-pthreads –enable-libvorbis –enable-libtheora –enable-libogg –enable-libgsm –enable-dc1394 –disable-debug –enable-libmp3lame –enable-libfaadbin –enable-libfaad –enable-libfaac –enable-xvid –enable-x264 –enable-liba52 –enable-amr_nb –enable-amr_wb –enable-shared –prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Jul 29 2008 18:21:25, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
ffmpeg SVN-rUNKNOWN
libavutil 3212032
libavcodec 3352064
libavformat 3344896

Pues en el configure se ve claramente –enable-libmp3lame .
¿Qué ocurre? Que nos quieren volver locos con los nombres 🙂 Para averiguar el nombre del encoder necesario, hay que realizar el conjuro mágico:


$ ffmpeg -formats | grep -i mp3

juanan@morton:~/Desktop/zen$ ffmpeg -i pocoyo_bed_time.flv -s 320×240 -r 24 -acodec mp3 -vcodec libxvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi

Unknown codec ‘libxvid’

El error es otro… y ya sabéis cómo resolver. La orden final correcta sería:

$ ffmpeg -i pocoyo_bed_time.flv -s 320x240 -r 24 -acodec mp3 -vcodec xvid -vtag XVID -f avi -qscale 3 -g 300 -deinterlace -ab 56k -ar 24000 -async 1 pocoyo_bed_time.avi

10 comentarios en «ffmpeg, codecs, libmp3lame, libxvid y otras hierbas»

  1. Otra opción sería pasarlo al formato abierto ogg con ffmpeg2theora 🙂 , tan facil como:

    ffmpeg2theora video.flv

    el resultado es video.ogg o video.ogv , y parece más sencillo (no sé si los resultados son peores).

    yo lo utilizo en un script juntamente con youtube-dl para automatizar la descarga y conversión de los videos de youtube, pues no tengo adobe flash instalado.

  2. Si quieres convertir video y audio de un formato a otro la mejor solución es usar mencoder, que además de soportar todos los codecs de ffmpeg añade otros y es más fácil.

    Te sugiero que no recomprimas el audio, no sé cómo será el flv que tienes pero por defecto suelen ser mp3, así que con mencoder sería cuestión de usar la opción -oac copy.
    Si necesitas recomprimirlo el mencoder que viene con ubuntu include liblame, el codec se llama mp3lame.

  3. @Andreu: no lo he dicho, pero el vídeo lo necesito en el formato indicado porque va a parar a un player portátil (Creative Zen) que sólo soporta xvid (y wmv, que todavía sería peor 😉

    @Ontza: mencoder también lo he probado y sí, funciona bien. Realmente no tengo ninguna pega en usar uno u otro, me he inclinado en esta ocasión por ffmpeg. Lo de recomprimir el audio, también lo he hecho para ajustarlo al formato que usa el player portátil.

  4. es necesario instalar, para codificar mp3, es decir, para que el archivo de salida este en formato mp3, el paquete ubuntu-restricted-extras

  5. SOLUCIÓN

    no es necesario cambiar nada

    solo se necesita instalar libavcodec-extra-52

    es decir:

    sudo apt-get install libavcodec-extra-52

    y funciona con libmp3lame sin problemas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.