Přehrávač Mplayer je pro mnoho uživatelů (včetně mě) prakticky jediným používaným přehrávačem. Má řadu výhod jako konfigurovatelnost, ovládání klávesnicí, univerzálnost a možnost přehrát snad všechny formáty, na které narazíte. Umí i streamy, jejich ukládání na disk a různá další kouzla. O některých jsme psali před lety v seriálu Mplayer a Mencoder.
Přesto má některé vlastnosti, které jeho uživatelům nemusí vyhovovat. Autoři projektu Mplayer2 se proto rozhodli tyto problémy odstranit a z „nejlepšího přehrávače“ udělat přehrávač ještě o kousek lepší. Jaký nástroj používáte vy?
Který přehrávač používáte v Linuxu nejčastěji?
Projekt Mplayer2 je poměrně mladý, jeho historie má zatím přibližně rok a jeho první RC verze vyšla v březnu loňského roku. Později jsme vás informovali o tom, že vývoj pokračuje a novinky přibývají příjemným tempem.
Proč Mplayer2
Z hlediska uživatele se jedná stále o klasický Mplayer. Fungují v něm stejné klávesové zkratky, má stejnou konfiguraci, používá stejné grafické prvky (OSD), umí stejné formáty a podobně. Opravuje však řadu drobných chyb a různých problémů, které obtěžují uživatele. Navíc přináší i jednu zásadní technickou vymoženost. My si postupně nejdůležitější změny proti základnímu Mplayeru probereme.
Podpora více vláken
Nejzásadnější technickou novinkou je podpora více vláken. V době, kdy má každý nový počítač vícejádrový procesor, je příjemné, když aplikace dokáže jeho možností využít. Mplayer2 je tedy možné zkompilovat proti vícevláknovému FFmpeg-mt, který se před časem stal součástí projektu FFmpeg.
Mplayer2 tak umí dekódovat video vícevláknově bez dalších zásahů uživatele. To se hodí u dnešních náročných full HD filmů, pokud nemáme možnost je počítat na grafické kartě. Díky vícevláknové podpoře má přehrávač k dispozici podstatně více výkonu.
Lepší podpora VDPAU na kartách NVIDIA
VDPAU je API společnosti NVIDIA, které v unixových systémech umožňuje část zátěže při dekódování videa přenést na grafickou kartu (podpora od GeForce 8). Mplayer2 pracuje s VDPAU efektivněji, pracuje lépe s buffery a odstraňuje omezení přepnutí snímku vždy jen s obnovou monitoru. Je tak možné přetáčet film rychleji než například rychlostí 60 snímků (Hz) za sekundu.
Když pauza, tak pauza
Pokud se zaměříme na uživatelské změny, nejzajímavější je nová pauza. V klasickém Mplayeru zastavení obrazu funguje, ale film se rozeběhne při jakékoliv další akci. Je to jedna z nejotravnějších vlastností Mplayeru. V Mplayeru2 byl tento problém odstraněn, takže když film stojí, můžete zapínat/vypínat fullscreen, koukat se na čas zbývající do konce filmu, dokonce můžete film posouvat (šipkami) a dělat další akce, aniž byste tím přehrávání znovu pustili.
Vylepšená podpora kontejneru Matroška
Kontejner Matroška (přípona MKV) je stále oblíbenější a uživatelé se s ním setkávají čím dál častěji. Mplayer2 přidává podporu některých jeho méně známých možností jako jsou kapitoly nebo edice.
Lepší posun po snímcích
Zajímavým vylepšením je také možnost posunu po skutečných snímcích. Můžete se tak v obraze dostat na libovolné okýnko a nejste tak omezeni jen na klíčové snímky (keyframes).
Podpora pro lokalizace
„Starý“ Mplayer nemá vůbec možnost překladu hlášek, protože texty jsou natvrdo zakomponované v samotném kódu. Pokud byste tedy chtěli mít podporu více jazyků, museli byste používat samostatné binárky pro každý z nich. Mplayer2 přináší konečně podporu gettext, takže je možné využívat standardních lokalizačních systémových knihoven a program přeložit třeba do češtiny.
Lepší vztah Mplayer a FFmpeg
Mplayer používá poměrně ošklivým způsobem knihovnu FFmpeg. Při kompilaci vyžaduje její embedded variantu a volá přímo její interní symboly, které nejsou vyvedeny ven pomocí standardního API. To znamená, že pokud se změnila verze FFmpeg, nebylo možné Mplayer zkompilovat a bylo nutné jej pro novou verzi knihovny upravit.
Mplayer2 tuto ošklivou závislost ruší a využívá FFmpeg výhradně pomocí veřejného API. To výrazným způsobem zjednodušuje správu Mplayeru a umožňuje jednoduše vytvářet dynamicky linkované binárky.
Lepší fonty titulků
Mplayer2 používá k renderování titulků knihovnu libass
, která nabízí lepší vykreslování a příjemnější efekty. Přináší to ale některé potenciální problémy. Například nefungují některé staré volby pro vykreslování fontů a na některých grafických kartách (respektive ovladačích), které nepodporují přímé vykreslování, může dojít k problémům s obrazem. Proto existuje volba -noass
, která využije starý systém vykreslování.
Další drobnosti
Samozřejmě to zdaleka není vše, byla opravena hromada malých chyb, vylepšila se synchronizace videa se zvukem, očistou prošly konzolové hlášky, přibyla možnost nepřerušovaného přehrávání hudby (parametr -gapless-audio
) a podobně. Mplayer2 by měl také lépe reagovat na uživatelské příkazy v situacích, kdy je vytížen nějakou činností. Příjemné také je, že při přepínání filmů zůstává program ve fullscreen režimu a nevyskakuje z něj na okamžik, jako tomu bylo v původní verzi.
Co bylo odstraněno
Při výše popsaném kácení lesa lítaly velké třísky a některé opravdu špatné kmeny bylo třeba dokonce úplně zlikvidovat. Jako první to odnesl Mencoder, který není součástí Mplayer2. Vývojáři k tomu napsali: Kód Mencoderu je hodně prohnilý, proto jsme ho smazali. Časem vytvoříme jiné řešení pro enkódování.
Pokud chcete enkódovat, musíte použít jiné řešení nebo Mencoder z klasického Mplayeru.
Stejně tak bylo odstraněno integrované grafické rozhraní. Špatné integrované GUI bylo smazáno. V budoucnu se místo něj zaměříme na vylepšení rozhraní pro externí programy,
píší vývojáři. Mplayer2 tedy nebude mít GUI. Vývojáři chtějí lépe spolupracovat s různými rozhraními, které vyvíjí někdo jiný. Už teď můžete sáhnout třeba po projektu SMPlayer2.
Program se zbavil také závislosti na některých knihovnách. Kromě výše popsaných změn ve vztahu k FFmpeg byla například úplně zahozena podpora knihovny libmpeg2
. Místo ní Mplayer2 používá libavcodec
, který by měl být zcela adekvátní náhradou. Stejně tak byla zahozena podpora ovladačů vidix
, protože je stejně nikdo neudržuje a na nových grafikách nefunguje. Podobně skončila i podpora libdvdnav
, libdvdread
a libdvdcss
. Pokud ale máte zájem, můžete si je ručně přidat.
Kde to stáhnu?
Samozřejmě můžete navštívit domovský web www.mplayer2.org, kde můžete stáhnout zdrojové kódy a binárky pro MS Windows, Mac OS X a Linux. Je pravděpodobné, že Mplayer2 bude obsahovat i vaše distribuce. V repositářích Debianu je a stejně tak jsem jej našel v repositářích Ubuntu. V ostatních distribucích bude pravděpodobně také.
Pokud vám chybí Mencoder (viz text výše), nemusíte zoufat. Je možné si oba balíčky (Mplayer i Mplayer2) nainstalovat současně a používat oba dva. Budete tak mít k dispozici i Mencoder. Vývojáři Mplayer2 slibují, že se nového enkódovacího nástroje dočkáme už velmi brzy, ještě před verzí 2.1. Vzhledem k tomu, že aktuální je verze 2.0, bude to opravdu co nevidět. V testovacím repositáři už jeho kód je a můžete si jej vyzkoušet. Nemá prý tak „chybný návrh“ jako starý Mencoder. Uvidíme.
Mplayer2 znamená čistotu
Zdá se, že projekt Mplayer2 jde dobrou cestou – přidává nové vlastnosti, opravuje staré bolesti a provádí čistku toho, co se za ta léta v Mplayeru nahromadilo. Považuji Mplayer za nejlepší přehrávač vůbec, i když má své mouchy. Mplayer2 tedy považuji za velmi užitečnou aktivitu, která vývoj přehrávače dotahuje do správného konce.