Sadržaj:
- Korak 1: Slike s IP kamere
- Korak 2: Snimanje slika - 1. metoda
- Korak 3: Snimanje slika - 2. metoda
- Korak 4: Kopirajte slike na računalo sa sustavom Windows
- Korak 5: Stvaranje videa - Photolapse 3
- Korak 6: Stvaranje videa - VirtualDub
- Korak 7: Zaključak
Video: Kako napraviti video zapis s vremenskim odmakom: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-31 10:20
U ovom Instructableu ću detaljno opisati korake koje koristim za snimanje video zapisa s vremenskim odmakom. Sustav i hardver koji koristim za dobivanje slika je Linux računalo i mrežna IP kamera. Skripta se pokreće na Linux računalu i svakih x sekundi pregledava IP kameru, hvata sliku, mijenja je veličinu, označava vrijeme i datum te je sprema na tvrdi disk računala. Za stvaranje videozapisa od slika pokriti ću dvije različite besplatne aplikacije na računalu sa sustavom Windows te ću pogledati opciju korištenja Linuxa.
Prilikom dobivanja slika morate odrediti vrijeme između svake slike, odnosno koliko ćete slika po satu ili danu morati stvoriti kako biste izgledali dobro i nisu predugi ili kratki.
U slučaju mog videa s leda. Uzeo sam sliku svakih 20 sekundi neposredno prije izlaska sunca prvog dana i otišao do zalaska sunca sljedećeg dana. Uklonio sam većinu noćnih slika prije nego što sam ih preradio u video, ali sam odlučio zadržati "mjesečev uspon"
Ostalo mi je oko 4 430 slika. Ako video snimam koristeći 25 sličica u sekundi, duljina će biti:
4, 430 /25 = duljina 177,2 sekunde. 177,2 sekunde je gotovo 3 minute.
Ako ste htjeli snimiti nešto poput kuće koja se gradi, onda bi svaka 3 do 5 minuta bilo dobro mjesto za početak.
Ovisno o tome koliko često i koliko dugo moram snimati slike, koristim jednu za dvije različite metode.
Korak 1: Slike s IP kamere
Većina IP kamera koje se koriste u video nadzoru ili za web kamere s punim kretanjem omogućuju vam pregled mirne-j.webp
"https:///snap.jpg"
Za kameru Planet:
"https:///image.cgi? resolution = 1920x1080"
Morat ćete google url koji ćete koristiti za svoju marku fotoaparata.
I slike Ubiquiti i Planet koje hvatam su veličine 1920x1080 (zadano za svaku kameru jer je 1080 kamera). S ovom veličinom dobivate ogromnu količinu podataka i ogromnu video datoteku. Volim mijenjati veličinu slike dok je hvatam i zapisujem na disk pa ću ovaj korak prikazati u svojoj skripti. Koristim convert koji je dio ImageMagick alata.
Korak 2: Snimanje slika - 1. metoda
Koristim ovu metodu za snimanje kraćih događaja poput leda. Ovu metodu možete upotrijebiti za snimanje nečega poput useljenja i postavljanja događaja - nešto što traje nekoliko sati ili 1 ili 2 dana i gdje možete ručno ukloniti sve neželjene slike poput noćnog vremena prije obrade u videozapis
Pod Linuxom, skripta za moju kameru Ubiquiti izgleda ovako:
#!/bin/bash
# idite u ispravnu mapu
cd/home/steve/iceoff
# Ubiquiti - ubnt kamera
URL = "https://192.168.2.114/snap.jpg"
# gdje pisati slike
ubnt_dir =/home/steve/iceoff/ubnt
# kašnjenje između slika
kašnjenje = 20
# petlja
dok istinski rade
# upotrijebite vrijeme/datum za označavanje naziva datoteke - to mora biti u odjeljku petlje
sada = $ (/bin/date '+%Y%m%d%H%M%S')
# nabavite sliku i napišite je kao ubnt.jpg
/usr/bin/wget -q -O "$ ubnt_dir/ubnt.jpg" -t 1 $ URL
# promijenite veličinu slike ubnt-j.webp
convert -geometry 1024x "$ ubnt_dir/ubnt.jpg" "$ ubnt_dir/$ {now}.jpg"
# spavanje za vrijeme odgode, a zatim nabavite drugu sliku
/bin/sleep "$ delay"
učinjeno
Što skripta radi:
postavite promjenjivi URL na mjesto gdje se slika nalazi na mreži/kameri
postavite varijablu ubnt_dir na mjesto gdje želimo spremati slike (morat ćete stvoriti direktorij prije pokretanja skripte)
postavite varijablu kašnjenje na koliko sekundi između slika - to olakšava promjenu vremena između slika, samo promijenite ovu varijablu i ponovno pokrenite skriptu
započnite petlju s while true do - ove petlje bi trebale ići sve dok ne zaustavite skriptu s ctrl -c
postavite varijablu sada kao godinu, mjesec, dan, sat, sekundu
16. veljače 2019. u 8 minuta i 29 sekundi nakon 13 sati izgledalo bi kao 20190216130829
upotrijebite wget da preuzmete sliku s URL -a i upišete je kao ubnt-j.webp
pretvorite sliku ubnt-j.webp
spavati broj sekundi u varijabli kašnjenja
vratite se i počnite dok istiniti korak učinite
Da bih pokrenuo ovu skriptu, prijavljujem se na svoj račun i pokrećem je s terminala - tako da je ovo dobro za snimanje nečega poput leda jezera - to se radi za dan ili dva i potrebna mi je slika svakih 20 sekundi.
Korak 3: Snimanje slika - 2. metoda
Za dulje vremenske periode, poput izgradnje zgrade ili jednogodišnjeg projekta, koristim drugačiji način snimanja slika. Za to koristim cron.
Cron je pomoćni program koji pokreće naredbu jednom svakih x minuta, sati, dana ili mjeseci. Tako možete prilagoditi kada se naredba izvodi po minutama, satima, danima, danima u mjesecu itd. Korisnik u Linux sustavu može imati vlastiti cron posao i on se čuva u datoteci crontab.
Za vrijeme koje traje mjesecima, gdje dobivam sliku svakih X minuta, koristim cron posao i nešto drugačiju skriptu jer ne zahtijeva petlju (dok je istina do do dovršeno) jer će cron pozivati skriptu svaki X broj minuta.
Ne samo da ga možete koristiti za pokretanje skripte svakih X minuta, već je možete ograničiti da radi između određenih sati kako ne biste morali uklanjati puno noćnih slika. S promjenom godišnjeg doba i dnevnog vremena mijenjam svoj cron posao kako bih to odražavao.
Da biste stvorili prijavu za posao cron na vašem Linux poslužitelju i pokrenite: crontab -e Ovo će započeti uređivanje vaše crontab. Moja datoteka crontab ima sljedeći redak:
*/5 4-23 * * * /home/steve/timelapse/get.ubnt>/dev/null 2> & 1
*/5 znači trčanje svakih 5 minuta
4-23 znači trčati od 4 do 23 sata (ovo se za mene mijenja sa sezonom)
Prvi * znači pokretanje svakog dana u mjesecu
Drugi * znači pokretanje svakog mjeseca u godini
Treći * znači pokretanje svaki dan u tjednu
/home/steve/timelapse/get.ubnt naziv je skripte koja se pokreće
/dev/null 2> & 1 znači postaviti standardni izlaz na null, a sve pogreške na null - ako to nemate, dobit ćete e -poruku svaki put kada se izvede cron posao.
Moja skripta /usr/steve/timelapse/get.ubnt izgleda ovako:
#!/bin/bash
cd/home/steve/timelapse
URL = "https://192.168.2.114/snap.jpg"
sada = $ (/bin/date '+%Y%m%d%H%M%S')
/usr/bin/wget -q -O ubnt-j.webp
pretvoriti -geometrija 1024x ubnt-j.webp" />
Što ova skripta radi:
promijeni u/home/steve/timelapse
postavite promjenjivi URL na mjesto gdje se slika nalazi na mreži/kameri
postavite varijablu sada na godinu, mjesec, dan, sat, minutu, sekundu (tako da kasnije možemo označiti vrijeme/datum konačnom-j.webp
preuzmite sliku s URL -a i ispišite je na ubnt.jpg
promijenite veličinu slike na 1024 piksela širine zadržavajući ispravan omjer i zapisujte datoteku kao datum/vrijeme.
Kao i kod prethodne metode/skripte, on će imena datoteka učiniti uzastopnim i omogućiti nam stvaranje videozapisa s okvirima u ispravnom slijedu. Nakon što imam nekoliko dana vrijednih slika, kopirat ću ih u mapu na svom Windows računalu kako bih stvorio video datoteku. Obično koristim ftp za preuzimanje datoteka na Windows računalo jer su na istoj mreži, a prijava/lozinka kao čisti tekst nije vidljiva na Internetu.
Korak 4: Kopirajte slike na računalo sa sustavom Windows
Koristim FTP za kopiranje slika iz Linux sustava na Windows računalo za obradu u video.
Windows program koji koristim za to je FileZilla Client. Možete koristiti bilo koji ftp klijent koji želite, čak i verziju naredbenog retka u sustavu Windows.
Ako znate što radite, mogli biste upotrijebiti i Sambu ili NFS i prikazati datoteke Linuxa kao mapu u sustavu Windows.
Korak 5: Stvaranje videa - Photolapse 3
Sada kada imamo slike, moramo ih spojiti kako bismo stvorili video datoteku.
Postoje mnogi programi koje možete koristiti za to i možda biste htjeli eksperimentirati s različitim programima.
Međutim, za relativno mali broj slika koje snimim tijekom jednog ili dva dana odmora, koristim Windows program Photolapse 3 - koji se nažalost više ne ažurira i više ne mogu pronaći izvornu web stranicu za to. Međutim, dostupan je s brojnih web mjesta za preuzimanje. Brzo pretraživanje na Googleu bi trebalo biti dobro.
Ono što je/što je lijepo u vezi ovog programa je to što je to jedna binarna datoteka, tako da nema instalacije. Samo preuzmite binarni program i pokrenite ga. Nedostatak je što neće obraditi veliki broj datoteka. Pod ogromnim mislim vjerojatno 20 tisuća ili više, ali za nešto poput mog videa s leda s otprilike 5 000 slika sasvim je u redu.
Pokrećete program, u gornjem lijevom okviru istražite ili pronađite gdje su vaše slike pohranjene, a zatim unesite broj kadrova u sekundi (zbog manjeg broja videozapis će se pojaviti kao usporeno kretanje). Zatim kliknite gumb "Učitaj datoteke iz trenutne mape"
Photolapse će učitati i pregledati svaki kadar, a vi ćete dobiti ideju o tome kako će video izgledati.
Kad završi obradu cijele mape, kliknite gumb "Napravi film", promijenite naziv datoteke ako želite, a zatim kliknite "Spremi".
Zatim morate odabrati način kompresije za video zapis ili ga ostaviti nekomprimiranim. Koristim "Microsoft Video 1". Ostaje samo kliknuti "U redu"
Iako ćete morati ponovno proći sve korake da biste odabrali drugu metodu kompresije ili kodek, vrijedi isprobati različite postavke ovdje ako vam je potreban video komprimiran.
Slike koje sam koristio za snimanje zaslona u ovom koraku bile su neke od izvornih slika s leda. Koristio sam 1191 sliku od 1024x576 piksela. Zauzeli su oko 110 MB prostora na disku. Komprimirani video bio je veličine 235 MB, a nekomprimirani 1,96 GB
Korak 6: Stvaranje videa - VirtualDub
Drugi program koji sam koristio je VirtualDub
Ovdje preuzmite zip datoteke. Postoji 32-bitna i 64-bitna verzija
Raspakirajte datoteke u njihovu mapu.
Jedna od stvari koje ćete morati učiniti sa svojim slikama je da ih sekvencijalno ponovno numerirate. Korištenje naziva datoteka s datumom/vremenom kao što su moje skripte stvorit neće raditi s VirtualDub -om. Postoji nekoliko načina za prebrojavanje datoteka:
Prvo napravite sigurnosnu kopiju svojih datoteka, a zatim drugu sigurnosnu kopiju. Zatim upotrijebite drugu kopiju:
Otvorite mapu sa slikama, promijenite prikaz u "pojedinosti", označite prvu datoteku na popisu, pritisnite ctrl-a za odabir svih datoteka, kliknite desnom tipkom miša i odaberite "preimenuj". Promijenite naziv datoteke u 1, a zatim pritisnite enter.
Ovo će obraditi popis datoteka i dodati (1).jpg, zatim (2)-j.webp
Drugi način je korištenje programa pod nazivom Irfanview. Ima paketni način rada u kojemu datoteke možete preimenovati sekvencijalno u 1.jpg, 2.jpg, 3-j.webp
Nakon što se datoteke preimenuju, pokrenite VirtualDub, kliknite "datoteka", a zatim "otvori video datoteku". Odaberite prvi-j.webp
Kliknite "Video", zatim "Brzina kadrova" promijenite ovo na 30 (ili bilo koju sličicu u sekundi koju želite isprobati)
Kliknite "Video" pa "Kompresija" - kao i kod fotolapsa 3 koristio sam "Microsoft video 1"
Za početak obrade slika kliknite "Datoteka", a zatim "Spremi kao AVI". Imenujte datoteku, a zatim kliknite "Spremi"
Ovo će pokrenuti obradu i pokazati koliko će trajati.
Iako postoji više koraka u korištenju VirtualDub -a, on će obraditi više datoteka nego fotolaps 3.
Napravio sam timelapse s više od 88 000 slika koristeći VirtualDub.
Korak 7: Zaključak
Za pregled timelapse videozapisa možete upotrijebiti program poput VLC -a ili vlastitog Windows playera medija.
Postoji mnogo, mnogo načina za snimanje slika i izradu timelapsea.
Ako imate kameru Canon, postoji firmver treće strane CHDK za neke modele koji će vam omogućiti da koristite kameru u intervalometarskom načinu i fotografirate svakih x sekundi.
Puno eksperimentirajte! Nadam se da vam je ovaj Instructable bio zanimljiv i ako napravite timelapse, svakako ostavite vezu do njega u komentarima.
Preporučeni:
Reproducirajte video zapis s ESP32: 10 koraka (sa slikama)
Reproducirajte video s ESP32: Ove upute pokazuju nešto o reprodukciji videa i zvuka s ESP32
Jednostavna kamera s vremenskim odmakom pomoću Raspberry Pi: 3 koraka
Jednostavna kamera s vremenskim odmakom pomoću Raspberry Pi: Ovaj će vam post pokazati kako možete izgraditi jednostavnu kameru s vremenskim odmakom pomoću Raspberry Pi. Razlučivost, trajanje i vrijeme mogu se lako ažurirati u skripti. Nešto smo slično stvorili pomoću ploče ESP32-CAM, ali kamera Raspberry Pi
Pretvorite svoj IPod video zapis pete generacije u Flash memoriju!: 6 koraka (sa slikama)
Pretvorite svoj iPod iPod video zapis pete generacije u Flash memoriju !: Možda ste vidjeli moje druge upute o tome kako pretvoriti svoje iPod Mini i 4G iPod -ove u CF i pitali se možete li isto učiniti s iPod Video. Pa možete! Napomena: Neke su upute vrlo slične (ako ne i iste) kao ostale
Knex Intervalometar s vremenskim odmakom: 7 koraka (sa slikama)
Knex Intervalometar s vremenskim odmakom: Ažurirano, 21. srpnja Učitao sam mnogo bolji videozapis gotovog timelapsea. Prikazuje pun mjesec koji se diže kroz oblake. Snimljeno pomoću intervala od 10 sekundi. Morao sam promijeniti veličinu videozapisa kako bi veličina datoteke bila upravljiva. Jeste li ikada vidjeli to vrijeme
Video zapis velike brzine za početnike .: 6 koraka (sa slikama)
Video zapis velike brzine za početnike. Svi koje sam upoznao i razgovarao dijele jedno zajedničko: želju za posjedovanjem ili barem igranjem kamerom velike brzine. Iako sumnjam da mnogi ljudi koji ovo čitaju imaju vlastitu kameru velike brzine, želja mi je da nekolicina koji