Reklame

Se skyerne bevæge sig eller en frøplante vokse. Time-lapse-fotografering kan virkelig give dig en fornemmelse af, hvordan verden fungerer på et makroskopisk niveau, ud over alt, der kan tænkes for den normale menneskelige oplevelse af tid. Eller andre ord: det kan gøre at se maling tørre til noget ganske interessant. Desværre er professionelt udstyr til tidsforløb - mens du tilføjer muligheden for at rotere eller bevæge 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.

Sørg for at tjekke alle vores andre gode Raspberry Pi-projekter også.

DSLR

Som sædvanligt udføres alt vores arbejde med Pi via en SSH-kommandolinie, og vi kan gribe filerne vha. SFTP med de samme legitimationsoplysninger, hvis du har gemt dem på Pi i stedet for kameraet. Hvis du ikke er sikker på, hvad IP-adressen på din Pi er, skal du logge på din router og se listen over aktuelt tilsluttede enheder - den skal rapportere sig selv korrekt.

tilsluttede-enheder

Begynd med at installere noget essentielt software:

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

GPhoto2 er et kommandolinjeværktøj til direkte interface med understøttede DSLR-kameraer (se den fulde liste her). Jeg brugte en Canon Rebel T4i / 650D Canon Rebel T4i dSLR Review og GiveawayCanon har netop frigivet deres nye Rebel T4i - deres første (af forhåbentlig mange) eventyr i berøringsskærmen dSLR verden. Dette kamera er et trin op fra Canon Rebel T3i (hvilket også gør det til det tredje ... Læs mere . Tilslut nu dit kamera 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 med bare kommandolinjen - værktøjet indeholder indbyggede tidsforløbsparametre. Her er den mest basale kommando, du kan bruge til at teste funktionerne:

gphoto2 - optagelsesbillede-og-download

som overfører filen til din Pi, eller

gphoto2 - optagelsesbillede

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

Vigtig: Som standard gemmes billeder på SD-RAM og ikke hukommelseskortet i kameraet. Betydning at du mister dem alle (jeg taler af erfaring). For at sikre, at de rent faktisk gemmer, skal vi først indstille fangstmålet:

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

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

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

For at fange i time-lapse-tilstand skal du tilføje -F og -JEG for at specificere det samlede antal af rammer du vil fange og tiden interval mellem hver. I dette eksempel er det at optage en gang hvert 30. sekund for i alt 1440 billeder, som når det laves til en 24 FPS-film vil svare til cirka et minut. Jeg tror ikke, at mit kameras batteri vil vare så længe alligevel, men jeg kan se, hvor mange jeg får.

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

Et underlig at huske på; når kommandoen er afsluttet, kan kameraet muligvis slukke og reagerer ikke - du bliver nødt til manuelt at cykle afbryderen (i det mindste på min model, det gjorde). Dette burde ikke være et problem ude i marken, når det er i brug, men til testformål bliver det ret irriterende. Hvis du kender en løsning på dette, så lad mig det vide i kommentarerne, tak!

gphoto2-bearbejdning

Oprettelse af en film

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

Xcode-install-CLT

Kør derefter (én ad gangen):

ruby 
homebrew

Du skal nu have de nødvendige kodningskomponenter installeret. Kør følgende kommandoer for først at oprette en liste over de indfangede .jpg-filer, derefter føres listen ind i mencoder, et værktøj, der bruges til at oprette videoer. Skift FPS-værdi, 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 skala = 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, der blev optaget hvert minut fra morgen til midt på eftermiddagen. Vejret er Storbritannien virkelig så dårligt, fra solrig til overskyet i 5 minutters intervaller hele dagen. Suk.

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

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

Brug af et USB-webcam

Selvfølgelig har ikke alle en DSLR, men snarere end at købe et dyrt officielt kameramodul til Raspberry Pi, kan du også udføre time-lapse-fotografering ved hjælp af en USB-hylde webcam - i mit tilfælde et PS3 Eye, som normalt er en besværet med at komme i gang på pc eller Mac, men som fungerer ud af boksen på Pi. Du skal muligvis bruge en drevet USB-hub, og kamerastøtte er magre.

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

ls -l / dev / video *

Forhåbentlig vil du se / dev / video0 nævnt her:

dev-Video0

Derefter kan vi gå videre med installation af webcam-opsamlingssoftwaren 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 for at gøre det muligt for dig at placere kameraet korrekt, så fortsætter vi med time-lapse-scriptet.

mkdir timelapse. nano runtimelapse. 

Indsæt følgende:

#! / Bin / bash. # Timelapse-controller til USB-webcam DIR = / home / pi / timelapse x = 1. mens [$ x -le 1440]; do filename = $ (date -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ filnavn x = $ (($ x + 1)) sove 10; Færdig; 

Til testformål har jeg angivet ventetiden mellem skud som 10 sekunder. Når du faktisk begynder at fange, vil du måske ændre det til hvert minut i stedet. Skift den følgende linje for at bestemme, hvor mange rammer der skal optages, i eksemplet er den indstillet til 1440:

mens [$ x -le 1440]; gøre. 

For at gøre scriptet eksekverbart skal du bruge:

chmod 755 runtimelapse. 

Kør det derefter ved hjælp af:

./runtimelapse. 
USB-bearbejdning

Oprettelse af en film

Stadig på SSH-kommandolinjen vil vi prøve at sy filmen direkte på Pi - hvis du har taget tusinder af billeder og dit webcam er højere opløsning, kan du opleve, at dette er rystende langsomt, i hvilket tilfælde rulle op til filminstruktionerne 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 skala = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt. 

Hvis det hele synes godt, men du får en fil på 0 KB, betyder det, at der ikke er nok plads på din enheds temp-mappe. Jeg løste dette med en ren installation og udvidede rodsystemet igen - det ser ud til, at BTSync havde rodet nogle temp-filer.

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

Dette var langt lettere, end jeg troede, det ville være - og jeg ville ikke blive overrasket over at finde nogen i kommentarerne, der beskriver en endnu lettere metode! Giv det en chance for et fascinerende livssyn, der ellers er vanskeligt at forstå, og del et link til dine kreationer i kommentarerne eller andre tidsporede videoer, som du har fundet særlig inspirerende.

James har en BSc i kunstig intelligens og er CompTIA A + og Network + certificeret. Han er hovedudvikler af MakeUseOf og bruger sin fritid på at spille VR paintball og brætspil. Han har bygget pc'er siden han var barn.