Logo Espacio Linux Paypal - Acepta pagos con tarjeta en tu negocio      
Portada Manuales Linux Descargas Foros Buscar Mapa del sitio Ayuda BlogEL
   Iniciar sesión | Registrarse    
 
Principal

Patrocinadores

Anuncios



Boletín Espacio Linux
Las novedades del sitio y el mundo Linux en tu email.


Sitios amigos

Blogs de miembros


Directorio de blogs | Registrarse
Los usuario registrados pueden crear su propio blog y escribir comentarios.

Como hacer un video con imágenes jpg


Por: zeka
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




Añadir un comentario
Añadir un comentario
Ver más artículos
Ver más artículos

Comentarios

Por: timo     Publicado el 10-21-2007 @ 07:50 pm

Interesante, .... interesante.

Buen aporte, pero, existe algo similar con alguna otra herramienta?
Por: Luli     Publicado el 10-21-2007 @ 08:57 pm

Como ya nos tienes acostumbrados, excelente trabajo MAESTRO Zeka. A ver cuando publicas un libro con todos tus tutoriales. Saludos ;o)
Por: zeka     Publicado el 10-21-2007 @ 09:23 pm

timo, me imagino que sí. Tengo apenas dos días con esto y lo que he leido hasta ahora refiere que algunas de las herramientas más poderosas están escritas para Windows pero que en Linux se están dando pasos agigantados para cerrar la brecha. Estos comandos son la base de los scripts que emplean esos programas que tienen ya un frontend característico. Pero no incluyen todas las funciones que uno desearía como he podido observar. He escrito esta guía porque lo que he visto en la red, aunque me ha orientado, no ha resuelto mis problemas y he encontrado soluciones con base en leerme el manual de mencoder, "ensayo y error" y sentido común. Por cierto, había descubierto unos "bugs" en la guía y acabo de "corregirlos". Bueno, en realidad funcionaba lo que había hecho porque podía unir los minivideos producidos pero no cuando procedian de otra fuente; a pesar de tener el mismo tamaño de imagen y frame rate. Luli, gracias por tus amables comentarios pero acabo de confesar que no soy tan maestro. No obstante, las cosas son perfectibles y uno aprende cada vez más con la experiencia.

Saludos a ambos
Por: pendulo     Publicado el 10-25-2007 @ 09:26 pm

Gracias zeca
Journal ©
 



Copyright | Términos de uso | Política de privacidad | Publicidad | Contáctanos | Blog