Obsah:

Jak udělat časosběrné video: 7 kroků
Jak udělat časosběrné video: 7 kroků

Video: Jak udělat časosběrné video: 7 kroků

Video: Jak udělat časosběrné video: 7 kroků
Video: Timelapse aneb jak správně točit časosběrná videa | TUTORIAL 2024, Listopad
Anonim
Image
Image

V tomto Instructable popíšu kroky, které používám k vytvoření časosběrného videa. Systém a hardware, který používám pro získávání obrázků, je počítač se systémem Linux a síťová IP kamera. Na počítači se systémem Linux běží skript a každých x sekund vyzvedne IP kameru, pořídí obrázek, změní jeho velikost, označí jej časem a datem a uloží jej na pevný disk počítače. Chcete -li vytvořit video z obrázků, pokryju dvě různé freeware aplikace na počítači se systémem Windows a podívám se na použití Linuxu jako možnosti.

Při získávání obrázků musíte zjistit čas mezi jednotlivými obrázky nebo kolik obrázků za hodinu nebo den budete potřebovat k vytvoření videa, které vypadá dobře a není příliš dlouhé ani krátké.

V případě mého ledového videa. Zachytil jsem obrázek každých 20 sekund těsně před východem slunce prvního dne a následující den jsem šel přímo do západu slunce. Většinu nočních snímků jsem odstranil, než jsem je zpracoval do videa, ale rozhodl jsem se ponechat „vzestup měsíce“

Zbývá mi tedy asi 4 430 obrázků. Pokud vytvářím video rychlostí 25 snímků za sekundu, bude jeho délka:

4, 430/25 = 177,2 sekundy dlouhé. 177,2 sekundy jsou téměř 3 minuty.

Pokud byste chtěli zachytit něco jako stavěný dům, pak by bylo vhodné začít každých 3 až 5 minut.

Podle toho, jak často a jak dlouho potřebuji pořizovat obrázky, používám jeden pro dvě různé metody.

Krok 1: Obrázky z IP kamery

Obrázky z IP kamery
Obrázky z IP kamery

Většina IP kamer používaných při sledování videa nebo pro webové kamery s plným pohybem vám umožňuje prohlížet fotografie ve formátu-j.webp

"https:///snap.jpg"

Pro kameru Planet:

"https:///image.cgi? Resolution = 1920x1080"

Budete muset vygooglit URL, které chcete použít pro vaši značku fotoaparátu.

Snímky Ubiquiti i Planet, které jsem zachytil, mají velikost 1920x1080 (výchozí pro každou kameru jsou kamery 1080). S touto velikostí skončíte s obrovským množstvím dat a obrovským video souborem. Rád změním velikost obrázku, když ho uchopím a napíšu na disk, a tento krok ukážu ve svém skriptu. Používám převod, který je součástí nástrojů ImageMagick.

Krok 2: Pořizování snímků - metoda 1

Pořizování snímků - metoda 1
Pořizování snímků - metoda 1
Pořizování snímků - metoda 1
Pořizování snímků - metoda 1

Tuto metodu používám k zachycení kratších událostí, jako je odmlka. Tuto metodu můžete použít k zachycení něčeho, jako je přesun a nastavení události - něco, co trvá několik hodin nebo 1 nebo 2 dny a kde můžete před zpracováním do videa ručně odstranit nežádoucí obrázky, jako je noční doba

V Linuxu vypadá skript pro moji kameru Ubiquiti takto:

#!/bin/bash

# přejděte do správné složky

cd/home/steve/iceoff

# Ubiquiti - kamera ubnt

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

# kam psát obrázky

ubnt_dir =/home/steve/iceoff/ubnt

# zpoždění mezi obrázky

zpoždění = 20

# smyčka

pravda je

# použijte čas/datum k označení názvu souboru - to musí být v sekci smyčky

nyní = $ (/bin/date '+%Y%m%d%H%M%S')

# získejte obrázek a napište jej jako ubnt.jpg

/usr/bin/wget -q -O "$ ubnt_dir/ubnt.jpg" -t 1 $ URL

# Změňte velikost obrázku ubnt-j.webp

převést -geometrie 1024x "$ ubnt_dir/ubnt.jpg" "$ ubnt_dir/$ {now}.jpg"

# spěte po dobu zpoždění a poté získejte další obrázek

/bin/sleep "$ zpoždění"

Hotovo

Co skript dělá:

nastavte proměnnou URL na místo, kde je obrázek v síti/kameře

nastavte proměnnou ubnt_dir na místo, kam chceme ukládat obrázky (před spuštěním skriptu budete muset vytvořit adresář)

nastavit zpoždění proměnné na počet sekund mezi obrázky - to usnadňuje změnu času mezi obrázky, stačí změnit tuto proměnnou a znovu spustit skript

začněte smyčku s true do - tyto smyčky by měly pokračovat, dokud skript nezastavíte pomocí ctrl -c

nyní nastavte proměnnou jako rok, měsíc, den, hodinu, sekundu

16. února 2019 v 8 minut a 29 sekund po 13:00 by vypadalo jako 20190216130829

použijte wget k získání obrázku z adresy URL a napište jej jako ubnt-j.webp

převeďte obrázek ubnt-j.webp

spánek na počet sekund v proměnné zpoždění

vraťte se a začněte v pravém kroku

Abych spustil tento skript, přihlásím se ke svému účtu a spustím ho z terminálu - takže je to dobré pro zachycení něčeho, jako je ledová hora jezera - je to hotové za den nebo dva a každých 20 sekund potřebuji obrázek.

Krok 3: Pořizování snímků - metoda 2

Pořizování snímků - metoda 2
Pořizování snímků - metoda 2

Pro delší časové úseky, jako je stavba budovy nebo rok trvající časosběrný projekt, používám jiný způsob pořizování obrázků. K tomu používám cron.

Cron je nástroj, který spouští příkaz jednou za x minut, hodin, dní nebo měsíců. Můžete si tedy přizpůsobit, kdy příkaz běží po minutách, hodinách, dnech, dnech v měsíci atd. Uživatel v systému Linux může mít vlastní úlohu cron a je uložena v souboru crontab.

Pro časovou prodlevu, která trvá měsíce, kdy dostávám obrázek každých X minut, používám úlohu cron a mírně odlišný skript v tom, že nevyžaduje smyčku (zatímco true do a done), protože cron skript zavolá každý X počet minut.

Můžete jej nejen použít ke spouštění skriptu každých X minut, ale můžete jej omezit na běh mezi určitými hodinami, abyste nemuseli odstraňovat mnoho nočních obrázků. Jak se mění roční doba a denní světlo, změním svou práci cron, aby to odrážela.

Chcete -li vytvořit úlohu cron, přihlaste se na svůj server Linux a spusťte: crontab -e Spustí se úprava vašeho crontab. Můj soubor crontab má následující řádek:

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

*/5 znamená běh každých 5 minut

4-23 znamená spustit od 4 do 23 hodin (pro mě se to mění se sezónou)

První * znamená spustit každý den v měsíci

Druhý * znamená spustit jej každý měsíc v roce

Třetí * znamená spustit ho každý den v týdnu

/home/steve/timelapse/get.ubnt je název skriptu, který se spouští

/dev/null 2> & 1 znamená dát standardní výstup na null a případné chyby na null - pokud toto nemáte, dostanete e -mail při každém spuštění úlohy cron.

Můj skript /usr/steve/timelapse/get.ubnt vypadá takto:

#!/bin/bash

cd/home/steve/timelapse

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

nyní = $ (/bin/date '+%Y%m%d%H%M%S')

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

převést -geometry 1024x ubnt-j.webp" />

Co tento skript dělá:

změnit na/home/steve/timelapse

nastavte proměnnou URL na místo, kde je obrázek v síti/kameře

nastavit proměnnou nyní na rok, měsíc, den, hodinu, minutu, sekundu (abychom mohli čas/datum opatřit razítkem konečného obrázku-j.webp

získejte obrázek z adresy URL a zapište jej na ubnt.jpg

změňte velikost obrázku na šířku 1024 pixelů se správným poměrem a zapište soubor jako razítko data/času.

Stejně jako u předchozí metody/skriptu jeho názvy souborů budou sekvenční a umožní nám vytvořit video se snímky ve správném pořadí. Až budu mít obrázky v hodnotě několika dní, zkopíruji je do složky v počítači se systémem Windows a vytvořím soubor videa. Obvykle používám ftp pro získání souborů na Windows PC, protože jsou ve stejné síti a přihlašovací/heslo je jasný text není vidět na internetu.

Krok 4: Zkopírujte obrázky do počítače se systémem Windows

Pro zkopírování obrázků ze systému Linux do Windows PC pro zpracování do videa používám FTP.

Program Windows, který pro to používám, je FileZilla Client. Můžete použít libovolného klienta ftp, kterému dáváte přednost, dokonce i verzi příkazového řádku v systému Windows.

Pokud víte, co děláte, můžete také použít Samba nebo NFS a nechat soubory Linux zobrazit jako složku ve Windows.

Krok 5: Vytvoření videa - Photolapse 3

Vytvoření videa - Photolapse 3
Vytvoření videa - Photolapse 3
Vytvoření videa - Photolapse 3
Vytvoření videa - Photolapse 3
Vytvoření videa - Photolapse 3
Vytvoření videa - Photolapse 3

Nyní, když máme obrázky, je musíme spojit dohromady a vytvořit video soubor.

K tomu můžete použít mnoho programů a možná budete chtít experimentovat s různými programy.

Nicméně pro relativně malý počet obrázků, které zachytím během jednoho nebo dvou dnů bez ledu, používám program Windows Photolapse 3 - který se bohužel již neaktualizuje a již pro něj nemohu najít původní web. Je však k dispozici na řadě stránek „ke stažení“. Rychlé vyhledávání Google by mělo stačit.

Na tomto programu je/bylo hezké to, že je to jeden binární soubor, takže neexistuje žádná instalace. Stačí stáhnout binární soubor a spustit ho. Temnější stránkou je, že nezpracuje velké množství souborů. Tím obrovským myslím asi 20 tisíc nebo více, ale pro něco jako moje ledové video s přibližně 5 000 obrázky je to v pořádku.

Spusťte program, v levém horním rámečku přejděte dolů nebo najděte, kde jsou vaše obrázky uloženy, a poté vložte počet rámců za sekundu (menší počet způsobí, že se video bude zobrazovat jako zpomalené). Dále klikněte na tlačítko „Načíst soubory z aktuální složky“

Photolapse načte a zobrazí náhled každého snímku a vy získáte představu o tom, jak bude video vypadat.

Po dokončení zpracování celé složky klikněte na tlačítko „Vytvořit film“, v případě potřeby změňte název souboru a poté klikněte na „Uložit“.

Dále musíte zvolit způsob komprese videa nebo jej nechat nekomprimovaný. Používám „Microsoft Video 1“. Nezbývá než kliknout na „OK“

I když budete muset znovu projít všemi kroky, abyste zvolili jinou metodu komprese nebo kodek, stojí za to vyzkoušet různá nastavení, pokud potřebujete video komprimovat.

Obrázky, které jsem v tomto kroku použil pro zachycení obrazovky, pocházely z původních snímků bez obrazu. Použil jsem 1191 obrázků s rozlišením 1024 x 576 pixelů. Zabraly přibližně 110 MB místa na disku. Komprimované video mělo velikost 235 MB a nekomprimované 1,96 GB

Krok 6: Vytvoření videa - VirtualDub

Vytvoření videa - VirtualDub
Vytvoření videa - VirtualDub
Vytvoření videa - VirtualDub
Vytvoření videa - VirtualDub
Vytvoření videa - VirtualDub
Vytvoření videa - VirtualDub

Další program, který jsem použil, je VirtualDub

Soubory zip si stáhněte zde. K dispozici je 32bitová a 64bitová verze

Rozbalte soubory do jejich vlastní složky.

Jednou z věcí, které budete muset se svými obrázky udělat, je postupně je očíslovat. Použití názvů souborů razítka data/času, jako vytvářejí moje skripty, nebude s VirtualDub fungovat. Existuje několik způsobů, jak přečíslovat soubory:

Nejprve vytvořte zálohu souborů a poté další zálohu. Poté pomocí druhé kopie:

Otevřete složku s obrázky, změňte zobrazení na „detaily“, zvýrazněte první soubor v seznamu, stisknutím ctrl-a vyberte všechny soubory, klikněte pravým tlačítkem a vyberte „přejmenovat“. Změňte název souboru na 1 a poté stiskněte Enter.

Tím se zpracuje seznam souborů a připojí (1).jpg, poté (2)-j.webp

Druhým způsobem je použít program s názvem Irfanview. Má dávkový režim, ve kterém můžete soubory postupně přejmenovávat na 1.jpg, 2.jpg, 3-j.webp

Jakmile jsou soubory přejmenovány, spusťte VirtualDub, klikněte na „soubor“a poté na „otevřít soubor videa“. Vyberte první-j.webp

Klikněte na „Video“a poté na „Snímková frekvence“toto změňte na 30 (nebo jakoukoli snímkovou frekvenci, kterou chcete vyzkoušet)

Klikněte na „Video“a poté na „Komprese“- jako u Photolapse 3 jsem použil „Microsoft video 1“

Chcete -li zahájit zpracování obrázků, klikněte na „Soubor“a poté na „Uložit jako AVI“. Pojmenujte soubor a klikněte na „Uložit“

Spustí se zpracování a ukáže se, jak dlouho to bude trvat.

Ačkoli existuje více kroků při používání VirtualDub, bude zpracovávat více souborů než Photolapse 3.

Pomocí VirtualDub jsem udělal timelapse s více než 88 000 obrázky.

Krok 7: Závěr

Chcete -li zobrazit časosběrná videa, můžete použít program jako VLC nebo vlastní přehrávač médií Windows.

Existuje mnoho, mnoho způsobů pořizování obrázků a vytváření timelapse.

Pokud máte fotoaparát Canon, existuje u některých modelů firmware 3. strany CHDK, který vám umožní používat fotoaparát v režimu intervalometru a pořizovat snímky každých x sekund.

Hodně experimentujte! Doufáme, že vás tento Instructable zaujal a pokud si uděláte timelapse, určitě na něj zanechte odkaz v komentářích.

Doporučuje: