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)

Vivotek IP2121
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čí. ;-)

Logitec Notebook CamObecně 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.

Camorama a Labtec Notebook Cam

Camorama a Labtec Notebook Cam

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:

BASH:
  1. sudo apt-get install mencoder

Příkaz pro převod je pak v celku jednoduchý:

BASH:
  1. 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:

BASH:
  1. #!/bin/bash
  2.  
  3. FILENM=webkamera-`date "+%Y%m%d-%H:%M"`.avi
  4.  
  5. mv /home/user/kamera /home/user/kamera.jpg
  6. mkdir /home/user/kamera
  7. cd /home/user/kameta.jpg
  8.  
  9. mencoder "mf://*.jpg" -mf fps=1 -o ../$FILENM -ovc lavc -lavcopts vcodec=mpeg4
  10.  
  11. 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. :-D

Slabé...Jde to...Pěkné...Perfektní...Excelentní... (hlasováno 3x, průměr: 5,00 z max. 5)
Loading ... Loading ...
Obdobné články:

Čtyři komentáře na “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)”

  1. MilanC
    26.Červen 2011 (Neděle) 00:00
    4

    Tak jsem to hned dohledal, pokud by někdo potřeboval:

    mf://frame001.jpg,frame002.jpg...
    mf://@list.txt

  2. MilanC
    25.Červen 2011 (Sobota) 23:58
    3

    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.

  3. Pavel Chovančík
    21.Únor 2007 (Středa) 03:39
    2

    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ď. ;-)

  4. Tom
    28.Leden 2007 (Neděle) 20:10
    1

    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

Zanechte, prosím, komentář

XHTML: Můžete použít tyto značky: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>