Hlavní navigace

MPlayer a MEncoder: koukáme na televizi

22. 12. 2005
Doba čtení: 3 minuty

Sdílet

Už jsme se naučili pouštět filmy, které si přineseme na nějakém médiu nebo stáhneme z internetu. MPlayer ale umí posloužit i jako zobrazovač a nahrávač obrazu z televize.

Máte-li doma televizní kartu, potřebujete k jejímu používání také rozumný software. Těch je k dispozici celá řada, ale když už si povídáme o MPlayeru, můžeme jej použít i k tomuto účelu. Alespoň uvidíte, že je skutečně univerzální.

Podmínkou správné funkce televizní karty je samozřejmě její rozchození v systému. Minimálně je potřeba nahrát správné moduly pro podporu V4L (Video for Linux) a obsluhu konkrétní karty. Pokud jste toto zvládli, mohou jednotlivé aplikace přes rozhraní zmíněného V4L kartu obsluhovat a získávat z ní obraz a zvuk.

Častým dotazem uživatelů televizních karet v Linuxu je také to, jak správně nahrávat obraz na disk. Programů pro jednoduché přehrávání je samozřejmě hodně, ale zdaleka ne všechny nabízejí možnost záznamu. I o tom si dnes budeme povídat.

Přehráváme …

MPlayer přistupuje k televizní kartě a dalším podobným zařízením úplně stejně jako k ostatním typům médií. To je hlavní výhodou použití MPlayeru. Pokud jste zvyklí přehrávat s ním například DVD, nemusíte si zvykat na nové ovládání.

Základní použití je tedy následující

mplayer tv:// -tv channel=kanál 

Zobrazí se okno, ve kterém bude přehrán uvedený kanál. Žižkovský kanál vysílá naše hlavní kanály na U51, U52, U37 a U24. Konkrétní kanály si buď musíte najít ve vysílacím plánu nebo zjistit pokusně.

Kromě kanálu je možno použít další nastavení. Jednotlivé položky vložíme za parametr -tv a oddělíme je dvojtečkou. Jsou to například:

driver – ovladač přijímače (v4l nebo v4l2)
input – číslo vstupu
norm – vysílací norma
mjpeg – zapne hardwarovou kompresi do mjpeg (pokud je podporována)
width a height – výška a šířka obrazu
brightness – jas
contrast – kontrast
saturation – barevná saturace (sytost)
volume – hlasitost

Poznámka: Výše uvedené parametry se samozřejmě týkají karty. Když nastavujete například jas, mění se nastavení samotné karty, která vám pak vrací světlejší obraz. Totéž platí například pro hlasitost.

Kompletní parametry pro MPlayer tedy mohou vypadat následovně:

mplayer tv:// -tv driver=v4l2:input=0:norm=PAL:width=768:height=576:channel=U51:brightness=10:contrast=-5:saturation=5 

Ještě se vrátím k parametru input. Některé karty mají víc vstupů. Obvykle je to vysokofrekvenční vstup (tuner), S-video, kompozitní vstup a další.

Samozřejmě lze MPlayeru předat další parametry, o kterých jsme si povídali v předchozích částech seriálu. Můžeme mu tedy zvolit audio i video výstupy, vyhlazování, přehrávání na celou obrazovku nebo zapnout oblíbené filtry.

… a nahráváme

Když nám to vesele hraje, můžeme konečně použít MEncoder a něco pěkného si zaznamenat. Použití je poměrně snadné a je do jisté míry podobné ovládání MPlayeru. Jen je potřeba doplnit několik detailů.

Pravděpodobně budete chtít zachytávat vysílání v co největší kvalitě pro další zpracování. Pokud ne, můžete si pohrát s nastavením výstupního kodeku, o kterém se budeme bavit v dalším díle v souvislosti s enkódováním čehokoli do čehokoli.

Pro záznam ve vysoké kvalitě tedy použijeme příkaz:

root_podpora

mencoder tv:// -tv driver=v4l2:input=0:norm=PAL:width=768:height=576:channel=U51:brightness=10:contrast=-5:saturation=5 -o test.avi -oac copy -ovc lavc -lavcopts vcodec=mjpeg 

První část pravděpodobně už poznáte, jednotlivé položky jsme si již popsali. Dále je nastaveno, že výstup bude směřovat do souboru test.avi. Parametr oac určuje kodek, kterým bude enkódován audio výstup. V tomto případě je nastaveno, že proud bude jen kopírován ze vstupu (čili z karty) a nebude nijak upraven. Obdobně ovc nastavuje video kodek, v tomto případě je obraz překódován pomocí knihovny libavcodec a následujícím parametrem je zvolen záznam ve formátu mjpeg (Motion JPEG), který je vhodný pro následující zpracování.

Pokud karta umí hardwarovou mjpeg kompresi, doporučuji ji využít. Stačí mezi položky za parametr -tv vlozit :mjpeg: a vše bude zařízeno. Pochopitelně je pak zbytečné ještě používat videokodek a tak místo -ovc lavc zvolíme opět pouhou kopii pomocí -ovc copy. Výhodou je, že tím odlehčíme procesoru, na který nebude potřeba klást takové nároky. Zároveň tím snížíme riziko přetížení procesoru, která by tak mohl začít zahazovat části videa.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.