Innehållsförteckning:
- Steg 1: Bilder från en IP -kamera
- Steg 2: Ta bilder - metod 1
- Steg 3: Ta bilder - metod 2
- Steg 4: Kopiera bilderna till en Windows -dator
- Steg 5: Skapa videon - Photolapse 3
- Steg 6: Skapa videon - VirtualDub
- Steg 7: Slutsats
Video: Hur man gör en time -lapse -video: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-31 10:25
I den här instruktionsboken beskriver jag stegen jag använder för att göra en time -lapse -video. Systemet och hårdvaran jag använder för att få bilderna är en Linux -dator och en nätverksbaserad IP -kamera. Ett skript körs på Linux-datorn och var x sekund undersöker IP-kameran, tar en bild, ändrar storlek, tid och datum stämplar den och sparar den på datorns hårddisk. För att skapa videon från bilderna kommer jag att täcka två olika freeware -program på en Windows -dator och titta på att använda Linux som ett alternativ.
När du får bilder måste du räkna ut tiden mellan varje bild, eller hur många bilder per timme eller dag du behöver för att skapa en video som ser bra ut och inte är för lång eller kort.
När det gäller min ice off -video. Jag tog en bild var 20: e sekund från strax före soluppgången den första dagen och gick fram till solnedgången följande dag. Jag tog bort de flesta nattbilderna innan jag bearbetade dem till videon, men bestämde mig för att hålla en "månuppgång"
Detta lämnar mig med cirka 4, 430 bilder. Om jag producerar videon med 25 bilder per sekund blir längden:
4, 430 /25 = 177,2 sekunder lång. 177,2 sekunder är nästan 3 minuter.
Om du ville fånga något som ett hus som byggs, var var tredje till var femte minut ett bra ställe att börja.
Beroende på hur ofta och hur länge jag behöver ta bilder använder jag en för två olika metoder.
Steg 1: Bilder från en IP -kamera
De flesta IP -kameror som används antingen i videoövervakning eller för fullrörelse webbkameror gör att du kan titta på en stillbilds -j.webp
"https:///snap.jpg"
För en Planet -kamera:
"https:///image.cgi? resolution = 1920x1080"
Du måste googla webbadressen för ditt kameramärke.
Både Ubiquiti- och Planet -bilderna jag tar är 1920x1080 i storlek (standard för varje kamera eftersom de är 1080 -kameror). Med den här storleken får du en enorm mängd data och en enorm videofil. Jag gillar att ändra storlek på bilden när jag tar den och skriver den till hårddisken och jag kommer att visa detta steg i mitt manus. Jag använder convert som är en del av ImageMagick -verktygen.
Steg 2: Ta bilder - metod 1
Jag använder den här metoden för att fånga kortare händelser som is-off. Du kan använda den här metoden för att fånga något som att flytta in och konfigurera en händelse - något som tar några timmar eller 1 eller 2 dagar och där du kan ta bort oönskade bilder som natt manuellt innan du bearbetar till en video
Under Linux ser ett skript för min Ubiquiti -kamera ut så här:
#!/bin/bash
# gå till rätt mapp
cd/home/steve/iceoff
# Ubiquiti - ubnt -kamera
URL = "https://192.168.2.114/snap.jpg"
# var man ska skriva bilder
ubnt_dir =/home/steve/iceoff/ubnt
# fördröjning mellan bilder
fördröjning = 20
# loopen
medan sant gör
# använd tid/datum för att stämpla filnamn - detta måste finnas i loop -sektionen
nu = $ (/bin/datum '+%Y%m%d%H%M%S')
# få bilden och skriv den som ubnt.jpg
/usr/bin/wget -q -O "$ ubnt_dir/ubnt.jpg" -t 1 $ URL
# ändra storlek på ubnt.jpg-bilden och skriva den till hårddisken med datum/tid-format för filnamn
konvertera -geometri 1024x "$ ubnt_dir/ubnt.jpg" "$ ubnt_dir/$ {nu}.jpg"
# sova för fördröjningstiden och få sedan en annan bild
/bin/sleep "$ delay"
Gjort
Vad manuset gör:
ställ in en variabel URL till var bilden är i nätverket/kameran
ställ in variabeln ubnt_dir till där vi vill spara bilder (du måste skapa katalogen innan du kör skriptet)
ställ in variabelns fördröjning till hur många sekunder mellan bilderna - det här gör det enkelt att ändra tiden mellan bilderna, bara ändra den här variabeln och kör skriptet igen
starta en loop med medan true do - dessa loopar ska gå tills du stoppar manuset med en ctrl -c
ställ in variabeln nu som år, månad, dag, timme, sekund
16 februari 2019 kl. 8 minuter och 29 sekunder efter kl. 13.00 ser ut som 20190216130829
använd wget för att ta en bild från URL: en och skriva den som ubnt-j.webp
konvertera bilden ubnt-j.webp
sova i antalet sekunder i fördröjningsvariabeln
gå tillbaka och börja på medan sant gör steg
För att köra det här skriptet loggar jag in på mitt konto och kör det från terminalen - så det här är bra för att fånga något som isen på en sjö - det är gjort på en dag eller två och jag behöver en bild var 20: e sekund.
Steg 3: Ta bilder - metod 2
För längre tid förfaller som byggandet av en byggnad eller ett år lång time -lapse -projekt använder jag ett annat sätt att ta bilder. För detta använder jag cron.
Cron är ett verktyg som kör ett kommando en gång var x minut, timmar, dagar eller månader. Så du kan skräddarsy när kommandot körs efter minut, timme, dag, månad i månaden etc. En användare i ett Linux -system kan ha sitt eget cron -jobb och det sparas i sin crontab -fil.
För en tidsfördröjning som går i månader där jag får en bild var X: e minut använder jag ett cron -jobb och ett lite annorlunda manus genom att det inte kräver en loop (medan true och gör det) eftersom cron kommer att kalla scriptet varje X -tal minuter.
Inte bara kan du använda det för att köra skriptet var X: e minut, men du kan begränsa det till att köras mellan vissa timmar så att du inte behöver ta bort många nattbilder. När säsongen och dagsljuset ändras ändrar jag mitt jobb för att återspegla det.
För att skapa en cron -jobbinloggning till din Linux -server och kör: crontab -e Detta startar en redigering av din crontab. Min crontab -fil har en rad så här:
*/5 4-23 * * * /home/steve/timelapse/get.ubnt>/dev/null 2> & 1
*/5 betyder körning var 5: e minut
4-23 betyder att köra den från 04:00 till 23:00 (detta ändras med säsongen för mig)
Den första * innebär att du kör den varje dag i månaden
Den andra * innebär att du kör den varje månad på året
Den tredje * innebär att du kör den varje dag i veckan
/home/steve/timelapse/get.ubnt är skriptnamnet som körs
/dev/null 2> & 1 betyder att sätta standardutmatning till null och eventuella fel till null - om du inte har detta får du e -post varje gång cron -jobbet körs.
Mitt skript /usr/steve/timelapse/get.ubnt ser ut så här:
#!/bin/bash
cd/home/steve/timelapse
URL = "https://192.168.2.114/snap.jpg"
nu = $ (/bin/datum '+%Y%m%d%H%M%S')
/usr/bin/wget -q -O ubnt-j.webp
konvertera -geometri 1024x ubnt-j.webp" />
Vad gör detta skript:
ändra till/home/steve/timelapse
ställ in en variabel URL till var bilden är i nätverket/kameran
ställ in variabeln nu till år, månad, dag, timme, minut, sekund (så att vi kan tid/datum stämpla den sista-j.webp
hämta bilden från URL och skriv ut den till ubnt.jpg
ändra storleken på bilden till 1024 pixlar bred med rätt förhållande och skriv filen som en datum/tidsstämpel.
Som med den tidigare metoden/skriptet kommer han att göra filnamnen sekventiella och göra det möjligt för oss att skapa videon med ramarna i rätt sekvens. Efter att jag har några dagar värt bilder kommer jag att kopiera dem till en mapp på min Windows -dator för att skapa videofilen. Jag använder normalt ftp för att hämta filerna på Windows -datorn eftersom de är i samma nätverk och inloggning/lösenord som tydlig text syns inte på Internet.
Steg 4: Kopiera bilderna till en Windows -dator
För att kopiera bilderna från Linux -systemet till en Windows -dator för bearbetning till en video använder jag FTP.
Windows -programmet jag använder för detta är FileZilla Client. Du kan använda vilken ftp -klient du vill, även kommandoradsversionen i Windows.
Om du vet vad du gör kan du också använda Samba eller NFS och låta Linux -filerna visas som en mapp i Windows.
Steg 5: Skapa videon - Photolapse 3
Nu när vi har bilderna måste vi sy ihop dem för att skapa en videofil.
Det finns många program som du kan använda för att göra detta och du kanske vill experimentera med olika program.
Men för ett relativt litet antal bilder som jag tar under en eller två isdagar använder jag Windows -programmet Photolapse 3 - som tyvärr inte uppdateras längre och jag kan inte längre hitta den ursprungliga webbplatsen för det. Det är dock tillgängligt från ett antal "nedladdnings" webbplatser. En snabb Google -sökning borde vara bra.
Det som är/var trevligt med det här programmet är att det är en enda binär, så det finns ingen installation. Ladda bara ner binären och kör den. Nackdelen är att det inte kommer att behandla ett stort antal filer. Med enormt menar jag förmodligen 20 tusen eller mer, men för något som min isfilm med cirka 5 000 bilder är det bara bra.
Du startar programmet, i den övre vänstra rutan borrar du ner eller hittar var dina bilder är lagrade och lägger sedan in antalet ramar per sekund (ett mindre antal får videon att visas som slowmotion). Klicka sedan på knappen "Ladda filer från nuvarande mapp"
Photolapse laddar och förhandsgranskar varje bildruta så får du en uppfattning om hur videon kommer att se ut.
När den har bearbetat hela mappen klickar du på knappen "Skapa film", ändrar filnamnet om du vill och klickar sedan på "Spara".
Därefter måste du välja en komprimeringsmetod för videon eller låta den vara okomprimerad. Jag använder "Microsoft Video 1". Allt som återstår är att klicka på "OK"
Även om du måste gå igenom alla steg igen för att välja en annan komprimeringsmetod eller codec, är det värt att prova olika inställningar här om du behöver videon komprimerad.
Bilderna jag använde för skärmdumparna i det här steget var några från de ursprungliga isbilderna. Jag använde 1191 bilder på 1024x576 pixlar. De tog upp cirka 110 MB diskutrymme. Den komprimerade videon var 235 MB stor och den okomprimerade var 1,96 GB
Steg 6: Skapa videon - VirtualDub
Det andra programmet jag har använt är VirtualDub
Ladda ner zip -filerna här. Det finns en 32-bitars och 64-bitarsversion
Packa upp filerna i sin egen mapp.
En av de saker du behöver göra med dina bilder är att sekvensera dem igen. Att använda datum-/tidsstämpelfilnamnen som mina script skapar kommer inte att fungera med VirtualDub. Det finns ett par sätt att numrera om filerna:
Gör först en säkerhetskopia av dina filer, sedan en annan säkerhetskopia. Använd sedan den andra kopian:
Öppna mappen med bilderna, ändra vyn till "detaljer", markera den första filen i listan, tryck på ctrl-a för att markera alla filer, högerklicka och välj "byt namn". Ändra filnamnet till 1 och tryck sedan på enter.
Detta kommer att bearbeta listan över filer och lägga till (1).jpg, sedan (2)-j.webp
Det andra sättet är att använda ett program som heter Irfanview. Den har ett batchläge där du kan byta namn på filerna i följd till 1.jpg, 2.jpg, 3-j.webp
När filerna har bytt namn, starta VirtualDub, klicka på "fil" och sedan "öppna videofil". Välj den första-j.webp
Klicka på "Video" och sedan "Bildhastighet" ändra detta till 30 (eller vilken bildhastighet du vill prova)
Klicka på "Video" och sedan "Komprimering" - som med fotolaps 3 använde jag "Microsoft video 1"
För att börja bearbeta bilderna, klicka på "File" och sedan "Save as AVI". Namnge filen och klicka sedan på "Spara"
Detta kommer att starta behandlingen och visa hur lång tid det kommer att ta.
Även om det finns fler steg för att använda VirtualDub, kommer det att bearbeta fler filer än fotolaps 3.
Jag har gjort en timelapse med över 88 000 bilder med VirtualDub.
Steg 7: Slutsats
För att se timelapse -videor kan du använda ett program som VLC eller Windows egen mediaspelare.
Det finns många, många sätt att ta bilder och göra en tidsfördröjning.
Om du har en Canon -kamera finns det en tredjeparts firmware -CHDK för vissa modeller som gör att du kan använda kameran i intervallometerläge och ta en bild var x sekund.
Testa massor! Hoppas att du tyckte att denna instruerbara var intressant och om du gör en timelapse, var noga med att lämna en länk till den i kommentarerna.
Rekommenderad:
Hur man skapar en Linux -boot -enhet (och hur man använder den): 10 steg
Hur man skapar en Linux Boot Drive (och hur man använder den): Detta är en enkel introduktion om hur man kommer igång med Linux, särskilt Ubuntu
Hur man gör en drönare med Arduino UNO - Gör en quadcopter med mikrokontroller: 8 steg (med bilder)
Hur man gör en drönare med Arduino UNO | Gör en Quadcopter Med Microcontroller: Introduktion Besök min Youtube -kanal En Drone är en mycket dyr gadget (produkt) att köpa. I det här inlägget ska jag diskutera, hur gör jag det billigt ?? Och hur kan du göra din egen så här till billigt pris … Tja i Indien alla material (motorer, ESC
Hur man använder Mac Terminal och hur man använder viktiga funktioner: 4 steg
Så här använder du Mac Terminal och hur du använder viktiga funktioner: Vi visar dig hur du öppnar MAC Terminal. Vi kommer också att visa dig några funktioner i terminalen, till exempel ifconfig, ändra kataloger, komma åt filer och arp. Ifconfig låter dig kontrollera din IP -adress och din MAC -annons
HUR MAN GÖR ARDUINO NANO/MINI - Hur man bränner bootloader: 5 steg
HUR MAN GÖR ARDUINO NANO/MINI | Hur man bränner bootloader: I denna instruktionsbok kommer jag att visa dig hur man gör en Arduino MINI från Scratch.Förfarandet som skrivs i denna instruktion kan användas för att göra alla arduino -brädor för dina anpassade projektkrav.Se videon för bättre förståelse
Hur man gör en morföräldrars kalender & Klippbok (även om du inte vet hur du ska klippbok): 8 steg (med bilder)
Hur man gör en morföräldrars kalender & Klippbok (även om du inte vet hur du ska klippbok): Detta är en mycket ekonomisk (och mycket uppskattad!) Semestergåva till morföräldrar. Jag gjorde 5 kalendrar i år för mindre än $ 7 styck. Material: 12 fina bilder på ditt barn, barn, syskonbarn, brorson, hundar, katter eller andra släktingar 12 olika bitar