Sadržaj:

Kako napraviti video zapis s vremenskim odmakom: 7 koraka
Kako napraviti video zapis s vremenskim odmakom: 7 koraka

Video: Kako napraviti video zapis s vremenskim odmakom: 7 koraka

Video: Kako napraviti video zapis s vremenskim odmakom: 7 koraka
Video: "Сила желчи и Дополнительная жизнь для позвоночника" Запись мастер-класса 2024, Srpanj
Anonim
Image
Image

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

Slike s IP kamere
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

Snimanje slika - 1. metoda
Snimanje slika - 1. metoda
Snimanje slika - 1. metoda
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

Snimanje slika - 2. metoda
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

Stvaranje videa - Photolapse 3
Stvaranje videa - Photolapse 3
Stvaranje videa - Photolapse 3
Stvaranje videa - Photolapse 3
Stvaranje videa - Photolapse 3
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

Stvaranje videa - VirtualDub
Stvaranje videa - VirtualDub
Stvaranje videa - VirtualDub
Stvaranje videa - VirtualDub
Stvaranje videa - VirtualDub
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: