92 - Como crear un timelapse con la Raspberry
Te cuento como he realizado un timelapse con la Raspberry, para que veas lo sencillo que es y puedas aplicar tu mismo la técnica de la cámara rápida
Una de las técnicas de fotografía que siempre me han llamado la atención, y que siempre he querido hacer, es la técnica de la cámara rápida, o lo que en inglés se conoce como timelapse. Esto no es nada del otro mundo. Simplemente consiste en reproducir en un corto espacio de tiempo, un proceso que lleva mucho mas tiempo en producirse. Así, por ejemplo, un ciclo de floración de un rosal está entre 6 y 8 semanas. Evidentemente, no vas a estar 6 semanas viendo todo el proceso, la solución es grabarlo, y esto es precisamente lo que puedes hacer con una Raspberry Pi, desde una Zero hasta una 4. Precisamente el objeto del podcast de hoy es contarte como crear un timelapse con la Raspberry Pi.
Indicarte que es un proceso muy sencillo, pero ahora con los rigores del verano, no estoy, y supongo que tu tampoco, para meterte en cosas complicadas. Se trata de un entretenimiento que puedes hacer tu solo, o con tu familia, implicándolos a todos en el proceso. Desde realizar el montaje, buscando el mejor lugar para ubicar la Raspberry, así como, la forma de fijar la cámara, hasta el proceso de crear la película final.
Como crear un timelapse con la Raspberry
Un previo
Antes de que te cuente como he hecho mi timelapse con la Raspberry, quiero comentarte como hago normalmente todos los jueves, en que ando metido, por si quieres darte una vuelta por atareao.es para revisar los artículos, tutoriales o actualizar las aplicaciones.
Respecto a los artículos y tutoriales. Esta semana puedes encontrar en atareao.es un artículo referente a un problema que he tenido con el bluetooth de mi Dell XPS13. Estoy casi convencido que en algún momento he llegado a utilizarlo, pero sinceramente, ahora no lo tengo claro del todo. La cuestión es que…. En el artículo te cuento tanto como he conseguido resolver el problema, como lo que tienes que hacer tu, si te encuentras en una situación similar. No solo con el bluetooth, sino con cualquier cosa que te pueda suceder. Al final, se trata de solucionar problemas de firmware en Linux
Por otro lado encontrarás una nueva entrega del tutorial sobre scripts en Bash, en este caso, te comento como puedes diseñar e implementar tus scripts para que tengan ayuda y comprueben si tienen los parámetros necesarios, para su funcionamiento y en caso contrario te muestre un error, y la correspondiente ayuda para que lo corrijas. Se trata de un capítulo muy interesante y que seguro te será de gran ayuda.
Respecto a las aplicaciones, poco te puedo decir, mas que sigo trabajando tanto en actualizar todas las extensiones de GNOME Shell, como en migrarlas a Linux Mint escritorio Cinnamon. En cuanto tenga las primeras completas, no dudes que te lo haré saber, para que me ayudes haciendo de beta tester si así lo consideras.
Crear un timelapse con la Raspberry Pi
¿Que necesitas?
Una Raspberry Pi
Lo primero y principal es una Raspberry Pi. ¿Que modelo? el que tu quieras. Yo lo he hecho con una Raspberry Pi 3B+. Pero sinceramente, lo podía haber hecho perfectamente con una Pi Zero.
Una micro SD o un USB
En el caso de una Raspberry Pi Zero, solo podrás optar por una micro SD, pero en el caso de que utilices una Raspberry Pi 3B+, por ejemplo, puedes optar por un USB. Aquí ya depende de lo que quieras hacer.
Lo único que tienes que tener presente es el tamaño de la memoria micro SD o una memoria USB para hacerlo, para asegurarte de que no llenas el sistema de archivos de fotos, y el timelapse se te queda a medias, lo que sería una verdadera lástima.
En mi caso, he hecho un timelapse con la Raspberry de 24 horas de duración. Para ello, he tomado 1 fotografía cada 5 minutos. Las fotografías son de 5 MB, con lo que está claro la operación matemática, 24 h * 60 min/h * 5 MB / 5 min = 1440 MB
. Vamos un poquito menos de 1 GB y medio.
Una cámara apta para la Raspberry Pi
Esto que digo de una cámara apta para la Raspberry Pi te parecerá una obviedad, pero no lo es tanto. En mi caso tengo tres cámaras, una que es oficial, y dos que he comprado de segundas marcas. La que es oficial me ha funcionado sin problemas hasta el momento, aunque no estoy muy satisfecho con los colores.
Sin embargo, de las otras dos que he comprado de segundas marcas, una es especial para la Raspberry Pi Zero, y funciona sinceramente bien, de esta hasta la fecha estoy muy satisfecho. Sin embargo, en el caso de la otra, si la conecto a la Raspberry Pi 3B+ no siempre funciona, pero es que, si la conecto a la Raspberry Pi Zero, lo cierto es que no funciona nunca.
Por eso, te recomiendo encarecidamente, que tengas cuidado, y sobre todo que hagas pruebas antes de llevarte una desagradable sorpresa.
Alimentación eléctrica
Otro elemento imprescindible para poder hacer tu timelapse con la Raspberry Pi. Evidentemente si estás en casa no tendrás problema, porque simplemente es conectarla y a correr. Sin embargo, si no, tendras que llevar algún tipo de alimentación o una placa solar o un power bank. En este caso, tienes que tener en mente la capacidad de la batería y el consumo de la Raspberry, que evidentemente dependerá del modelo.
Poniendote en el peor de los casos, y suponiendo un consumo de 3A, esto quiere decir que con un power bank de 20000 mAxh, tienes una autonomía para algo mas de 6 horas. Con lo que este detalle también lo tienes que tener en mente.
Soporte para la cámara
Si parece algo evidente, pero a mi es de lo que mas dolores de cabeza me ha traído. Al final la cámara y la Raspberry Pi están unidos por un bus que no es rígido, con lo que no lo puedes utilizar para sostener la cámara. Por otro lado, este bus molesta, mas que otra cosa, porque debido a su superficie es fácil que el aire lo mueva. Es decir, hace de vela.
Yo al final lo sujeté de una forma muy tosca. Con un par de pinzas de tender. Pero me aseguraban que no se moviera la cámara.
Otro asunto es darle el ángulo que toca. Para ello, estuve haciendo diferentes pruebas. Lo cierto es que me llevó su tiempo hasta que di con el ángulo y la posición que me interesaban. Sinceramente creo que ha quedado la mar de bien. Ya me dirás tu opinión al respecto.
Tomando fotografías
Antes de nada, recordarte que tienes que habilitar el uso de la cámara. Esto lo tienes que hacer desde la aplicación raspi-config
.
En este caso no he querido preocuparme para nada del proceso de captura de las fotografías. He utilizado la propia aplicación que trae la Raspberry Pi para hacer las capturas.
Esta aplicación es raspistill
. Se trata de una herramienta que te permite realizar fotografías con la cámara de la propia Raspberry Pi. En el caso de que quieras utilizar una cámara USB, esta herramienta no te será de utilidad.
El uso básico es tan sencillo como ejecutar la siguiente instrucción,
raspistill -o foto.jpg
Dependiendo de como pongas la cámara, es posible que te salga invertida la imagen. Si quieres voltearla tienes las opciones -vf
para vertical y -hf
para horizontal.
Además de esto también tienes otras opciones para modificar opciones como el contraste, el brillo, la saturación, el valor ISO, el balance de blancos.
Y no solo esto, sino que además puedes aplicar diferentes efectos directamente, como puede ser invertir los colores, efecto de pintura al oleo, efecto dibujo animado, efecto pastel y muchos mas. Te recomiendo que le des un vistazo a la documentación de la fundación Raspberry para exprimir al máximo, tanto la cámara como la aplicación.
Programando la captura
Todo el proceso lo vas a hacer con un sencillo script, que estará programado utilizando un cron
para realizar la captura de las imágenes que formarán tu timelapse con la Raspberry. Ya sabes que para el script tienes el tutorial de scripts en Bash mientras que para cron, tienes el artículo sobre programación de tareas con cron.
Te recomiendo crees un directorio /home/pi/fotos/
donde guardar todas las capturas, para evitar hacer un lio monumental.
El script timelapse.sh
es tan sencillo como,
#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -vf -hf -o /home/pi/fotos/$DATE.jpg
Recuerda darle permisos de ejecución con chmod +x timelapse.sh
.
Lo siguiente es añadir el proceso al cron, para que las capturas se realicen de forma programada. Para ello, ejecuta crontab -e
y añade la siguiente línea al final,
*/5 * * * * /home/pi/timelapse.sh 2>&1
Y con esto ya lo tienes todo.
Montando la película de tu timelapse con la Raspberry
Una vez ya has realizado todas las capturas el paso siguiente es montar la película.
ffmpeg -r 24 -pattern_type glob -i '*.jpg' -vcodec libx264 timelapse.mp4
Y por último, nos queda añadir algo de música para que quede perfecto tu timelapse con la Raspberry