Indholdsfortegnelse:
- Trin 1: Billeder fra et IP -kamera
- Trin 2: Optagelse af billeder - metode 1
- Trin 3: Optagelse af billeder - Metode 2
- Trin 4: Kopier billederne til en Windows -pc
- Trin 5: Oprettelse af videoen - Photolapse 3
- Trin 6: Oprettelse af videoen - VirtualDub
- Trin 7: Konklusion
Video: Sådan laver du en time -lapse -video: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-31 10:18
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
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
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
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
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
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:
Sådan laver du en trådløs dåse-telefon! (Arduino Walkie Talkie): 7 trin (med billeder)
Sådan laver du en trådløs dåse-telefon! (Arduino Walkie Talkie): Lige forleden var jeg midt i et meget vigtigt telefonopkald, da min banantelefon holdt op med at fungere! Jeg var så frustreret. Det er sidste gang, jeg savner et opkald på grund af den dumme telefon! (Set i bakspejlet er jeg måske blevet lidt for sur i
Time Cube - Arduino Time Tracking Gadget: 6 trin
Time Cube - Arduino Time Tracking Gadget: Jeg vil gerne foreslå dig et enkelt, men virkelig nyttigt arduino -projekt til at spore tidsbegivenheder ved at vende en smart cube -gadget. Vend det til " Arbejde " > " Lær " > " Opgaver " > " Hvile " side, og det vil tælle
Sådan laver du rigtige computerspil. Sjov og kun tage omkring en time: 10 trin
Sådan laver du rigtige computerspil. Sjov og kun tage cirka en time: Hey, dette projekt viser dig, hvordan du laver spil !!! rigtige spil til computere, og det kræver ikke, at du kender forvirrende koder. når du gennemfører dette projekt, kender du nogle af de grundlæggende principper for spiloprettelse, og du kan lave så mange, du vil
Sådan laver du en delt skærmvideo med fire trin: 4 trin (med billeder)
Sådan laver du en delt skærmvideo med fire trin: Vi ser ofte en samme person vise sig i en scene to gange i et tv -afspilning. Og så vidt vi ved, har skuespilleren ikke en tvillingebror. Vi har også set, at to sangvideoer er sat på en skærm for at sammenligne deres sangevner. Dette er kraften i spl
Sådan laver du en cool mp3 -højttalerdock på under en time !: 8 trin
Sådan laver du en kølig Mp3 -højttalerdock på under en time !: Sådan laver du en ond kølig mp3 -højttaler dock på under en time gratis