
Edmund Richardson
0
4824
1189
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 kan professionelt time-lapse-udstyr - mens du tilføjer muligheden for at rotere eller flytte dit kamera - som Genie 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 også at tjekke alle vores andre store Raspberry Pi-projekter.
DSLR
Som sædvanligt vil alt vores arbejde med Pi blive udført over en SSH-kommandolinie, og vi kan gribe filerne ved hjælp af 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.
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 Giveaway Canon Rebel T4i dSLR Review og Giveaway Canon 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 skridt op fra Canon Rebel T3i (hvilket også gør det til det tredje .... 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 kun kommandolinjen - værktøjet indeholder indbyggede tidsforløbsparametre. Her er den mest basale kommando, du kan bruge til at teste funktionerne:
gphoto2 - capture-image-and-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 det faktum fra en pc eller Mac.
Vigtig: Som standard gemmes billeder på SD-RAM, ikke på 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, 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
Tilføj til for at fange i time-lapse-tilstand -F og -jeg for at specificere det samlede antal af rammer du ønsker at 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 vil 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 cyklere 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!
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 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.
Kør derefter (én ad gangen):
rubin <(curl -fsSkL raw.github.com/mxcl/homebrew/go) brew doctor brew install mplayer
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ølge videovejledningen 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 et USB-webcam uden for hylden - i mit tilfælde et PS3 Eye, som er normalt et besvær med at arbejde på pc eller Mac, men fungerer ud af kassen på Pi. Du skal muligvis bruge et drevet USB-hub, og kamerasupport er tegnet.
Kontroller først, om dit webcam er fundet korrekt.
ls -l / dev / video *
Forhåbentlig vil du se / dev / video0 nævnt her:
Derefter kan vi gå videre med at installere 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 roundimelapse
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 indstillet ventetiden mellem skud til 10 sekunder. Når du faktisk begynder at fange, skal du muligvis æ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
Oprettelse af en film
Stadig på SSH-kommandolinjen, prøver vi at sy filmen direkte på Pi - hvis du har taget tusinder af billeder, og dit webcam har en højere opløsning, kan du opleve, at dette er rystende langsomt, i hvilket tilfælde rulle op til filmen instruktioner til DSLR, og overfør filerne til din pc ved hjælp af 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.