Ir al contenido principal

CÓMO CREAR UN TIMELAPSE EN UBUNTU

cntower_timelapse_frames_02
¡Buenas a todos!

Hoy les traigo un breve tutorial para poder crear un timelapse en Ubuntu a partir de las fotos que hayáis tomado, por ejemplo, con el modo Timelapse de vuestra cámara Xiaomi Yi (de la que les hablé aquí hace un tiempo).

Antes de comenzar, quiero dar las gracias a Benito Palacios (@pleonex) por orientarme en el camino correcto. En en el repositorio de su rama IEEE tenéis una serie de scripts para realizar un timelapse con la webcam de un ordenador.
¿QUÉ ES UN TIMELAPSE?

Es una técnica fotográfica que muestra a cámara rápida un evento que ocurre en realidad a una velocidad muy lenta, por ejemplo: una puesta de sol o un concurso de programación de 24 horas.

Yo voy a tomar como ejemplo para este tutorial el segundo, porque me coincide bastante bien, ya que ayer mismo participé en el IEEExtreme 9.0, que es precisamente un concurso de programación de 24 horas de duración.

Timelapse de turst67 (DevianArt)

INTERVALO AL TOMAR LAS FOTOGRAFÍAS

Depende de la duración total del evento, no hay ninguna fórmula matemática que determine cuál es el intervalo exacto que debamos elegir. Sin embargo, realizando el siguiente cálculo rápido, intuiremos qué delay es más adecuado.

total fotos = duración evento / intervalo

Tened en cuenta que el número total de fotos deberá mostrarse en el vídeo que vamos a crear, y que la duración de este dependerá de los fotogramas por segundo que elijamos. Un valor típico suele ser 25 fps (es decir, que se van a mostrar 25 fotos por cada segundo de vídeo), pero podemos elegir valores más bajos de fps si vemos que va demasiado rápido (todo es cuestión de probar). En definitiva, este párrafo resumido en una ecuación:

duración vídeo (s) = total fotos / fps



En este ejemplo, como la duración total del evento era de 24 horas (86400 segundos), tomar una foto cada 3 segundoshubiera dado un resultado de un total de 28.800 archivos. Eligiendo 25 fotogramas por segundo, nuestro vídeo final tendría una duración total de 1152 segundos (aproximadamente 19 minutos).

Aunque parezca que resumir un evento de 24 horas en 19 minutos está bastante bien, sabemos que visualizar después esos 19 minutos va a ser un poco pesado (aunque habrá casos excepcionales, claro). Si queremos que nuestros amigos lo vean, teniendo en cuenta lo ocupados que están siempre, quizás sería más adecuado elegir un vídeo con una duración total de 1 minuto.

Para el caso del ejemplo, he elegido un intervalo entre cada toma de fotografía de 60 segundos, obteniendo 1440 archivos, que se mostrarán en el timelapse en algo más de un minuto.
YA TENGO LAS FOTOS, ¿AHORA QUÉ?

Instalamos MEncoder con el comando:


sudo apt-get install mencoder


Nos desplazamos hasta la carpeta donde tengamos las fotos (les pongo mi ejemplo, pero en vuestro caso será distinto):


cd Escritorio/timelapse-ieeextreme9


Creamos un archivo txt con el nombre de todos los elementos de esa carpeta, con el comando:

1s -1tr > nombres.txt


Ojo: el primer elemento del parámetro que le pasamos a ls es un 1, no es una letra l.

Ejecutamos el siguiente comando con los parámetros que nos interesen (más info sobre ellos en la documentación oficial):


mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -mf type=jpeg:fps=14 mf://@archivos.txt -o timelapse.avi


Los parámetros más destacables:

aspect=16/9 sirve para que el vídeo que vamos a generar tenga el aspecto de 16:9, que es el más utilizado.

vbitrate=8000000 determina la calidad de vídeo que queremos obtener (bit rate). A menor bitrate, peor calidad.

scale=1920:1080 permite que el archivo creado tenga calidad HD (si las imágenes originales la tienen, claro).

type=jpeg:fps=14 indica que el input son fotos en formato jpeg, y que queremos que nuestro vídeo muestre 14 fotogramas por segundo.

-o timelapse.avi permite personalizar el nombre del output (vídeo que obtenemos a la salida).

Comentarios

Entradas más populares de este blog

Sailfish OS certificado como alternativa a Android en Rusia

Los finlandeses de  Jolla  están de enhorabuena, especialmente si recordamos que no hace mucho estaban casi en la bancarrota, tras embarcarse en una aventura algo arriesgada para la fabricación de tablets. Ahora la vida les sonríe: las autoridades rusas  han certificado  el  sistema operativo Sailfish OS  para su uso por parte del gobierno y corporaciones del país. Se trata de un sistema con base open source ( Linux ), pero con una  capa privativa  presente en algunos de sus componentes como puede ser la interfaz o determinadas aplicaciones. La gran ventaja de Sailfish respecto a otros competidores en el mercado del smartphone –como el ya desaparecido  Firefox OS  o  Ubuntu –, es su  compatibilidad con las aplicaciones de Android. Las intenciones de Rusia es  reducir el uso de sistemas operativos extranjeros  (Android, iOS) en móviles del 95% actual  a la mitad en 2025 . Disminuir la  dependen...

Selfies en 3D llegan a Venezuela y hasta las podrás imprimir en plástico

La empresa 3DUP lanzó al mercado venezolano las líneas de impresoras 3D,  Cube3  y CubePro  de 3D Systems Corporation, a través de las cuales se podrán imprimir modelos, diseños o escaneos en 3D. De igual manera, también está disponible el servicio de selfie3D y el servicio de modelado 3D. La impresora Cube3 tiene dos cabezales de impresión y es única en su clase, posee una amplia combinación de materiales ABS, PLA y una variedad de 18 colores. Es el equipo más fácil de utilizar en el mercado y tiene un software de construcción apto para Windows y Mac; además cuenta con conexión wifi. La nueva CubePro, impresora 3D de calidad profesional ofrece el mayor volumen de impresión entre las impresoras de su clase, sus versiones cuentan con uno, dos o tres cabezales de impresión. Además, posee una amplia combinación de materiales ABS, PLA y Nylon con una variedad de 25 colores, cuenta con una cámara calefaccionada y cerrada para optimizar los trabajos de impresión 3D. P...

Cómo utilizar Google Cloud Print para usar una impresora desde cualquier ordenador, móvil o tablet

Google Cloud Print  es de los productos menos populares de Google, pero es de los mejores. Básicamente  conecta tu impresora a la Web para que puedas imprimir en ella desde cualquiera de tus ordenadores o dispositivos móviles  (a través del ordenador si es una impresora convencional), aunque estés  en el otro extremo del mundo . Y  también permite compartir la impresora con otros usuarios , para que puedan imprimir en ella aunque también estén  en el otro extremo del mundo . En ambos casos será posible imprimir a través de Google Cloud Print desde el navegador Chrome y desde aplicaciones de Google que tengan la opción de imprimir, caso de las aplicaciones de Gmail (nativa o web) y Google Docs / Google Drive 1 . Google Cloud Print también está disponible desde  aplicaciones compatibles . Para activar Google Cloud Print, Inicia (instala primero si es necesario) el  navegador web Chrome Abre las preferencias. Al final de la pá...