Blog multi-temático de Antonio Castro

opinión, literatura, ciencia, tecnología, ciencia ficción, autoedición, política, ateismo, actualidad

temas de ciberdroide.com

¿Cómo hacer vídeos usando time-lapse? (Tutorial)

Este artículo ha sido reeditado y trasladado a mi Foto-Blog.

Puedes pinchar en el título del artículo para ver su contenido.

Lamento las molestias que pueda ocasionar este traslado.

Intervalómetro Phottix

Lo único que necesitas para realizar un vídeo con la técnica time-lapse, es un intervalómetro,  un trípode robusto, una tarjeta de memoria con capacidad suficiente, y una cámara de fotos digital.  Para hacer un solo minuto de vídeo necesitarás hacer 60*25= 1500 fotos. Conviene elegir resoluciones bajas para no rebasar la capacidad de la tarjeta de memoria.

Yo uso el  Intervalómetro PHOTTIX NIKOS, pero hay muchos y la elección de marca y modelo no es algo demasiado crítico. La máquina de fotos tampoco tiene que ser una demasiado buena para hacer un vídeo con time-lapse.

Piensa que para un vídeo en calidad HD te basta una resolución de 1920×1080. Si usas resoluciones muy grandes cabrán pocas fotos. El vídeo reproduce a 25 fotogramas por segundo las escenas que tú has capturado usando intervalos de varios segundos entre foto y foto. Por ello sale la escena muy acelerada. Yo he usado intervalos de 3 segundos y de cuatro, pero hay cámaras que necesitan un mínimo de tiempo mayor entre foto y foto para volcar la foto a memoria. La velocidad de acceso de la memoria influirá en este límite.

Un consejo, no uses  el autofocus.  Deja siempre enfocada la escena manualmente.  De esa forma se evita que las condiciones alteren a los sensores y estos produzcan pequeñas variaciones de enfoque a cada rato.  En mi primer time-lapse se nota al principio del mismo este fallo. Hay algunos fallos más como reflejos en el cristal de la ventana, los clásicos parpadeos, etc. Es el primer vídeo de este tipo que hago así que es normal. Pese a todos esos fallos no ha quedado mal del todo.

Una vez que has descargado las fotos a tu ordenador lo más habitual es recurrir a algún programa de edición de vídeo, pero si tienes nociones de programación y conoces algo no te resultará imprescindible. En Linux puedes compilar las fotos en un vídeo usando ffmpeg.

Puedes hacer una primera prueba de visualización eligiendo una resolución pequeña que respete las proporciones de las fotos originales.

Los formatos de vídeo digital usan cada vez más la proporción panorámica de 16:9 que yo os recomiendo para vuestros vídeos. Si necesitáis la máxima calidad,  recomiendo usar 1920×1080 que es la que usa la televisión de alta definición HDTV. Actualmente muchos profesionales trabajan la edición de vídeo en estos formatos, y es la calidad recomendable para guardar el producto final en forma de máster digital de vídeo. Esto facilita futuras reediciones a máxima calidad. Para Youtube en este momento recomiendo la 1280×720 que se guardará con calidad HD, y para vuestros borradores podéis usar 960×540. Todas ellas 16:9. Yo uso MP4 o AVI.

Las proporciones en fotografía (aspect ratio)  suelen ser diferentes de 16:9 pero habitualmente nos sobrará resolución para poder recortar la parte que nos interese de las mismas.  Esto variará el encuadre de las fotos, cosa que debes tener presente al situar tu cámara.

¿Cómo procesar las imágenes en Linux si no disponemos de editor de vídeo?

Imaginemos que nuestras fotos son de 2784×1856 (3:2). Serían solo 5 Mega Pixels y hay de sobra con eso para obtener un vídeo muy bueno.

Primero compila un vídeo respetando la proporción original de las fotos solo para echar un vistazo. (en mi caso mi Canon EOS 5D Mark II usa 3:2) .

Esto lo puedes hacer con el comando ffmepg,  pero necesitarías que las fotos empezaran numeradas desde el número 1.  En lugar de eso seguramente tendrás fotos con estos nombres img_235.jpg, img_236.jpg, … img_1225.jpg, img_1226.jpg.

Yo corregí  esto con ayuda de un pequeño script pensado para S.O. Linux. Si tu cámara no es una Canon puede que necesites adaptarlo.

 

#! /usr/bin/python
# -*- coding: latin1 -*-
###########################################################
# Procesa todos los ficheros '*.jpg' del directorio actual
# y crea una lista de links en un directorio 'jpegs'
# con nombres de la forma 'img_%d.jpg' donde %d es un numero
# que sigue la secuencia del 1 al ultimo numero de fichero
# siguiendo un orden alfabetico de los nombres de ficheros
# encontrados con el patron '*.jpg'.
# Esto permite aplicar el comando ffmpeg desde ese directorio
# para crear un video con esos fotogramas. Ejemplos:
# (16:9)
# ffmpeg -f image2 -i img_%d.jpg -sameq -s 960x540 out.avi
#  (3:2)
# ffmpeg -f image2 -i img_%d.jpg -sameq -s 900x600 out.avi
###########################################################

##################
def comando(comm):
	import os

	print comm
	os.system(comm)

############
def main():
	import sys, os

        finamelist=[]
	comando("mkdir jpegs")
	ListaFicheros=os.listdir('.')
	for fi in ListaFicheros:
		finame, ext= os.path.splitext(fi)
		if (ext=='.jpg'):
			finamelist.append(finame)
	n=1
	finamelist.sort()
	for fi in finamelist:
		comando ("cd jpegs ; ln -s ../%s.jpg img_%d.jpg" % (fi,n))
		n=n+1

##########################
if __name__ == "__main__":
	main()

Luego te sitúas en el directorio jpegs creado y usas el comando ffmpeg siguiente:

ffmepeg -i image2 img_%d.jpg -sameq out.avi

Con este primer vídeo podrás localizar las diferentes escenas que deben ser procesadas de alguna manera particular o simplemente suprimidas. Basta localizar el segundo y multiplicar por 25 y obtienes el número del fotograma.

Yo he realizado distintos tratamientos en distintos tramos, pero lo que siempre vas a necesitar es adaptar el formato original que puede venir como (3:2) a un aspecto panorámico (16:9). La división de 16/9 nos da el valor 1.77777. Usaremos este valor más adelante.

Para recortar las imágenes por arriba y por abajo a fin de obtener fotos de proporciones 16:9 uso ImageMagick dentro de un script.

Imaginemos que las fotos de nuestra cámara vinieran con un formato 2784×1856.  Lo ideal es cortar un poco por arriba y un poco por abajo. Recortar se hace con la opción crop del comando convert .

Ejemplo:

-crop ANCHOxALTO+X0+Y0

ANCHO=  2784  (Conservamos todo el ancho original).

ALTO= ANCHO/1.77777=1566

X0=0  (Esquina superior izquierda del recorte pegada al borde izquierdo)

Y0= 200 (Eleminamos 200 pixels de alto en la parte superior.

Podemos hacer dos comandos de convert para hacerlo todo.

convert -crop 2784×1566+0+200  img_1234.jpg TMP.jpg

convert -geometry 1920×1080!  -quality 90  TMP.jpg  fotogramas/img_1234.jpg

(Hemos tomado 1234 como número arbitrario de la foto. Solo es un ejemplo)

Es decir, primero recortamos, generamos un fichero temporal, y luego le damos la resolución definitiva 1929×1080, que necesitamos para un vídeo HD.

Esta forma de trabajo con scripts es un poco tediosa en el caso que necesites hacer diferentes tratamientos para cada tramo, cosa que yo sí he hecho. Los efectos de zoom los he hecho con scripts que recortaban progresivamente encuadres más pequeños, pero no voy a tratar ese tema ahora.

La utilidad convert de ImageMagick te permitirá muchas más cosas. Por ejemplo puedes usar -normalize para hacer que el color más oscuro de una foto se muestre como negro y el más claro como blanco estirando los valores intermedios consiguiendo un efecto contraste en la foto. Es imposible resumir aquí todo lo que te permite hacer esta utilidad. Se necesitaría un libro entero.

http://www.imagemagick.org/script/convert.php

Yo he tenido que programar varios scrips parcheándolos sucesivamente y no dispongo de scripts que sean demasiado útiles. Tendré que ir mejorándolos poco a poco y cuando tenga algo que considere de utilidad general lo ofreceré bajo licencia GPL, pero de momento no dispongo de nada que merezca la pena entregar.

La post-producción es muy importante en la calidad final del vídeo, y los pequeños trucos que yo acabo de mencionar suplen la falta de disponibilidad de buenos editores de vídeo que es con lo que suelen trabajar los profesionales.

Un sitio donde podréis encontrar abundante información sobre time-lapse es la Web de Antonio Casado.

http://www.timelapses.es/blog/

Anterior

Aumento de denuncias falsas por violencia de género.

Siguiente

Bibliografía de Louis Pasteur (divulgación)

6 comentarios

  1. Warez

    Esta buena esta tecnica, no sabia que se llamaba asi y mucho menos que se hacia con una camara de fotos, no es mas facil grabarlo en video y luego pasarlo rapido ?

    Igual esta muy bueno, habra que probarlo 😀

  2. admin

    La calidad del time-lapse con cámara de fotos es muy superior. Algunos timelapse nocturnos requieren tiempos de obturación muy largos. Por ejemplo para que aparezcan las cintas luminosas de los faros (unos tres a cinco segundo con el obturador abierto) o time-lapse astronómicos con tiempos de obturación bastante más largos .

  3. admin

    Una chulada Íñigo. Felicidades. 😉

    Me da la sensación de que el periodo de tiempo que usas es menor que el que yo usé.

  4. Iñigo

    yo también hice mis pinitos con esto del time-lapse:

    http://fotosisoler.blogspot.com/2009/12/time-lapse.html

    era solo por probar, pero me ha gustado, pronto subiré alguno mejor a mi blog

  5. ¡Hola!. Lo primero gracias por citar y enlazarnos, ya veo que vamos picando el gusanillo a cada vez más gente.

    Para ser el primero no está mal, aunque tiene sus fallines (el autofocus puesto al principio, por ejemplo).

    Saludos y a los que le pique el gusanillo ya sabeis que tenemos el Blog y el Foro abierto a todos 🙂

  6. admin

    Es cierto, es tremendamente adictivo. Tiene muchos fallos, algunos ya sé como evitarlos la próxima vez, y los otros son cuestión de ir aprendiendo. Tengo varias ideas en mente. Si logro algo que esté a la altura de lo que hacéis vosotros te lo haré saber. Voy poco a poco y mis herramientas de software son bastante penosas. No me planteo usar Windows así que me costará currarme algunos scripts. Espero poder hacer alguna cosilla más y tengo pensado registrarme en timelapses.es para participar en tu sitio que me encanta, pero es un poco prematuro.

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.

Funciona con WordPress & Tema de Anders Norén