jueves, 24 de abril de 2008

Cómo crear un vídeo a partir de imágenes...

... y no morir en el intento.

Buf, menuda tardecita ayer. Roberto todavía se está riéndo... será la envidia que le corroe :P

Una tarea por hacer. Tienes una serie de imágenes y quieres hacer un video con ellas. Parece sencillo, ¿verdad? pues no.

Después de descargarme tropecientosmil programas de conversión de video, descubro asombrado que ninguno tiene esta función... ¡pero las librerías sobre las que trabajan sí!

Primera idea... usar los ejecutables desde la línea de comando. Por ejemplo, instalo FfmpegX, la interfaz no tiene la opción de cargar imágenes. Como soy un experto bashero (juas!) y además recuerdo que con linux usaba el "mencoder", me digo a mí mismo, no hay problema:

Abro un terminal.

$ "/Library/Application\ Support/ffmpegX/mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg"

Respuesta del sistema...
Cannot find codec 'mpeg' in libavcodec...
Couldn't open video filter 'lavc'.
Failed to open the encoder.

Upsssssss. Bueno, seguro que hay otra forma (me digo). Os voy a ahorrar la aventura, solo digo que estuve ¡¡¡¡tres horas!!!! hasta que tuve la solución, torpe que es uno.

LA SOLUCIÓN... (y es la única que encontré):
usar fink... Hay que activar los repositorios inestables, el motivo: ffmpeg tiene 63 (!!!!) dependencias. Entre ellas están las librerías de gnome (por eso lo de inestables, jejejejejeje).

$ sudo fink install ffmpeg


Esperamos un buen, pero buen rato (descarga, compilación, registro) y listo. A partir de ahora, podemos hacer... (por ejemplo, para un grupo de imágenes de nombre image???.jpg):

$ ffmpeg -r 10 -b 5094k -i image%03d.jpg test.mov


BIEEEEEEEEN, POR FIIIIIIIIN

Detalles del comando:
-r son los frames por segundo
-b es el tamaño del frame
%03d son las tres cifras de cada imagen
.mov el tipo de vídeo, con sólo cambiar la extensión se usan distintas compresiones.

No hay comentarios: