Banner 1

ffmpeg, codecs, libmp3lame, libxvid y otras hierbas

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

Ahí, entre otras cosas, veremos:

DE mp3 MPEG audio layer 3
DEA mp3
D A mp3adu
D A mp3on4

La D indica "decoder". La E indica "encoder". La A no sé qué indica :-O
Es decir, podemos codificar (encode) si usamos la opción "-vcodec mp3 "
y no "-vcodec libmp3lame" como estábamos haciendo.

Si lo probamos:


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

agradecimientos y fuente: http://diariolinux.com/2008/08/19/ffmpeg-codecs-libmp3lame-libxvid-y-otras-hierbas/

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay