Approved Reseller
Approved Reseller
Hay eventos de la vida cotidiana que no podemos percibir a simple vista, como el crecer de una planta o el transcurso del día. Afortunadamente con una Raspberry Pi y la nueva cámara de alta definición podemos capturar estas cosas con unas líneas de código. En este post te mostraremos cómo hacerlo.
Primero, con la Raspberry Pi apagada, conecta la cámara de alta definición a puerto etiquetado para la cámara (en algunos etiquetada como CSI). Para ello levanta la pestaña del puerto, coloca el cable con el plástico azul hacia arriba y vuelve a cerrar la pestaña.
Enciende tu Raspberry Pi y habilita la interfaz de la cámara desde la herramienta de configuración de Raspberry Pi, luego reinicia la tarjeta. Habre una Terminal o establece una conexión segura SSH para acceder desde una computadora remota. Puedes probar la cámara con el siguiente comando.
raspistill -o testimage.jpg
Después de unos segundos, una imágen JPEG se guardará en el directorio. Si la cámara está montada al revés puedes usar el comando para rotar (-rot 180) para arreglarlo
Instala un servidor web para que puedas acceder a las imágenes capturadas de forma remota. Utiliza este comando para instalar Apache:
sudo apt-get install apache2
Elimina la página por defecto para ver los contenidos del directorio
sudo rm /var/www/html/index.html
Visita la dirección IP de tu Raspberry Pi (puedes averiguar la IP con hostname -I) desde otra computadora y deberías ver un directorio vacío. Si ejecutas el siguiente comando y refrescas la página deberías ver un archivo de imagen. Ejecuta el comando con sudo para darle privilegios de superusuario.
sudo raspistill -o /var/www/html/testimage.jpg
Para seguir leyendo…
Monta tu escena y revisa el posicionamiento de la cámara
sudo raspistill -w 1920 -h 1080 -o /var/www/html/testimageFullHD.jpg
El alto y ancho de la imagen se cambian a una relación más pequeña para mantener la relación de 16:9. Esto hace las cosas más fáciles. Los bordes superior e inferior se recortan, así que asegurate que tu modelo está encuadrado. Ejecuta este código para iniciar la captura:
sudo raspistill -w 1920 -h 1080 -t 10800000 -tl 10000 -o /var/www/html/frame%04d.jpg &
Esto tomará una foto cada 10 segundos por 3 horas. El ‘&’ al final termina el proceso en segundo plano.
Es posible renderizar el video desde la Raspberry Pi, pero dependiendo del modelo esto puede tardar bastante. Así que puede ser preferible transferir los archivos a una computadora con más recursos. Cualquier método que decidas utilizar, necesitas instalar algunos paquetes para renderizar el video. Para hacerlo en la Rasperry Pi, ingresa:
sudo apt-get install ffmpeg
Esto instala la herramienta FFmpeg que usaremos para convertir nuestras imagenes en un video. Para copiar las imagenes a una computadora remota, podemos descargarlas desde el servidor web, utilizando wget o curl. Por ejemplo:
wget -r -A jpg http://192.168.1.45
O si no tienes wget
curl http://192.168.1.45/frame [0001-0766].jpg -O
Cambia la dirección IP y las etiquetas de acuerdo a los archivos que tengas.
El paso final es ensamblar el video. Con el siguiente comando podemos empezar el proceso de renderizado
sudo ffmpeg -i /var/www/html/frame%04d.jpg -crf 4 -b:v 10M /var/www/html/video.webm
Cuando el proceso de renderizado haya terminado, podrás ver tu video en el buscador. El framerate por default es de 25fps. Esto comprime 3 horas de imágenes tomadas a intervalos de 10 segundos a cerca de 40 segundos de video. Puedes ajustar esto con la opción de -framerate. El bitrate (-b) es ‘alto’ por defecto, y el Constant Rate Factor (-crf) se mantiene en bajo, para producir un video de buena calidad.
Referencias: