Anuncio

Mira cómo se mueven las nubes o crece una plántula. La fotografía de lapso de tiempo realmente puede darle una idea de cómo funciona el mundo a nivel macroscópico, más allá de cualquier cosa concebible para la experiencia humana normal del tiempo. O en otras palabras: puede convertir la pintura seca en algo bastante interesante. Desafortunadamente, el equipo profesional de lapso de tiempo, al tiempo que agrega la capacidad de rotar o mover su cámara, como el Genio puede costar hasta $ 1000. Hoy, haremos un controlador de lapso de tiempo básico sin movimiento, para DSLR o una cámara web USB, con solo una Raspberry Pi.

Asegúrate de ver todos nuestros otros excelentes Proyectos de Raspberry Pi también.

DSLR

Como de costumbre, todo nuestro trabajo con Pi se realizará a través de una línea de comando SSH, y podemos capturar los archivos usando SFTP con las mismas credenciales si los almacenó en Pi en lugar de en la cámara. Si no está seguro de cuál es la dirección IP de su Pi, inicie sesión en su enrutador y vea la lista de dispositivos conectados actualmente; debería informarse correctamente.

instagram viewer

dispositivos conectados

Comience instalando algún software esencial:

sudo apt-get install gphoto2. sudo apt-get install imagemagick. 

GPhoto2 es una utilidad de línea de comandos para interactuar directamente con cámaras DSLR compatibles (ver la lista completa aquí). Usé un canon Rebel T4i / 650D Canon Rebel T4i dSLR revisión y sorteoCanon acaba de lanzar su nuevo Rebel T4i, su primera (ojalá muchas) aventuras en el mundo de la pantalla táctil dSLR. Esta cámara está un paso por delante de la Canon Rebel T3i (también la convierte en la tercera ... Lee mas . Ahora, conecta tu cámara a la Pi a través de USB.

Como utilicé los valores ISO automáticos y el modo AV, la configuración es relativamente simple y podemos capturar la serie usando solo la línea de comando: la utilidad incluye parámetros de lapso de tiempo integrados. Aquí está el comando más básico que puede usar para probar las capacidades:

gphoto2 - captura-imagen-y-descarga

que transferirá el archivo a su Pi, o

gphoto2 --capture-image

para mantener la imagen en la cámara. A 8 MB por pop, posiblemente sea mejor mantenerlos en la cámara y realizar la costura de la película después del hecho desde una PC o Mac.

Importante: Por defecto, las imágenes se guardan en SD-RAM, no en la tarjeta de memoria de la cámara. Lo que significa que los perderá a todos (hablo por experiencia). Para garantizar que realmente se guarden, primero debemos establecer el objetivo de captura:

gphoto2 --get-config / main / settings / capturetarget. 

Mire la lista que genera y establezca el objetivo de la siguiente manera, reemplazando 1 con lo que se muestre como su tarjeta.

gphoto2 --set-config / main / settings / capturetarget = 1. 

Para capturar en modo de lapso de tiempo, agregue -F y -YO para especificar el número total de marcos quieres capturar, y el tiempo intervalo entre cada uno En este ejemplo, capturar una vez cada 30 segundos para un total de 1440 fotogramas, que cuando se convierte en una película de 24 FPS equivaldrá a aproximadamente un minuto. No creo que la batería de mi cámara dure tanto tiempo de todos modos, pero veré cuántas tengo.

gphoto2 --capture-image -F 1440 -I 30. 

Una peculiaridad a tener en cuenta; después de que se complete el comando, la cámara puede apagarse y dejar de responder; deberá cambiar manualmente el interruptor de encendido (al menos, en mi modelo lo hizo). Esto no debería ser un problema en el campo cuando está en uso, pero para fines de prueba se vuelve bastante molesto. Si conoce una solución para esto, ¡hágamelo saber en los comentarios, por favor!

gphoto2-working

Hacer una película

Transfiera los archivos a su computadora de escritorio para su procesamiento. En una Mac, he descubierto que lo más fácil es usar la línea de comando, pero necesitarás XCode, Cerveza caseray MPlayer instalado primero. Para hacer esto, primero descargue Xcode de la App Store (es gratis), luego desde el Preferencias -> Descargas pestaña, habilitar Herramientas de línea de comando.

xcode-install-CLT

Luego corre (uno a la vez):

ruby 
cerveza casera

Ahora debería tener instalados los componentes de codificación necesarios. Ejecute los siguientes comandos para crear primero una lista de los archivos .jpg capturados, luego alimente esa lista al mencoder, una utilidad utilizada para crear videos. Cambie el valor de FPS si prefiere que la película vaya más rápido.

discos compactos 
ls * .jpg> list.txt. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspecto = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt. 

Esto es lo que terminé usando 24 FPS de 330 fotogramas por minuto desde la mañana hasta la media tarde. El clima en Gran Bretaña es realmente malo, desde soleado hasta nublado en intervalos de 5 minutos durante todo el día. Suspiro.

Para codificar una película en Windows, o si prefiere usar una GUI, descargue Avidemuxy sigue el video tutorial a continuación. Asegúrese de que sus fotos estén numeradas secuencialmente.

https://www.youtube.com/watch? v = GZmkfk-YrG4 # t = 73

Usar una cámara web USB

Por supuesto, no todos tienen una DSLR, pero en lugar de comprar un costoso módulo de cámara oficial para la Raspberry Pi, también puede realizar fotografías de lapso de tiempo utilizando un USB estándar cámara web: en mi caso, un PS3 Eye, que suele ser bastante complicado para trabajar en PC o Mac, pero funciona de inmediato en el Pi. Es posible que necesite usar un concentrador USB con alimentación, y la compatibilidad con la cámara es incompleto.

Primero, verifique si su cámara web se ha detectado correctamente.

ls -l / dev / video *

Con suerte, verá / dev / video0 listado de esta manera:

dev-video0

Luego podemos continuar con la instalación del software de captura de la cámara web y tomar una foto de prueba.

sudo apt-get install fswebcam. 
fswebcam -d / dev / video0 -r 640x480 test.jpeg. 

Eliminar el archivo con:

rm test.jpg. 

Tome algunas fotos de prueba para permitirle colocar la cámara de manera adecuada, luego continuaremos con el guión de lapso de tiempo.

mkdir timelapse. nano runtimelapse. 

Pega lo siguiente:

#! / bin / bash. # Controlador de timelapse para cámara web USB DIR = / home / pi / timelapse x = 1. mientras que [$ x -le 1440]; do filename = $ (date -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ filename x = $ ((($ x + 1)) dormir 10; hecho; 

Para fines de prueba, configuré el tiempo de espera entre disparos en 10 segundos. Cuando realmente comience a capturar, es posible que desee cambiar eso a cada minuto. Cambie la siguiente línea para determinar cuántos fotogramas capturar, en el ejemplo se establece como 1440:

mientras que [$ x -le 1440]; hacer. 

Para hacer que el script sea ejecutable, use:

chmod 755 runtimelapse. 

Luego ejecútalo usando:

./runtimelapse. 
trabajo usb

Hacer una película

Aún en la línea de comando SSH, intentaremos unir la película directamente en el Pi, si ha tomado miles de fotos y su cámara web es más alta resolución, es posible que esto sea terriblemente lento, en cuyo caso, desplácese hasta las instrucciones de la película para DSLR y transfiera los archivos a su PC usando SFTP.

usb-sftp
cd timelapse ls * .jpg> list.txt. sudo apt-get install mencoder. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: aspecto = 16/9: vbitrate = 8000000 -vf scale = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt. 

Si todo parece estar bien pero obtienes una salida de archivo de 0 KB, significa que no hay suficiente espacio en la carpeta temporal de tus dispositivos. Resolví esto con una instalación limpia y expandiendo el sistema raíz nuevamente, parece que BTSync había estropeado algunos archivos temporales.

Aquí está la escena final de una cámara web USB, desde la tarde hasta la oscuridad.

¡Esto fue mucho más fácil de lo que pensé que sería, y no me sorprendería encontrar a alguien en los comentarios que detalla un método aún más fácil! Intente una visión fascinante de la vida que de otro modo sería difícil de comprender, y comparta un enlace a sus creaciones en los comentarios u otros videos de lapso de tiempo que le resulten particularmente inspiradores.

James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.