Sadržaj:

Kako napraviti video zapis s ubrzanjem: 7 koraka
Kako napraviti video zapis s ubrzanjem: 7 koraka

Video: Kako napraviti video zapis s ubrzanjem: 7 koraka

Video: Kako napraviti video zapis s ubrzanjem: 7 koraka
Video: Как конвертировать видео в любой формат - AVI, MP4, MKV 2024, Juli
Anonim
Image
Image

U ovom Instructableu ću detaljno opisati korake koje koristim za snimanje video zapisa s vremenskim odmakom. Sistem i hardver koji koristim za dobijanje slika su Linux računar i IP kamera zasnovana na mreži. Skripta se pokreće na Linux računaru i svakih x sekundi ispituje IP kameru, hvata sliku, mijenja je veličinu, označava vrijeme i datum i sprema je na tvrdi disk računara. Za stvaranje videozapisa od slika pokriti ću dvije različite besplatne aplikacije na Windows računaru i razmotrit ću korištenje Linuxa kao opciju.

Prilikom dobivanja slika morate odrediti vrijeme između svake slike, odnosno koliko slika po satu ili danu će vam trebati za stvaranje videozapisa koji izgleda dobro i nije predug ili kratak.

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"

Ovo ostavlja oko 4 430 slika. Ako video snimam koristeći 25 sličica u sekundi, dužina će biti:

4, 430 /25 = 177,2 sekunde. 177,2 sekunde je skoro 3 minute.

Ako želite 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 sa IP kamere

Slike sa IP kamere
Slike sa 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 Ubiquiti i Planet slike koje preuzimam 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 svom skriptu. Koristim convert koji je dio ImageMagick alata.

Korak 2: Snimanje slika - Metoda 1

Snimanje slika - Metoda 1
Snimanje slika - Metoda 1
Snimanje slika - Metoda 1
Snimanje slika - Metoda 1

Koristim ovu metodu za snimanje kraćih događaja, poput leda. Ovu metodu možete koristiti 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ći, prije obrade u video zapis

Pod Linuxom, skripta za moju kameru Ubiquiti izgleda ovako:

#!/bin/bash

# idite u ispravnu fasciklu

cd/home/steve/iceoff

# Ubiquiti - ubnt kamera

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

# gde pisati slike

ubnt_dir =/home/steve/iceoff/ubnt

# kašnjenje između slika

kašnjenje = 20

# petlja

dok istina to radi

# koristite vrijeme/datum za označavanje imena datoteke - to mora biti u odjeljku petlje

sada = $ (/bin/datum '+%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"

# spavajte za vrijeme odgode, a zatim nabavite drugu sliku

/bin/sleep "$ delay"

gotovo

Šta 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 - ovo olakšava promjenu vremena između slika, samo promijenite ovu varijablu i ponovo pokrenite skriptu

započnite petlju sa while true do - ove petlje bi trebale trajati sve dok ne zaustavite skriptu pomoću ctrl -c

postavite varijablu sada kao godinu, mjesec, dan, sat, sekundu

16. februara 2019. u 8 minuta i 29 sekundi poslije 13 sati izgledalo bi kao 20190216130829

koristite wget da preuzmete sliku sa URL -a i upišete je kao ubnt-j.webp

pretvorite sliku ubnt-j.webp

spavati broj sekundi u varijabli kašnjenja

vratite se natrag i počnite s istinitim korakom

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 - radi se za dan ili dva i potrebna mi je slika svakih 20 sekundi.

Korak 3: Snimanje slika - Metoda 2

Snimanje slika - Metoda 2
Snimanje slika - Metoda 2

Za duže vremenske periode, poput izgradnje zgrade ili jednogodišnjeg projekta, koristim drugačiji način snimanja slika. Za ovo koristim cron.

Cron je pomoćni program koji pokreće naredbu jednom svakih x minuta, sati, dana ili mjeseci. Tako da možete prilagoditi kada se naredba izvršava po minutima, satima, danima, danima u mjesecu itd. Korisnik u Linux sistemu može imati svoj vlastiti cron posao i on se čuva u njihovoj datoteci crontab.

U određenom vremenskom periodu koji traje mjesecima gdje dobijem sliku svakih X minuta koristim cron posao i nešto drugačiju skriptu jer ne zahtijeva petlju (while true do and done) 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 kreirali prijavu za cron posao na svoj Linux poslužitelj i pokrenite: crontab -e Ovo će započeti uređivanje vaše crontab stranice. Moja datoteka crontab ima sljedeću liniju:

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

*/5 znači trčanje svakih 5 minuta

4-23 znači da trčite 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 svakog dana u sedmici

/home/steve/timelapse/get.ubnt je ime skripte koje se pokreće

/dev/null 2> & 1 znači postaviti standardni izlaz na null i sve greške na null - ako nemate ovo, dobit ćete e -poruku svaki put kada se izvrši 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/datum '+%Y%m%d%H%M%S')

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

convert -geometry 1024x ubnt-j.webp" />

Šta 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 sa URL -a i zapišite je na ubnt.jpg

promijenite veličinu slike na 1024 piksela širine zadržavajući ispravan omjer i napišite 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čunaru kako bih stvorio video datoteku. Obično koristim ftp za preuzimanje datoteka na Windows računaru jer su na istoj mreži, a prijava/lozinka kao čisti tekst nije vidljiva na Internetu.

Korak 4: Kopirajte slike na Windows računar

Koristim FTP za kopiranje slika sa Linux sistema na Windows PC za obradu u video.

Windows program koji koristim za ovo je FileZilla Client. Možete koristiti bilo koji ftp klijent koji želite, čak i verziju naredbenog retka u Windowsima.

Ako znate šta radite, mogli biste koristiti i Sambu ili NFS i prikazati Linux datoteke kao mapu u sustavu Windows.

Korak 5: Kreiranje video zapisa - Photolapse 3

Kreiranje video zapisa - Photolapse 3
Kreiranje video zapisa - Photolapse 3
Kreiranje video zapisa - Photolapse 3
Kreiranje video zapisa - Photolapse 3
Kreiranje video zapisa - Photolapse 3
Kreiranje video zapisa - Photolapse 3

Sada kada imamo slike, moramo ih spojiti kako bismo stvorili video datoteku.

Postoji mnogo programa 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 tokom jednog ili dva dana leda, koristim Windows program Photolapse 3 - koji se nažalost više ne ažurira i više ne mogu pronaći originalnu web stranicu za to. Međutim, dostupan je s brojnih web lokacija za preuzimanje. Brza Google pretraga bi trebala biti dobra.

Ono što je/bilo je lijepo u vezi ovog programa je to što je to jedna binarna datoteka, tako da nema instalacije. Samo preuzmite binarnu datoteku i pokrenite je. 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 približno 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 usporeni snimak). Zatim kliknite gumb "Učitaj datoteke iz trenutne mape"

Photolapse će učitati i pregledati svaki kadar i steći ćete ideju o tome kako će video izgledati.

Kada završi obradu cijele mape, kliknite gumb "Kreiraj 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 da kliknete "OK"

Iako ćete morati ponovno proći kroz 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 ekrana u ovom koraku bile su neke od originalnih slika sa leda. Koristio sam 1191 sliku rezolucije 1024x576 piksela. Zauzeli su oko 110 MB prostora na disku. Komprimirani video je bio veličine 235 MB, a nekomprimirani 1,96 GB

Korak 6: Kreiranje video zapisa - VirtualDub

Kreiranje videa - VirtualDub
Kreiranje videa - VirtualDub
Kreiranje videa - VirtualDub
Kreiranje videa - VirtualDub
Kreiranje videa - VirtualDub
Kreiranje videa - VirtualDub

Drugi program koji sam koristio je VirtualDub

Ovdje preuzmite zip datoteke. Postoji 32-bitna i 64-bitna verzija

Raspakirajte datoteke u vlastitu mapu.

Jedna od stvari koju ćete morati učiniti sa svojim slikama je da ih uzastopno prebrojite. Korištenje naziva datoteka s datumom/vremenom kao što su moje skripte kreirane neće funkcionirati s VirtualDub -om. Postoji nekoliko načina za prenumeriranje datoteka:

Prvo napravite sigurnosnu kopiju svojih datoteka, a zatim drugu sigurnosnu kopiju. Zatim koristite drugu kopiju:

Otvorite fasciklu sa slikama, promijenite prikaz u "detalji", označite prvu datoteku na listi, pritisnite ctrl-a da odaberete sve datoteke, kliknite desnim tasterom miša i odaberite "preimenuj". Promijenite naziv datoteke u 1, a zatim pritisnite enter.

Ovo će obraditi listu 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 kojem možete sekvencijalno preimenovati datoteke 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 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 započeti 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 sa preko 88 000 slika koristeći VirtualDub.

Korak 7: Zaključak

Za pregled timelapse videa možete koristiti program poput VLC -a ili Windows media playera.

Postoji mnogo, mnogo načina za snimanje slika i pravljenje timelapse -a.

Ako imate kameru Canon, postoji firmver treće strane CHDK za neke modele koji će vam omogućiti da koristite kameru u režimu intervalometra 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čuje se: