Sådan Capture Time-Lapse Photography med din Hindbær Pi og DSLR eller USB Webcam

Time-lapse fotografering kan virkelig give dig en fornemmelse af, hvordan verden virker på et makroskopisk niveau, ud over alt, der er tænkeligt for den normale menneskelige oplevelse af tiden.

Time-lapse fotografering kan virkelig give dig en fornemmelse af, hvordan verden virker på et makroskopisk niveau, ud over alt, der er tænkeligt for den normale menneskelige oplevelse af tiden.
Reklame

Se skyerne flytte eller en frøplante vokse. Time-lapse fotografering kan virkelig give dig en fornemmelse af, hvordan verden virker på et makroskopisk niveau, ud over alt, der er tænkeligt for den normale menneskelige oplevelse af tiden. Eller andre ord: det kan vise sig at male tørre til noget helt interessant. Desværre kan professionelt time-lapse-udstyr - mens du tilføjer evnen til at rotere eller flytte dit kamera - ligesom Genie kan koste op til $ 1000. I dag laver vi en grundlæggende time-lapse controller uden bevægelse - til DSLR eller et USB-webcam - med bare en Raspberry Pi.

Husk at tjekke alle vores andre fantastiske Raspberry Pi projekter også.

DSLR

Som altid vil alt vores arbejde med Pi udføres over en SSH-kommandolinje, og vi kan få fat i filerne ved hjælp af SFTP med samme legitimationsoplysninger, hvis du har gemt dem på Pi i stedet for kameraet. Hvis du ikke er sikker på, hvad din Pi-adresse er, skal du logge på din router og se listen over de tilsluttede enheder. Det skal rapporteres korrekt.

tilsluttede-enheder

Begynd med at installere nogle vigtige software:

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

GPhoto2 er et kommandolinjeværktøj til direkte grænseflade med understøttede DSLR-kameraer (se hele listen her). Jeg brugte en Canon Rebel T4i / 650D Canon Rebel T4i dSLR Review og Giveaway Canon Rebel T4i dSLR Review og Giveaway Canon har netop udgivet deres nye Rebel T4i - deres første (forhåbentlig mange) eventyr i touchscreen dSLR verden. Dette kamera er et trin op fra Canon Rebel T3i (gør det også det tredje ... Læs mere. Nu skal du forbinde kameraet til Pi via USB.

Da jeg har brugt automatiske ISO-værdier og AV-tilstand, er opsætningen relativt enkel, og vi kan fange serien ved hjælp af kun kommandolinjen - værktøjet indeholder indbyggede tidsforløbsparametre. Her er den mest grundlæggende kommando, du kan bruge til at teste evnerne:

 gphoto2 --capture-image-and-download 

som overfører filen til din Pi, eller

 gphoto2 --capture-image 

for at holde billedet på kameraet. Ved 8 MB en pop er det muligvis bedst at holde dem på kameraet og udføre filmsting efter det faktum fra en pc eller en Mac.

Vigtigt: Som standard gemmes billederne på SD-RAM, ikke hukommelseskortet i kameraet. Mener du vil miste dem alle (jeg taler fra erfaring). For at sikre, at de rent faktisk gemmer, skal vi først fastsætte fangstmålet:

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

Se på listen, den udsender og indstil målet som følger, erstatter 1 med det, der vises som dit kort.

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

Hvis du vil fange i time-lapse-tilstand, tilføj -F og -I for at angive det samlede antal billeder, du vil fange, og tidsintervallet mellem hver enkelt. I dette eksempel indfanges en gang hvert 30. sekund for i alt 1440 rammer, som når de bliver lavet til en 24 FPS-film, svarer til et minut. Jeg tror ikke, at kameraets batteri vil vare så længe alligevel, men jeg vil se, hvor mange jeg får.

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

En ting at huske på; Efter at kommandoen er afsluttet, kan kameraet slukke og bliver uresponsivt - du skal manuelt afbryde strømafbryderen (i hvert fald på min model gjorde det). Dette bør ikke være et problem i feltet, når det er i brug, men det bliver ret irriterende til test. Hvis du kender en løsning til dette, så lad mig vide i kommentarerne, tak!

gphoto2-bearbejdning

Lav en film

Overfør filerne til din stationære computer til behandling. På en Mac har jeg fundet det nemmeste at bruge kommandolinjen, men du skal bruge XCode, Homebrew og MPlayer først. For at gøre dette skal du først downloade Xcode fra App Store (det er gratis), og derefter aktivere kommandolinjeværktøjer fra fanen Indstillinger -> Downloads .

Xcode-install-CLT

Kør derefter (en ad gangen):

 ruby<(curl -fsSkL raw.github.com/mxcl/homebrew/go) brew doctor brew install mplayer 

homebrew

Du skal nu have de nødvendige kodende komponenter installeret. Kør følgende kommandoer for først at oprette en liste over de indfangede .jpg"-filer, og følg derefter listen i mencoder, et værktøj, der bruges til at oprette videoer. Skift FPS-værdien, hvis du foretrækker at filmen går hurtigere.

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

Her er hvad jeg endte med, ved hjælp af 24 FPS fra 330 rammer skudt hvert minut fra morgen til midten af ​​eftermiddagen. Vejret er Storbritannien virkelig er så dårligt, fra solskin til overskyet i 5 minutters intervaller hele dagen. Suk.

For at kode en film i Windows, eller hvis du foretrækker at bruge en GUI, skal du downloade Avidemux, og følg video-tutorialet nedenfor. Sørg for, at dine fotos nummereres i rækkefølge.

Brug af et USB-webcam

Selvfølgelig har ikke alle en DSLR, men i stedet for at købe et dyrt officielt kameramodul til Raspberry Pi, kan du også udføre time-lapse fotografering ved hjælp af et USB-webcam uden for hylderne - i mit tilfælde et PS3-øje, som er normalt lidt besvær for at arbejde på pc eller mac, men arbejder ud af boksen på pi. Du skal muligvis bruge et USB-hub med strømforsyning, og kameraet er skitseret.

Kontroller først, om dit webcam er blevet registreret korrekt.

 ls -l /dev/video* 

Forhåbentlig ser du / dev / video0 opført som dette:

dev-Video0

Så kan vi fortsætte med at installere webcam capture software, og tage et testbillede.

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

Slet filen med:

 rm test.jpg" 

Tag et par testbilleder, så du kan placere kameraet på passende vis, så fortsætter vi med time-lapse-scriptet.

 mkdir timelapse nano runtimelapse 

Indsæt i følgende:

 #!/bin/bash # Timelapse controller for USB webcam DIR=/home/pi/timelapse x=1 while [ $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 )) sleep 10; done; 

Til test har jeg sat ventetiden imellem billeder som 10 sekunder. Når du faktisk begynder at fange, kan du måske ændre det til hvert minut i stedet. Ændr følgende linje for at bestemme, hvor mange rammer der skal indfange, i eksemplet er det angivet som 1440:

 while [ $x -le 1440 ]; do 

For at gøre scriptet eksekverbart, brug:

 chmod 755 runtimelapse 

Kør derefter det ved hjælp af:

 ./runtimelapse 

USB-bearbejdning

Lav en film

Stadig på SSH-kommandolinjen forsøger vi at sy biografen direkte på Pi - hvis du har taget tusindvis af billeder, og dit webcam er højere opløsning, kan du finde det her forfærdeligt langsomt, i så fald rulle op til filmen instruktioner til DSLR, og overfør filerne til din pc ved hjælp af SFTP.

USB-sftp

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

Hvis det hele virker godt, men du får en 0 KB filudgang, betyder det, at der ikke er nok plads på din enheder temp mappe. Jeg løst dette med en ren installation og udvider rodsystemet igen - det ser ud til, at BTSync havde ødelagt nogle tempfiler.

Her er den færdige scene fra et USB-webcam, fra sen eftermiddag til mørk.

Dette var langt lettere end jeg troede det ville være - og jeg ville ikke være overrasket over at finde nogen i kommentarerne med en endnu nemmere metode! Giv det en chance for et fascinerende livsbillede, som ellers er svært at forstå, og dele et link til dine kreationer i kommentarerne eller andre tidspunkter, som du har fundet særligt inspirerende.

In this article