Linux E X P R E S

Facebook

Video z obrázků lusknutím prstů

Dostal jsem se do situace, že jsem potřeboval vytvořit prezentaci funkcí jistého programu, a bylo nad slunce jasnější, že nejlepší je předvést přímo práci s ním, alespoň v podobě videosekvence. Jelikož asi nejsem sám, kdo se takto trápil, povím vám o svém řešení. Má jméno xvidcap (případně jeho klon napsaný pro GTK s názvem gvidcap). 


Obrázek: Ukázka programu xvidcap

Tento program není podle data posledního přírůstku už delší dobu udržovaný, nicméně svým zaměřením přímo na X server nemá v podstatě žádné podmínky a může tedy sloužit v libovolném okenním manažeru. Po jeho spuštění se objeví okénko s panelem nástrojů a hned vedle něj červeně orámovaná plocha, jejíž obsah se bude zachytávat.

Zobrazený panel nástrojů je sice značně spartánský, ale to, co po něm chcete, z něho také dostanete. Máte možnost pomocí něj, krom běžného spouštění, zachytávání a posouvání v snímcích, také měnit velikost a ukotvení (k panelu nástrojů nebo volně) zachytávané plochy. Je zde také možno na jedno kliknutí animaci přehrát nebo zobrazit aktuálně vybraný snímek v oblíbeném prohlížeči.

Obrázek: Ukázka nastavení programu

Podíváme-li se do nastavení v přehledné tabulce, uvidíme deset položek, kterými je možné aplikaci přizpůsobit svým požadavkům. Můžeme ovlivnit paramery, jako je počet sejmutých snímků za sekundu, doba nahrávání v sekundách, maximální počet sejmutých snímků, formát ukládaného souboru (je možné ukládat v osmi druzích souborů, pokud však máte nainstalovány externí filtry), kvalitu a kompresi u komprimovaných obrázků a jiné.

Zajímavostí tohoto programu je, že v přednastaveném režimu neukládá soubory jako video, ale jako sérii obrázků. A pokud zvolíme jako formát výstupního suboru xwd (X Window Dump), což je nekomprimovaný formát, ke kterému navíc nepotřebujeme žádný výstupní filtr, dostaneme do ruky nástroj na zachytávání videa, který ani starší kousek železa neodrovná. Jen ta zátěž na disk je pak znatelně větší a místo potřebné k uložení souborů také není zanedbatelné.

Značným neduhem programu je jeho stáří. Snažil jsem se zprovoznit export přímo do mpeg, nebo alespoň do png, nicméně nekompatibilita se současnými knihovnami si žádá úpravy v programu. Nic však nebrání používat export do nekomprimovaných formátů a videa z vašeho prostředí mohou být na světě.

Pokud vám tedy na disku už leží posloupnost obrázků, které dohromady dají pěkné video, jistě vás zajímá, jak si je jenom prohlédnout? Je sice možné použít mplayer, nebo nějaký jednodušší animační nástroj, ale ani pohled na celkové obsazené místo není moc povzbuzující. Přeci jen by to chtělo nějak je převést na videosekvenci. Ke slovu přichází prográmek pro příkazovou řádku s výstižným názvem ppmtompeg.

Z úvodu je zřejmé, že tento program by mohl být bratrem programu xvidcap, který při zachytávání plochy právě takovéto série obrázků vyrábí. Nicméně takto vybíravý není, protože zdrojem může být třebas program na vytváření animovaných filmů.

Požadavkem je přesunout všechny obrázky do jednoho adresáře a pojmenovat tak, aby je bylo možno indexovat a byly ve správném pořadí. Pak už je možné rovnou spustit uvedený program... Vlastně není, protože přes parametry není možné zadat ty nejdůležitější věci, jako je zdroj dat a jeho formát. Je potřeba vytvořit konfigurační soubor.

Co pro vás bude ppmtompeg provádět, se on sám dozvídá přes konfigurační soubor. Jeho podoba je velmi dobře popsaná v manuálových stránkách. Namátkou uvedu, že je možné zadat adresář se zdrojovými obrázky, formát zdrojových obrázků, parametry I, P a B snímků, kvalita videa apod.

OUTPUT          movie.mpg
INPUT_DIR       /home/user/video/
INPUT
`ls *.xwd`
END_INPUT
BASE_FILE_FORMAT        PNM
INPUT_CONVERT   xwdtopnm *
IQSCALE         8
PQSCALE         10
BQSCALE         25
PATTERN         IBBPBBPBBPBBPBBP
FORCE_ENCODE_LAST_FRAME
GOP_SIZE        16
SLICES_PER_FRAME        1
PIXEL           HALF
RANGE           10
PSEARCH_ALG     LOGARITHMIC
BSEARCH_ALG     SIMPLE
REFERENCE_FRAME ORIGINAL

Nicméně chyběl mi jeden velmi důležitý parametr, počet snímků za sekundu. Tato hodnota je nastavena fixně na 30 snímků za sekundu. Dočetl jsem se, že je možné sehnat evropskou verzi s 25 snímky, ale mně se to nepovedlo. Pokud však máte stroj pro, který nebude problém produkovat 30 snímků obrazovky za sekundu a dostatek místa na disku, není to problém.

Kdybyste si tento program chtěli nainstalovat, vězte, že je součástí balíku netpbm, který obsahuje více než 220 podobných nástrojů pro konverzi mezi 80 různými grafickými formáty. Faktem je, že tento program již je letitý a i poslední změny proběhly před delším časem, což však také znamená, že je balík dobře odladěn a že není problém najít ho v každé distribuci. Kromě cize znějících formátů, jako je pnm, pbm, ppm apod., však podporuje jpg, gif i png, co víc bychom si tedy mohli přát.

Ukázkové video, velikost cca 900 kB

Diskuze (2) Nahoru