Hlavní navigace

MPlayer a MEncoder: hrajeme

Petr Krčmář 15. 12. 2005

V přechozím díle jsme si balík MPlayer nainstalovali a rozchodili tak, aby uměl něco přehrát. Dnes si ukážeme, co všechno po něm můžeme v souvislosti s přehráváním chtít a jak toho docílit.

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é.

libcaca

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ší.

Bez vyhlazení

Film bez vyhlazování

S vyhlazením

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:

Interlace

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.

Našli jste v článku chybu?

15. 12. 2005 2:11

Volba -vop je zastarala. Pouzijte nahradu -vf.

viz manual:

VIDEO FILTERS
Video filters allow you to modify the video stream and its properties. The syntax is:

-vf <filter1[=parameter1:parameter2:...],filter2,...>
Setup a chain of video filters.

-vop <...,filter2[=parameter1:parameter2:...],filter1> (OBSOLETE)
Setup a chain of video filters, to be applied in reverse order. Deprecated in favor of -vf.










1. 5. 2006 12:28

Gwindor (neregistrovaný)
I po tom co jsem tam vložil ty dva řádky od tebe mi nejede diakritika a jsem z toho už celkem dost zoufalej. Mohl by mi prosím někdo poradit jak to dát do pohody?
Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube