Ubuntu (Linux) a převod sekvence jpeg snímků z IP(web) kamery na video sekvenci s kontejnerem AVI s kodekem MPEG4 (jpeg2avi, jpg2avi, mencoder)

Rok 2007 je tady. Jaký bude, to se ještě uvidí.
Pro měl byl přelom tohoto roku zajímavý také tím, že jsem si chtěl nahrát ohňostroj, který připravil brácha. Využil jsem na to již dříve instalovanou IP kameru Vivotek 2121. Tak jsem využil funkci ukládání snímků na FTP server přímo z IP kamery, která umí nahrávat až 10 snímků za vteřinu. A to už pro plynulé video celkem stačí.
Obecně to samé jde udělat i na mé levné Labtec Notebook Cam s programem Camorama, který umí ukládat snímky jako obrázky ve formátu jpeg nebo png lokálně, a nebo na ftp server.


Převod jpg obrázků do AVI s kodekem MPEG4 pod Linuxem
Pro převod obrázků jpg do video sekvence lze použít můj oblíbený mencoder. V Ubuntu stačí zadat pro jeho instalaci následující příkaz:
-
sudo apt-get install mencoder
Příkaz pro převod je pak v celku jednoduchý:
-
mencoder "mf://*.jpg" -mf fps=1 -o vysledne-video.avi -ovc lavc -lavcopts vcodec=mpeg4
Důležitý je zde parametr fps (Foot Per Second = stopa za vteřinu = jednotka rychlosti). Mně se osvědčilo při 1 snímku za sekundu nastavit fps=1 pro reálný čas, byť trhaný. Pokud máte za vteřinu snímku více, u mne 10, pak je vhodné nastavit fps=10.
Skript pro periodický převod snímků na video sekvenci
Nevýhodou tohoto řešení je, že vzniká opravdu velké množství souborů se snímky. Myslím, že rozumné je periodicky převést snímky do video sekvence a poté je vymazat. Například jako skript umístěný v cron a celku jednoduché řešení na pár řádek:
-
#!/bin/bash
-
-
FILENM=webkamera-`date "+%Y%m%d-%H:%M"`.avi
-
-
mv /home/user/kamera /home/user/kamera.jpg
-
mkdir /home/user/kamera
-
cd /home/user/kameta.jpg
-
-
mencoder "mf://*.jpg" -mf fps=1 -o ../$FILENM -ovc lavc -lavcopts vcodec=mpeg4
-
-
rm -rf /home/user/kamera.jpg
Jen pro informaci, praxe mi ukázala, že příkaz mv (přesun souborů) použitý na takto velké množství soubory nefunguje a příkaz končí s chybovou hláškou Přílíš mnoho argumentů. Proto jsem použil přejmenování celého adresáře /home/user/kamera na /home/user/kamera.jpg.
Výsledek převodu jpg2avi
Výsledek je myslím celkem efektní. Toto je malá část ze Silvestra 2007 u nás.
- Převod MPEG, AVI, … na Flash Video FLV pod Linuxem (ffmpeg, mencoder)
- Linux a aktualizace události onMetaTag ve video formátu FLV (flvtool2)
- MPlayer a záznam (uložení) video / audio streamu RealOne Player (Helix) *.rm, *.ram a Windows Media Player *.asf, *.asx do lokálního souboru v Linuxu / Ubuntu
- Instalace x11vnc 0.8.1 s integrovanou podporou SSL šifrování








26.Červen 2011 (Neděle) 00:00
Tak jsem to hned dohledal, pokud by někdo potřeboval:
mf://frame001.jpg,frame002.jpg...
mf://@list.txt
25.Červen 2011 (Sobota) 23:58
Ahoj, moc pěkné. Snažím se někde dohledat, jak předat seznam souborů (mam různé názvy a rostrkané do podadresářů podle data...), popř. třeba vnutin mencoderovi soubor se seznamem souborů. Je něco takového možné? Díky.
21.Únor 2007 (Středa) 03:39
Ahoj Tome,
to, co jsem zjistil je, že je nutné na skutečnost nahrávání upozornit toho, kdo je snímán. Optimálně ještě v kombinaci s registrací u úřadu pro ochranu osobních údajů. My jsme splnili oba body.
Ale v tomto státě Bůh suď.
28.Leden 2007 (Neděle) 20:10
Zdravim,
mam v planu instalovat par kamer a zajima me soulad s pravem. Tady je soukroma kamera namirena na ulici. Jak je tato kamera v souladu s zakonem? Byla tahle otazka resena pri instalaci? Na jake zakony se mam vymlouvat az na me prijdou?
Dik
Tom