|
Como hacer un video con imágenes jpg
Publicado el: 10-21-2007 @ 01:47 pm
A veces, podemos tener la idea de hacer un video con las imágenes que hemos tomado en nuestras vacaciones. Esto puede ser hecho, en línea de comandos, a través de mencoder. Como siempre, para instalarlo en Debian:
aptitude install mencoder
En una carpeta creada para tal fin copiamos nuestra imagen las veces que sea necesario para que pueda visualizarse el tiempo que juzguemos prudente. Aquí deberiamos saber algunas cosas relativas a la imagen y al número de ellas que se proyectarán por segundo en el video. Si no tenemos idea de ello lo más sencillo es abrir uno con Avidemux e ir a Archivo -> Properties. Tal como se presenta en la imagen, un ejemplo válido es 720x480 para el tamaño de imagen y de 29,97 fps para el Frame Rate.
Si nuestra imagen no tiene ese formato la escalamos con el gimp. El Frame Rate señala el número de imágenes que se proyectarán por segundo. En este caso, si queremos proyectar nuestra imagen por 3 segundos necesitamos entonces 90 copias de ella. Una vez hecho esto, nos colocamos en el directorio donde está la carpeta con las imágenes y ejecutamos:
mencoder 'mf://*.jpg' -mf w=720:h=480:fps=29.97:type=jpg -of avi -ovc lavc -oac mp3lame -o salida.avi
Es necesario que las imágenes en la carpeta estén numeradas desde 01 hasta 90 para que se coloquen en el orden correcto (o desde 0001 hasta 1000 si hubiesemos colocado 1000 imágenes). El resultado debería ser un video que dure 3 segundos con nuestra imagen seleccionada. Para verificar que lo anterior funciona, ya que era más fácil, rápido y me permitía verificar otro aspecto importante de la edición de videos, lo que hice fue generar 90 frames como jpg a partir de un video y desde un tiempo arbitrariamente seleccionado en él. Eso fue posible gracias a ffmpeg. Para ello, cree la carpeta contenedora y mandé hacia allí las imágenes con el comando: ffmpeg -i video.avi -ss 00:01:46 -vframes 90 carpeta/foto%d.jpg Esto indica que en el video.avi se tomarán, desde el minuto uno con 46 segundos, noventa imágenes jpg que se grabarán en carpeta como foto1.jpg, foto2.jpg, ..., foto90.jpg. Renombré las nueve primeras para que apareciera el cero antes del número y recompuse el video con mencoder. El resultado fue un video dinámico que no tenía ninguna diferencia en su reproducción con respecto al original. Por otra parte, si persistimos en nuestra idea de hacer el video con las fotos tomadas en nuestras vacaciones debemos tener un procedimiento para copiarlas de manera numerosa y rápida. Ello puede ser posible con este sencillo script que las las numera en orden secuencial (no obstante, en algunos casos puede hacer falta un renombrador masivo para que ésta quede, por ejemplo, como 0001, 0002, 0003, etc.) y las copia en una carpeta contenedora: #!/bin/bash echo -n "nombre archivo a copiar? = " read archivo echo -n "numero de copias? =" read j for archivo in *.jpg do base=`basename "$archivo" .jpg` done while [ "$i" != $j ] do let "i = i + 1" cp $archivo carpeta/$base"$i"".jpg" done
Después de copiadas las imágenes (hay que asegurarse que tengan un formato válido, sino se escalan con el gimp), se elabora cada minivideo con mencoder y se adicionan individualmente con el append de Avidemux en su contenedor *.avi. Allí también podemos escoger la pista de audio externa que deseemos emplear para su grabación definitiva. Nota: Va sin garantía.

Ultima actualización el 04-21-2008 @ 08:20 pm
|