Portál AbcLinuxu, 3. května 2024 07:27

Přehrávání DVD pod Linuxem

28. 11. 2002 | Robert Krátký
Články - Přehrávání DVD pod Linuxem  

Vše o přehrávání DVD. Teorie i praxe. Recenze přehrávačů.

Teorie

Logo_DVD

Přehrávání DVD na počítači má spoustu výhod. V tomto článku se podíváme na možnosti Linuxu v této oblasti.

Obecně lze řící, že mezi hlavní přednosti sledování DVD na počítači patří zejména nízká cena nutného vybavení a kvalita obrazu. Širokoúhlý formát monitorů se však standardem v dohledné době asi nestane. To nás v případě širokúhlých prezentací (naprostá většina filmových disků) odsuzuje k černým pruhům na vrchním a spodním okraji obrazovky. Nicméně vzhledem k vyššímu rozlišení monitoru oproti TV máme záruku, že nezůstaneme ochuzeni ani o poslední kousek digitální informace, který se autorům podařilo na DVD nacpat.

Anamorfní formát

Jedním z největších přínosů DVD je možnost sledovat filmy v takzvaném anamorfním formátu. Velice stručně řečeno je to takový zápis obrazu, který využívá pro ukládání video-dat 33% plochy z oněch černých pruhů, které známe ze širokoúhlých filmů. Televize s poměrem stran 16:9 (širokoúhlá) pak tato data využije k zaplnění celé obrazovky, místo aby pouze zvětšila obraz zaznamenaný mezi černými pruhy. Docílí se tím větší ostrosti (a tedy kvality) obrazu. Počítačový monitor se vzdor svém nevyhovujícímu poměru stran ( 4:3 ) zachová podobně, protože jeho vysoké rozlišení umožňuje využití plného rozlišení videa. Černé pruhy už jsou pak jen "vata" doplněná softwarovým přehrávačem. Podrobné a názorné vysvětlení anamorfního přepisu lze nalézt na stránce: What's an anamorphic DVD?

Podpora multimédií pod Linuxem má své mezery hlavně díky tomu, že (stále ještě) většina výrobců hardware (a souvisejícího software) považuje Windows za svůj primární trh. V případě přehrávání DVD si však skoro není nač stěžovat. Dokonce si troufám tvrdit, že na konci z toho linuxový uživatel vyjde lépe. Hlavním důvodem je (překvapivě) cena, kterou je třeba zaplatit za programové vybavení. V Linuxu se dostupnost free software bere jako samozřejmost, nicméně uživatelé Windows by to s hledáním (rozumně funkčních) nekomerčních alternativ k programům přehrávajícím DVD měli dost nesnadné.

Ochrana DVD

Závažným problémem je ochrana proti kopírování. Ta se vás však týká i tehdy, jsou-li vaše úmysly počestné a kopírovat se nic nechystáte. Takové ochrany jsou na DVD většinou hned dva druhy: digitální a analogová. Analogová slouží k zabránění nahrávání obsahu DVD na analogový přístroj, nejčastěji VHS a známá je pod názvem MacroVision - narazit na problém můžete v podstatě pouze, pokusíte-li se přehrávat DVD z počítače na externím TV.

S digitální ochranou je to horší. Jmenuje se CSS (Content Scramble System) a je to systém, který je použit pro "zašifrování" informací na DVD za použití speciálních klíčů tak, aby je mohl číst pouze schválený hardware/software (čili takový, jehož výrobce/autor za použití algoritmu zaplatí). V případě přehrávání na počítači provádí rozkódování buď MPEG-2 dekodér v podobě přídavné karty nebo (častější případ) přímo program použitý k přehrávání DVD, neboli softwarový dekodér. Ačkoliv dešifrování CSS nepředstavuje velký problém a zdrojový kód prográmku, který dokáže CSS klíče rozluštit, má pouhých pár řádků, právní strana otázky zdaleka tak prostá není (viz zajímavá přednáška dotýkající se jak právních, tak technických aspektů CSS). Někteří autoři open-source software umožňujícího přehrávání DVD proto nezačleňují podporu CSS dekódování přímo do programu a ponechávají na uživateli rozhodnutí, zda si tuto podporu (např. ve formě "cizího" pluginu, viz Xine) nainstaluje dodatečně.

Praxe

Po nezbytném úvodu se můžeme konečně vrhnout na to nejdůležitější. Na internetu je již dlouhou dobu v oběhu Linux-DVD-Howto, ale vzhledem k datu zpracování již není příliš aktuální. Každopádně však stojí za přečtení, pokud stále používáte kernel řady 2.2.x.

Základním předpokladem je samozřejmě fungující DVD-ROM mechanika. Většina programů ji bude hledat pod /dev/dvd, a proto je třeba, pokud ještě neexistuje, takový symlink vytvořit. Důležité je mít i zapisovací(!) práva k tomuto zařízení, aby fungovalo dešifrování CSS. Dále se ujistěte, že DMA je zapnuto, protože výrazně ovlivňuje výkon. Současné nastavení se dozvíte třeba pomocí hdparm -v /dev/dvd. Doporučuji také Xfree 4 (a to hlavně kvůli podpoře Xv + stručný popis v manuálu ke Xine), i když ani to není nutné (viz článek o framebufferu právě zde na abclinuxu.cz).

Zbývá zvolit program, kterému svěříme ostatní starosti. Máme docela slušný výběr, což je jen dobře, protože na různých strojích a instalacích se jednotlivé programy zhusta chovají dost odlišně a výsledek tomu odpovídá. Nejznámější programy, ze kterých můžeme vybírat (řazeno náhodně):

přičemž pouze Ogle je výhradně DVD přehrávač. Ostatní programy můžeme používat i k přehrávání jiných (video) formátů. Ať už se po přečtení mého hodnocení rozhodnete vyzkoušet kterýkoliv přehrávač, doporučuji používat pro výstup videa Xv a pro audio OSS emulaci ALSA - ušetříte si tím zklamání z nekvalitní reprodukce obojího.

Vzhledem k tomu, že používám Debian, který má mezi svými balíčky Xine a Ogle (MPlayer a VLC jsou také dostupné ve zkompilované podobě), mám situaci ulehčenou, nicméně v zájmu větší objektivnosti jsem si stáhl zdrojáky všech zmiňovaných programů a zkompiloval je sám. To vyžaduje trošku manévrování, protože například MPlayer doporučuje použití vlastních opatchovaných verzí knihoven "libdvdcss" a "libdvdread" (první DVD dešifruje, druhá čte obsah).

Xine

Kompilace a instalace Xine není nijak neobvyklá (nehledě na to, že většina distribucí poskytuje binární balíčky) a máte-li správně nastavené locales, bude na vás Xine mluvit rovnou česky. Pouze je nutno doinstalovat plugin, který dokáže rozlousknout CSS.

Těch je více, ale nejprověřenější jsou pravděpodobně captain_css (je k dispozici ve dvou variantách, z nichž pouze jedna dokáže načíst DVD menu) a dvdnav, který menu podporuje také. Pro jejich zdárné fungování (a instalaci) je třeba mít nainstalovány již zmiňované knihovny libdvdread a libdvdcss (opět součástí většiny distribucí). Oba pluginy jsou založeny na kódu programu Ogle, který vůbec první přišel s podporou menu pod Linuxem.

xine v akci

Přestože jsem captain_css, respektive jeho d5d odnož (s podporou menu) dříve používal, tentokrát se mi rozchodit nepodařil. Dvdnav naopak fungoval dobře, ale nedokázal jsem jej přinutit zobrazovat správný poměr stran, pokud nebylo okno videa maximalizováno. Nepovažuji to za moc velkou vadu na kráse, horší už je to, že zvolit titulky a jazyk lze pouze prostřednictvím menu DVD, nikoliv během přehrávání pomocí nějakého menu programu. Naopak velkou výhodou u Xine je jeho schopnost ukládat "snapshoty", a to i z DVD. Co se kvality obrazu a synchronizace se zvukem týče, není Xine co vytknout.

MPlayer

Kromě toho, že zvládá DVD, přehrává MPlayer snad úplně všechno, nač si vzpomenete. Poslední buildy z CVS by si měly poradit i s SVQ3 + QDM2 MOV (Quicktime 5 a výše).

Instalace MPlayeru je výjimečná pouze tím, že chcete-li používat GUI (narozdíl od Xine má MPlayer standardně pouze CL rozhraní), musíte to říct ./configure skriptu: --enable-gui. Pak je ještě třeba v konfiguračním souboru (/etc/mplayer.conf) nastavit gui=yes a v neposlední řadě si nějaký ten skin opatřit, jelikož součástí MPlayeru není ani jeden. Elegantnějším řešením výběru GUI nebo CL rozhraní je používání automaticky nainstalovaného symlinku gmplayer pro práci s GUI.

MPlayer sice přehrává i šifrované disky "out-of-the-box", ale podpora DVD menu mu (prozatím) chybí. Existuje sice možnost spustit program s experimentálním přepínačem -dvdnav, který má umožnit využití knihovny "libdvdnav", ale moje zkušenost je taková, že MPlayer spadne asi v 70% případů, což není zrovna použitelné. Tento nedostatek je však kompenzován pohodlným menu, ve kterém lze zvolit jednotlivé tituly nebo kapitoly na disku a měnit titulky i audio (bohužel však ne za pochodu - stačí změnit jazyk titulků a přehrávání začne znovu na počátku daného titulu).

MPlayer v akci

Menu MPlayeru také zpřístupňuje bohaté konfigurační možnosti (na příkazové řádce lze u tohoto programu určit, i kdy vám zazvoní u postele budík :-) ). Pokud budete chtít experimentovat s různými výstupními ovladači videa a audia, zkuste použít postupně mplayer -vo help nebo mplayer -ao help - to vypíše ty, které je MPlayer schopen na vašem systému využít. Běžné použití bez grafického prostředí může vypadat třeba takto (viz mplayer --help nebo podrobné man mplayer) :

mplayer -ao oss -vo xv -dvd 2 -fs -framedrop

MPlayer má jeden nepříjemný zlozvyk a to je dožadování se přijatelnější konfigurace systému. Může se vám proto stát, že se budete chvilku bez problému koukat na film a najednou vyskočí uprostřed video-okna dialogový box, který vám oznámí, že váš počítač je příliš pomalý, než aby soubor (DVD) mohl přehrát. Naštěstí hned také nabídne několik možných řešení, kterými by se dala tato nepříjemnost napravit, přičemž nejčastěji postačí - jak již jsem upozorňoval - buď přepnout výstup na Xv nebo nainstalovat místo původního OSS ovladače ALSA (a použít OSS emulaci).

Pravděpodobně posledním problémem, který by vám mohl znepříjemňovat život, je neschopnost (občasná - zatím netuším, proč tomu tak je pouze u některých disků) MPlayeru navazovat bez přerušení tituly na disku. Stane se tedy, že zvolíte "Přehrát DVD" a jediné co proběhne je bliknutí černého okna a MPlayer se tváří, že už je hotovo. V takovém případě musíte v menu zvolit titul na disku, který obsahuje samotný film, což nemusí být někdy snadné, zvláště je-li disk rozvržen do nějakých 30 titulů a pouze jediný skrývá film - ostatní mohou být různé části menu, copyrightová upozornění, znělky studií apod.

MPlayer je při načítání disku o dost svižnější než Xine, kterému dekódování CSS chvilku trvá; přehrávání je plynulé, i když naopak oproti Xine si všimnete trhnutí obrazu při přechodu do/z celoobrazovkového režimu.

Ogle

Ogle opět nepředstavuje žádný tvrdý instalační oříšek. Předkompilovaný balíček bych však být vámi v tomto případě preferoval, protože ke kompilaci GUI je třeba splnit hromadu ne úplně běžných závislostí. Každopádně však instalaci GUI doporučuji. Ze všech popisovaných přehrávačů je řešené nejrozumněji - střízlivě a s ohledem na funkčnost. GUI s vámi sice nebude mluvit česky, ale je tak prosté a bez možnosti jakéhokoliv nastavení, takže na něm téměř není co překládat. Pro uživatele KDE se nabízí i možnost využít Okle, což je sympatický frontend.

Ogle v akci

Ogle kombinuje dobré vlastnosti jak Xine, tak MPlayeru a přitom jej netrápí žádná z jejich chybiček, o kterých jsem psal. Ogle sice nelze použít k přehrávání ničeho jiného než DVD, ale zato splňuje vše, co byste mohli očekávat. Přepínání zvuku i titulků je možné za běhu filmu, máme k dispozici pohodlná tlačítka pro zrychlené i zpomalené přehrávání a také nabídku s výběrem dostupných DVD menu (root, výběr kapitol, nastavení zvuku atd.). Načtení disku je stejně rychlé jako u MPlayeru. Jedinou vadou na kráse je snad nedostupnost ovládacích prvků ve fullscreen režimu (samozřejmě lze však ovládat klávesovými zkratkami, viz man oglerc).

VideoLAN Client

VLC je součástí většího balíku aplikací VideoLAN, který představuje ambiciózní řešení streaming videa po LAN (nyní již i WAN). Nás zajímá pouze Client, který může fungovat jako samostatná aplikace pro přehrávání videa. Při instalaci máme možnost zvolit si GUI dle svého vkusu a potřeb (Gnome, Qt2, gtk) - balíčky pro hlavní distribuce jsou opět k mání. Češtiny se znovu nedočkáme, což je trochu škoda, protože možnosti konfigurace pomocí GUI jsou skutečně bohaté. VLC se vyrovná Ogle ve všem kromě podpory DVD menu.

VLC v akci

Závěr

Pokud bych bral v potaz čistě přehrávání DVD, pak je u mne Ogle mírným favoritem před VLC. MPlayer sice nezatracuji, ale používám ho na všechno ostatní kromě DVD. Xine se mi zdá trošku moc nestabilní a neovládá se také zrovna pohodlně, i když to je určitě individuální.

Příště se můžeme pustit třeba do návodu, kterak vychutnat prostorový zvuk (máme-li na to hardware) a nebo rovnou do vypalování DVD videa pod Linuxem.

Zdroje/odkazy:

Další články z této rubriky

Linuxové foto novinky: nejen darktable 2.2 a Rawtherapee 5
Linuxové foto novinky: GIMP konečně prolomil 8bit mez
DLNA v praxi: Android
Technologie DLNA na Linuxu v praxi – PS3 Media Server
Technologie DLNA na Linuxu v praxi – 1

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.