Indholdsfortegnelse:

Sådan laver du en time -lapse -video: 7 trin
Sådan laver du en time -lapse -video: 7 trin

Video: Sådan laver du en time -lapse -video: 7 trin

Video: Sådan laver du en time -lapse -video: 7 trin
Video: Peberkagehus - sådan laver du det trin for trin | Arla Madløjer 2024, November
Anonim
Image
Image

I denne instruktionsbog vil jeg beskrive de trin, jeg bruger til at lave en time -lapse -video. Det system og den hardware, jeg bruger til at få billederne, er en Linux -computer og et netværksbaseret IP -kamera. Et script kører på Linux-computeren, og hvert x sekund undersøger IP-kameraet, tager et billede, ændrer det igen, klokkeslæt og dato stempler det og gemmer det på computerens harddisk. For at oprette videoen fra billederne vil jeg dække to forskellige freeware -applikationer på en Windows -pc og se på at bruge Linux som en mulighed.

Når du får billeder, skal du finde ud af tiden mellem hvert billede, eller hvor mange billeder i timen eller dagen, du skal bruge til at oprette en video, der ser god ud og ikke er for lang eller kort.

I tilfælde af min ice off video. Jeg tog et billede hvert 20. sekund fra lige før solopgang den første dag og gik lige til solnedgang den følgende dag. Jeg fjernede de fleste natbilleder, før jeg bearbejdede dem til videoen, men besluttede mig for at holde en "månestigning"

Dette efterlader mig med omkring 4, 430 billeder. Hvis jeg producerer videoen ved hjælp af 25 billeder i sekundet, vil længden være:

4, 430 /25 = 177,2 sekunder lang. 177,2 sekunder er næsten 3 minutter.

Hvis du havde lyst til at fange noget som et hus, der bygges, ville hvert 3. til 5. minut være et godt sted at starte.

Afhængigt af hvor ofte og hvor længe jeg har brug for at tage billeder, bruger jeg en til to forskellige metoder.

Trin 1: Billeder fra et IP -kamera

Billeder fra et IP -kamera
Billeder fra et IP -kamera

De fleste IP -kameraer, der bruges til enten videoovervågning eller webcams i fuld bevægelse, giver dig mulighed for at se et still-j.webp

"https:///snap.jpg"

Til et Planet -kamera:

"https:///image.cgi? opløsning = 1920x1080"

Du skal google den webadresse, der skal bruges til dit kamera.

Både de Ubiquiti- og Planet -billeder, jeg får, er 1920x1080 i størrelse (standard for hvert kamera, da de er 1080 kameraer). Med denne størrelse ender du med en enorm mængde data og en enorm videofil. Jeg kan godt lide at ændre størrelsen på billedet, mens jeg griber det og skriver det til disk, og jeg vil vise dette trin i mit script. Jeg bruger convert, som er en del af ImageMagick -værktøjerne.

Trin 2: Optagelse af billeder - metode 1

Optagelse af billeder - metode 1
Optagelse af billeder - metode 1
Optagelse af billeder - metode 1
Optagelse af billeder - metode 1

Jeg bruger denne metode til at fange kortere begivenheder som is-off. Du kan bruge denne metode til at fange noget som f.eks. En indflytning og opsætning af en begivenhed - noget der tager et par timer eller 1 eller 2 dage, og hvor du kan fjerne uønskede billeder som nattetid manuelt, før du behandler det til en video

Under Linux ser et script til mit Ubiquiti -kamera sådan ud:

#!/bin/bash

# gå til den korrekte mappe

cd/home/steve/iceoff

# Ubiquiti - ubnt kamera

URL = "https://192.168.2.114/snap.jpg"

# hvor man kan skrive billeder

ubnt_dir =/home/steve/iceoff/ubnt

# forsinkelse mellem billeder

forsinkelse = 20

# løkken

mens sandt gør

# brug tid/dato til at stemple filnavn - dette skal være i loop -sektionen

nu = $ (/bin/date '+%Y%m%d%H%M%S')

# få billedet og skriv det som ubnt.jpg

/usr/bin/wget -q -O "$ ubnt_dir/ubnt.jpg" -t 1 $ URL

# genstørr ubnt.jpg-billedet, og skriv det til disken ved hjælp af dato/klokkeslætformat til filnavn

konvertere -geometri 1024x "$ ubnt_dir/ubnt.jpg" "$ ubnt_dir/$ {nu}.jpg"

# sove i forsinkelsestiden, så få et andet billede

/bin/sleep "$ forsinkelse"

Færdig

Hvad scriptet gør:

indstil en variabel URL til, hvor billedet er på netværket/kameraet

indstil variablen ubnt_dir til det sted, hvor vi vil gemme billeder (du skal oprette biblioteket, før du kører scriptet)

indstil variabelforsinkelsen til, hvor mange sekunder mellem billederne - dette gør det let at ændre tiden mellem billederne, bare ændre denne variabel og køre scriptet igen

start en loop med mens true do - denne loop skal gå, indtil du stopper scriptet med en ctrl -c

indstil variablen nu som år, måned, dag, time, sekund

16. februar 2019 kl. 8 minutter og 29 sekunder efter kl. 13.00 ligner 20190216130829

brug wget til at få et billede fra URL'en og skrive det som ubnt-j.webp

konverter billedet ubnt-j.webp

sove i antallet af sekunder i forsinkelsesvariablen

gå tilbage og start på det sande trin

For at køre dette script logger jeg ind på min konto og kører det fra terminalen - så det er godt til at fange noget som isen fra en sø - det er gjort på en dag eller to, og jeg har brug for et billede hvert 20. sekund.

Trin 3: Optagelse af billeder - Metode 2

Optagelse af billeder - metode 2
Optagelse af billeder - metode 2

I længere tid bortfalder som opførelsen af en bygning eller et år langtidsforløbsprojekt, bruger jeg en anden måde at tage billeder på. Til dette bruger jeg cron.

Cron er et værktøj, der kører en kommando en gang hvert x minut, timer, dage eller måneder. Så du kan skræddersy, når kommandoen kører efter minut, time, dag, måned i måneden osv. En bruger i et Linux -system kan have sit eget cron -job, og det gemmes i deres crontab -fil.

I et tidsforløb, der går i flere måneder, hvor jeg får et billede hvert X. minut, bruger jeg et cron -job og et lidt andet script, idet det ikke kræver en loop (mens true gør og gjort), da cron vil kalde scriptet hver X antal minutter.

Ikke kun kan du bruge det til at køre scriptet hvert X. minut, men du kan begrænse det til at køre mellem bestemte timer, så du ikke behøver at fjerne mange natbilleder. Efterhånden som årstiden og dagslyset ændres, ændrer jeg mit job til at afspejle det.

For at oprette et cron -job -login til din Linux -server og køre: crontab -e Dette starter en redigering af din crontab. Min crontab -fil har en linje som denne:

*/5 4-23 * * * /home/steve/timelapse/get.ubnt>/dev/null 2> & 1

*/5 betyder løb hvert 5. minut

4-23-midlerne kører det fra 04.00 til 23.00 (dette ændrer sig med sæsonen for mig)

Den første * betyder, at du kører den hver dag i måneden

Den anden * betyder, at du kører den hver måned i året

Den tredje * betyder at køre den hver dag i ugen

/home/steve/timelapse/get.ubnt er scriptnavnet, der kører

/dev/null 2> & 1 betyder at sætte standardoutput til null og eventuelle fejl til null - hvis du ikke har dette, får du e -mail hver gang cron -jobbet kører.

Mit script /usr/steve/timelapse/get.ubnt ser sådan ud:

#!/bin/bash

cd/home/steve/timelapse

URL = "https://192.168.2.114/snap.jpg"

nu = $ (/bin/date '+%Y%m%d%H%M%S')

/usr/bin/wget -q -O ubnt-j.webp

konvertere -geometri 1024x ubnt-j.webp" />

Hvad dette script gør:

skifte til/home/steve/timelapse

indstil en variabel URL til, hvor billedet er på netværket/kameraet

indstil variablen nu til år, måned, dag, time, minut, sekund (så vi kan tid/dato stemple det sidste-j.webp

hent billedet fra URL og skriv det ud til ubnt.jpg

ændre størrelsen på billedet til 1024 pixel bredt med det korrekte forhold, og skriv filen som et dato/klokkeslætstempel.

Som med den tidligere metode/script vil hans filnavne blive sekventielle og gøre det muligt for os at oprette videoen med rammerne i den korrekte sekvens. Efter at jeg har et par dages værdi af billeder, vil jeg kopiere dem til en mappe på min Windows -pc for at oprette videofilen. Jeg bruger normalt ftp til at hente filerne på Windows -pc'en, da de er på det samme netværk, og login/adgangskode som klar tekst er ikke synlig på Internettet.

Trin 4: Kopier billederne til en Windows -pc

For at kopiere billederne fra Linux -systemet til en Windows -pc til behandling til en video bruger jeg FTP.

Windows -programmet, jeg bruger til dette, er FileZilla Client. Du kan bruge enhver ftp -klient, du foretrækker, selv kommandolinjeversionen i Windows.

Hvis du ved, hvad du laver, kan du også bruge Samba eller NFS og få Linux -filerne vist som en mappe i Windows.

Trin 5: Oprettelse af videoen - Photolapse 3

Oprettelse af videoen - Photolapse 3
Oprettelse af videoen - Photolapse 3
Oprettelse af videoen - Photolapse 3
Oprettelse af videoen - Photolapse 3
Oprettelse af videoen - Photolapse 3
Oprettelse af videoen - Photolapse 3

Nu hvor vi har billederne, skal vi sy dem sammen for at oprette en videofil.

Der er mange programmer, du kan bruge til at gøre dette, og du vil måske eksperimentere med forskellige programmer.

Men for et relativt lille antal billeder, som jeg fanger i løbet af en eller to dage med is, bruger jeg Windows -programmet Photolapse 3 - som desværre ikke opdateres mere, og jeg kan ikke længere finde det originale websted til det. Det er dog tilgængeligt fra en række "download" -steder. En hurtig Google -søgning burde være fin.

Hvad der er/var rart ved dette program er, at det er en enkelt binær, så der er ingen installation. Download bare binæret og kør det. Ulempen er, at den ikke vil behandle et stort antal filer. Med kæmpestor mener jeg sandsynligvis 20 tusinde eller mere, men for noget som min isoff -video med cirka 5.000 billeder er det helt fint.

Du starter programmet, øverst i venstre boks borer ned eller finder, hvor dine billeder er gemt, og sætter derefter antallet af framers i sekundet (et mindre antal får videoen til at fremstå som slowmotion). Klik derefter på knappen "Indlæs filer fra den aktuelle mappe"

Photolapse indlæser og forhåndsviser hvert billede, og du får en idé om, hvordan videoen vil se ud.

Når den er færdig med at behandle hele mappen, skal du klikke på knappen "Opret film", ændre filnavnet, hvis du vil, og derefter klikke på "Gem".

Dernæst skal du vælge en komprimeringsmetode til videoen eller lade den være ukomprimeret. Jeg bruger "Microsoft Video 1". Det eneste der er tilbage er at klikke på "OK"

Selvom du skal gennemgå alle trin igen for at vælge en anden komprimeringsmetode eller codec, er det værd at prøve forskellige indstillinger her, hvis du har brug for videoen komprimeret.

De billeder, jeg brugte til skærmoptagelserne i dette trin, var nogle fra de originale isfrie billeder. Jeg brugte 1191 billeder på 1024x576 pixels. De optog cirka 110 MB diskplads. Den komprimerede video var 235 MB i størrelse, og den ukomprimerede var 1,96 GB

Trin 6: Oprettelse af videoen - VirtualDub

Oprettelse af videoen - VirtualDub
Oprettelse af videoen - VirtualDub
Oprettelse af videoen - VirtualDub
Oprettelse af videoen - VirtualDub
Oprettelse af videoen - VirtualDub
Oprettelse af videoen - VirtualDub

Det andet program, jeg har brugt, er VirtualDub

Download zip -filerne her. Der er en 32-bit og 64-bit version

Pak filerne ud i deres egen mappe.

En af de ting, du skal gøre med dine billeder, er at sekvensielt omnummerere dem. Brug af dato/klokkeslæt -stempelfilnavne som mine scripts opretter virker ikke med VirtualDub. Der er et par måder at omnummerere filerne på:

Lav først en sikkerhedskopi af dine filer, derefter en anden sikkerhedskopi. Brug derefter den anden kopi:

Åbn mappen med billederne, skift visningen til "detaljer", fremhæv den første fil på listen, tryk på ctrl-a for at markere alle filer, højreklik og vælg "omdøb". Skift filnavnet til 1, og tryk derefter på enter.

Dette behandler listen over filer og tilføjer (1).jpg, derefter (2)-j.webp

Den anden måde er at bruge et program kaldet Irfanview. Det har en batch-tilstand, hvor du kan omdøbe filerne i rækkefølge til 1.jpg, 2.jpg, 3-j.webp

Når filerne er omdøbt, skal du starte VirtualDub, klikke på "fil" og derefter "åbne videofil". Vælg den første-j.webp

Klik på "Video" og derefter "Billedhastighed", ændre dette til 30 (eller hvilken som helst billedhastighed du vil prøve)

Klik på "Video" og derefter "Komprimering" - som med fotolaps 3 brugte jeg "Microsoft video 1"

Klik på "File" og derefter "Gem som AVI" for at begynde at behandle billederne. Navngiv filen, og klik derefter på "Gem"

Dette starter behandlingen og viser, hvor lang tid det vil tage.

Selvom der er flere trin i brugen af VirtualDub, vil den behandle flere filer end fotolaps 3.

Jeg har lavet en timelapse med over 88.000 billeder ved hjælp af VirtualDub.

Trin 7: Konklusion

For at se timelapse -videoer kan du bruge et program som VLC eller Windows egen medieafspiller.

Der er mange, mange måder at tage billeder og lave en timelapse.

Hvis du har et canon -kamera, er der tredjeparts firmware -CHDK til nogle modeller, som giver dig mulighed for at bruge kameraet i intervalometer -tilstand og tage et billede hvert x sekund.

Eksperimentér masser! Håber du fandt denne Instructable interessant, og hvis du laver en timelapse, skal du sørge for at efterlade et link til den i kommentarerne.

Anbefalede: