Nebudeme popisovat ovládání klávesovými zkratkami ani to, jak správně klikat na grafické prvky v GUI. Předpokládám, že si to každý najde v manuálové stránce, která je k dispozici i česky. Spíš se zaměříme na příkazovou řádku a její možnosti.
Základní použití
Základní použití MPlayeru jsme si ukázali už posledně. Pro jistotu jej ale zopakuji.
$ mplayer film.avi
případně pro DVD
$ mplayer dvd://
Pokud použijete tento jednoduchý zápis, film se začne přehrávat v okně v defaultním nastavení MPlayeru. To je možno měnit v souboru ~/.mplayer/config
. Na začátku je samozřejmě prázdný. Jeho syntaxe je jednoduchá.
volba=hodnota
Samozřejmě můžete používat klasické komentáře, které oddělíte pomocí znaku #. Volby v tomto souboru mají stejné názvy jako parametry, které můžete zadávat přímo na řádce. Pokud tedy chcete například nastavit výstupní audio zařízení na EsounD, můžete buďto pustit
$ mplayer -ao esd film.avi
nebo do zmíněného konfiguračního souboru přidat řádek:
ao=esd
V dalším textu budeme používat v příkladech parametry na řádce, ale pokud se vám budou líbit, můžete si je natrvalo zapsat do konfigurace.
Video a audio výstupy
V příkladu už jsem nakousl volbu audio výstupu, a tak vám o nich řeknu něco víc. Vedle audio existuje samozřejmě také video výstup. Ty lze v případě MPlayeru měnit a dosahovat tím různých výsledků. Pro jejich změnu slouží parametry -ao
(audio output) a -vo
(video output).
Jaké výstupy máme k dispozici záleží na tom, jaké knihovny jsme měli nainstalované v době kompilace a zda se s nimi přehrávač slinkoval. Můžeme si je nechat jednoduše vypsat:
$ mplayer -ao help $ mplayer -vo help
V mém případě to jsou video výstupy:
gl X11 (OpenGL)
gl2 X11 (OpenGL) - multiple textures version
dga DGA ( Direct Graphic Access V2.0 )
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
fbdev Framebuffer Device
fbdev2 Framebuffer Device
svga SVGAlib
aa AAlib
caca libcaca
vesa VESA VBE 2.0 video output
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes Mpeg-PES file
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
gif89a animated GIF output
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
A ještě audio:
mpegpes Mpeg-PES audio output
oss OSS/ioctl audio output
alsa ALSA-0.9.x-1.x audio output
esd EsounD audio output
sdl SDLlib audio output
null Null audio output
pcm RAW PCM/WAVE file writer audio output
plugin Plugin audio output
Vidíte, že je jich docela hodně a že možnosti jsou široké. V případě video výstupů můžete využít OpenGL rozhraní, zápis do pnh souborů nebo si nechat vypisovat MD5 součty pro každé okýnko. Velmi zajímavé je například použití knihoven AAlib a libcaca. V obou případech jde o výstup do textového režimu, libcaca zvládá barvy. Neřekl bych, že je to extra užitečné, ale pro pobavení je to příjemné.
Použití libcaca
Chcete-li využít MPlayer v konzoli, můžete použít výstup fbdev
, fbdev2
nebo svga
. Klasickým výstupem je samozřejmě X11, ale příliš jej nedoporučuji. Přestože chodí bezproblémově, nepoužívá žádnou akceleraci a získaný obraz jednoduše přes X server posílá do okna.
Máte-li rozchozenou hardwarovou akceleraci, doporučuji použít video výstup xv
, který tuto akceleraci využije. Karta se hodí zejména ve chvíli, kdy chcete provádět s videem různé transformace. Klasickým příkladem je přepnutí do režimu pro celou obrazovku. V případě plně softwarového přehrávání je potřeba rozměry videa škálovat softwarově. Grafická karta ale umí tyto služby poskytnout s mnohem menším zatížením systému.
Titulky
Poměrně často dnes přehráváme filmy, které používají titulky umístěné v externích souborech. Pokud máte správně nainstalované fonty a názvy souborů s filmem a titulky se liší jen příponou, MPlayer si titulky sám najde, rozezná a použije je. Pokud ne, můžete použít parametr -sub soubor_s_titulky
pro určení jejich umístění.
V minulém díle jsme se také lehce zmínili o kódování titulků. Většina dnešních titulků je uložena v kódování WIN1250, a tak pokud jste nainstalovali titulky v ISO8859–2, nezobrazí se vám některé znaky korektně. MPlayer má ale naštěstí jednoduché řešení. Pokud si nainstalujete konverzní balík iconv
, můžete jej použít přímo z MPlayeru pomocí parametru -subcp
, za který uvedete název kódování, ve kterém jsou titulky uloženy. V tomto případě cp1250
.
Jedna poznámka k titulkům: Mí přátelé jsou vždycky pohoršeni nad tím, že všem titulkům dávám příponu .sub
, přestože měly původně .srt
nebo nějakou úplně jinou. Obvykle na to reagují slovy: „Pak se nediv, že ti to bude hrát špatně.” MPlayer ale není hloupý a neřídí se příponou. Stejně vždycky podle struktury souboru zjišťuje, o jaký formát se jedná, takže můžete být klidní.
Fullscreen
Pokud chcete, aby video začalo rovnou hrát v celoobrazovkovém režimu, použijte parametr -fs
. Občas se stává, že je špatně vypočítán poměr stran. Ten je možno ručně MPlayeru vnutit pomocí parametru -monitoraspect
a číslem, které udává opravdový poměr. Použít můžete buďto přímo hodnotu (například 1.3333) nebo vypsat poměr (4:3).
Vylepšení videa
Samotné přehrávání v okně s titulky by vám ale asi nestačilo. Podíváme se tedy na další volby, které se vám mohou hodit.
Základem je samozřejmě vyhlazování videa. Tady se ještě vrátím k hardwarové akceleraci. Ta je zde opět použita a v tomto případě hraje velmi zásadní roli. Schválně si zkuste pustit vyhlazování přes x11 a xv. Rozdíl v zatížení dělá obvykle více než 50 %.
Samotné vyhlazování zapínáme volbou -pp
jako Post Processing. Za ní ještě příjde číslo od 0 do 6, které udává, jak moc chceme obraz vylepšovat. Máte-li slušný počítač (řekněmě 800 MHz a více) a akceleraci, nemusíte se bát a klidně začněte na nejvyšší hodnotě. Až když uvidíte, že systém nezvládá, snižujte.
Pro porovnání jsem zvolil stejné okénko jednoho filmu. V celoobrazovkovém režimu je to ještě zřetelnější.
Film bez vyhlazování
Totéž s vyhlazením
Filtry
Velmi důležitou funkcí MPlayeru je také možnost použití různých výstupních filtrů. Používají se velmi jednoduše pomocí parametru -vop
a pomocí -vop help
si můžete nechat vypsat seznam filtrů, které váš MPlayer umí. Je jich poměrně hodně, a tak je nebudu všechny vypisovat. Jsou mezi nimi ale filtry pro otočení obrazu (rotate), oříznutí (crop), odstranění loga z obrazu (delogo), korekci perspektivy (perspective) a další. Můžete se směle pustit do jejich objevování a experimentování.
Deinterlace
Toto je poměrně častý problém, takže příslušnému filtru věnuji samostatný odstavec.
Hlavně na DVD se objevuje řádkové prokládání, které při přehrávání nevypadá dobře. Pochopitelně je možno jej odstranit během enkódování do DivX, ale pokud chcete DVD jen přehrát nebo máte špatně udělaný DivX, musíte si deinterlaci provést v reálném čase během přehrávání.
Jak vypadá neopravené řádkování vidíte na následujícím příkladu:
Oprava je snadná, stačí použít video filtr lavcdeint
. Ten vše zařídí automaticky a prokládání vás zbaví.
$ mplayer -vop lavcdeint film.avi
Roztažení filmu
Občas se hodí oříznout příliš široké video tak, aby zmizely nebo se alespoň zmenšily černé pruhy na okrajích. K tomu slouží parametr -panscan
, který je následován číslem od 0.0 do 1.0, které určuje, jak moc má být obraz upraven. Hodnota 0.0 znamená, že nedojde k žádné změně, 1.0 zase nastaví úplné oříznutí, takže černé pruhy zmizí úplně.
Během přehrávání je možno měnit nastavení této hodnoty klávesami w a e. Panscan funguje jen na akcelerovaných výstupech.
Závěrem
Řekli jsme si o ovládání funkcí přehrávání při práci s MPlayerem a zmínili jsme některé „vychytávky”. Příště se pustíme do enkódování videa, použijeme některé věci z dnešního článku a přidáme další, aby se nám to celé pěkně spojilo.