DVD lejátszás HOGYANDavid Jao djao@dominia.org 2004.02.26 Verziótörténet Verzió: 1.0 2004.02.26 Átdolgozta: DJ Első kiadás, átnézte az LDP. Verzió: 0.9 2004.02.07 Átdolgozta: DJ Előterjesztve az LDP-nek. Verzió: 0.1 2004.01.26 Átdolgozta: DJ Első nyilvános kiadás. Ez a dokumentum leírja, hogyan lehet Linux rendszeren DVD lejátszó segítségével DVD filmet nézni. _________________________________________________________________ Tartalomjegyzék 1. [1]Bevezetés 1.1. [2]Szerzői jog és licenc 1.2. [3]A felhasználás feltételei 1.3. [4]Visszajelzés 1.4. [5]Magyar fordítás 2. [6]A rendszer előkészítése 2.1. [7]Hardver feltételek 2.2. [8]A /dev/dvd szimbolikus hivatkozás létrehozása 2.3. [9]DVD régió beállítása 2.4. [10]X VideoOverlay 2.5. [11]A DMA engedélyezése 3. [12]Szoftvertelepítés 3.1. [13]Red Hat / Fedora 3.2. [14]Debian 3.3. [15]Slackware 3.4. [16]Mandrake 3.5. [17]SuSE 3.6. [18]Gentoo 4. [19]Szoftver leírás 4.1. [20]Általános alapelvek: váltott soros megjelenítés kiküszöbölése, telecine, és framerates 4.2. [21]Sajátos használati utasítások 5. [22]Hibakeresés 6. [23]További információ 1. Bevezetés Ebben a dokumentumban leírást adunk arról, hogyan lehet DVD mozikat, filmet nézni Linux rendszeren. Jellegzetes, lényegre törő és gyakorlati parancsokat adunk a DVD lejátszás előkészítésére és gyors futtatására a népszerű Linux terjesztések többségében. Különleges figyelmet szentelve a változatos, kevésbé ismert teljesítmény optimalizálásokra, amelyek nélkülözhetetlenek a tökéletes, folyamatos DVD film lejátszáshoz. _________________________________________________________________ 1.1. Szerzői jog és licenc This document, DVD Playback HOWTO, is copyrighted © 2004 by David Jao. A dokumentum a Free Software Foundation által kiadott GNU Free Documentation License 1.2-es vagy újabb verziójában foglalt feltételek szerint másolható, terjeszthető és/vagy módosítható; invariáns fejezet, első és hátsó borítólapszöveg nincsen. A licenc egy másolata elérhető a [24]http://www.gnu.org/copyleft/fdl.html címen. A Linux ® Linus Torvalds tulajdonában lévő regisztrált márkajelzés. _________________________________________________________________ 1.2. A felhasználás feltételei A dokumentum tartalmáért senki nem vállal felelősséget. Az elgondolásokat, példákat és információkat a saját felelősségedre használd. Bár nagyon sajnálatos, de előfordulhatnak hibák és pontatlanságok, amelyek a rendszered sérülését okozhatják. A szerző(k) semmilyen felelősséget nem vállal(nak) bármilyen hibára, amely a felhasználó saját ténykedése alatt előfordul. A DVD tartalmával kapcsolatos manipulációk némely területeken törvénybe ütköznek. A szerző(k) nem vállal(nak) semmiféle felelősséget, azon tevékenységekkel kapcsolatban, melyek megsértik a rá vonatkozó törvényeket. Minden szerzői jog fenntartva az eredeti tulajdonosának, amennyiben másként nincs jelölve. A dokumentumban használt szakkifejezések semmilyen párhuzamot nem képviselnek védjegyekre, szerviz márkákra vonatkozólag. Adott termékek vagy védjegyek említése nem hozzájárulás. _________________________________________________________________ 1.3. Visszajelzés Visszajelzést szívesen fogadok. A megjegyzéseidet, kritikádat és a javaslataidat a dokumentum szerzőjének küldd el a <[25]djao@dominia.org> e-mail címre. _________________________________________________________________ 1.4. Magyar fordítás A magyar fordítást [26]Appelshoffer András készítette (2004.06.30). A lektorálást [27]Daczi László végezte el (2004.10.06). Javított (R2) fordítás. Köszönet érte [28]Zahemszky Gábornak. A dokumentum legfrissebb változata megtalálható a [29]Magyar Linux Dokumentációs Projekt honlapján. _________________________________________________________________ 2. A rendszer előkészítése 2.1. Hardver feltételek Egy bizonyos feldolgozási teljesítmény szükséges a tiszta, tökéletes DVD lejátszáshoz. A rendszer követelmények némileg magasabbak a Linuxnál mint a Windowsnál, mivel nagyon sok, a videólejátszás hardveres gyorsítására kitalált technika csak Windows rendszeren működik. A minimum hardver követelmény: * 700 MHz-es vagy gyorsabb CPU, * [30]X VideoOverlay támogatással rendelkező kártya * A DVD meghajtó [31]DMA átvitelének engedélyezése _________________________________________________________________ 2.2. A /dev/dvd szimbolikus hivatkozás létrehozása Ha még nincs /dev/dvd szimbolikus hivatkozás a rendszeren, akkor futtasd a következő parancsot a gyökér könyvtárból: # ln -s /dev/hdc /dev/dvd ahhoz, hogy a /dev/dvd könyvtárban létrehozz egy szimbolikus hivatkozást az aktuális hardver eszközhöz, mely a DVD-ROM meghajtót reprezentálja (ez ebben a példában a /dev/hdc, ezt kell helyettesítened a aktuális meghajtód által használt eszköz fájllal). A /dev/dvd hivatkozás nem csak a kényelmesség miatt kell, csaknem az összes ebben a HOGYANban megemlített lejátszó szoftver feltételezi ennek a hivatkozásnak a létét. Ha nem tudod melyik eszköznevet használja a DVD-ROM meghajtó, akkor általában a dmesg | grep DVD paranccsal megtudhatod, melyet a konzolba, vagy a shell-be - rögtön a rendszer újraindítása után - írhatsz be. _________________________________________________________________ 2.3. DVD régió beállítása Az összes DVD meghajtó (kivéve az 1999-ben vagy előtte gyártott [32]RPC Phase I meghajtók) rendelkezik egyfajta [33]régió lejátszási korlátozással a meghajtó firmware-ben, következésképpen ezek a meghajtók csak adott régióból való lemezeket tudják lejátszani, a régió beállításra a lemez lejátszása előtt kerül sor. A valóságban a legtöbb linuxos DVD lejátszó szoftver képes kikerülni a DVD meghajtóba épített régiókorlátozásokat, viszont ez a szoftver számára plusz idővel jár, ezért jobb elkerülni a régiókorlátozás által okozott kellemetlenségeket, ha lehetséges. Ha az olvasóközönség azon részéhez tartozol, aki rendelkezik RPC Phase I meghajtóval, akkor nem kell semmit sem tenned a meghajtóval, az bármilyen földrajzi régióból származó DVD lemezt képes kezelni. Ezek a meghatók már elég régiek ahhoz, hogy a tulajdonosaik tudják azt, hogy nekik ilyen van. Az olvasók többségének, akik RPC-II-es meghajtóval rendelkeznek, a következő lehetőségeik vannak: 1. Az egy régióból származó lemezek lejátszásához a legegyszerűbb a [34]regionset program használata, ez a DVD meghajtót a helyes régióra állítja. 2. Különböző régiókból származó lemezek lejátszásához a [35]firmware-flash.com collection webhelyen (ahol nem hivatalos firmware fájlok gyűjteménye található) próbálj meg firmware frissítést keresni a DVD meghajtóhoz. Arra figyelj, hogy a fájlok többségének telepítéséhez DOS-ban vagy Windowsban indítsd újra a géped. 3. Lehetőség van különböző DVD meghajtó használatára mindegy egyes régióhoz. A DVD-ROM meghajtók ára eléggé alacsony ahhoz, hogy ez a stratégia megvalósítható legyen. 4. Természetesen van még az a lehetőség, hogy nem teszel semmit és rábízod magad a Linux szoftverbe épített lehetőségre, amely a régiókorlátozást feloldja. Arra viszont figyelj, hogy ez esetben is kell használni a [36]regionset programot, ezzel beállítható a meghajtó régió kódja a legtöbbször használt kódra. Erre azért van szükség, mert az RPC-II-es meghajtók régió beállítás nélkül úgy működnek, hogy az összes régiót korlátozzák. _________________________________________________________________ 2.4. X VideoOverlay Az XFree86 video overlay kiterjesztés egy elég szegényesen dokumentált alapszolgáltatása az XFree86 4.x.-nek. Ez feltétlenül szükséges a videó jó minőségű lejátszáshoz Linuxon. Ez az egyetlen módja a lejátszás hardveres gyorsításának, amelyet széles körben támogat a Linux, és vitathatatlanul ez a legfontosabb, beállítható része a Linux rendszeren a DVD lejátszásnak. A kiterjesztés meglétének ellenőrzéséhez írd be az xvinfo parancsot egy X terminálba. Ha a parancs fontosnak tűnő kimenetet produkál, akkor szerencséd van, rendelkezel hardver video overlay-el, tovább már nem kell aggódnod semmiért. Másrészről, ha a xvinfo parancs egy negatív választ ad, mint például: # xvinfo X-VideóExtension version 2.2 screen #0 no adaptors present akkor ez azt jelenti, hogy neked nincs hardver overlay támogatás. Nézd meg az [37]Overlay hibakeresés fejezetet, ez tanácsot ad arra, hogyan lehet a hardver overlay támogatást beüzemelni. _________________________________________________________________ 2.5. A DMA engedélyezése A DMA engedélyezése a meghajtó számára kritikus a DVD lejátszás szempontjából, mert csökkenti a CPU, lemez olvasásra fordított erőforrását, és több szabad erőforrást biztosít a videólejátszáshoz. A legtöbb rendszeren a DMA támogatás engedélyezése egyet jelent az akadozó és a tökéletes DVD lejátszás közötti különbséggel. A DMA állapotának ellenőrzéséhez root felhasználóként add ki a következő parancsot: # hdparm -d /dev/hdc (a /dev/hdc paramétert helyettesítsd a DVD meghajtód jelenlegi eszköznevével). Ha a DMA már be van kapcsolva, akkor készen vagy. Különben be kell kapcsolnod a hdparm -d 1 /dev/hdc parancs kiadásával. A legjobb megoldás hozzáadni ezt a parancsot az indító szkripthez (például /etc/rc.d/rc.local) azért, hogy a DMA támogatás aktív legyen a számítógép újraindítása után is. Amennyiben a fenti parancs ellenére sem kapcsolódott be a DMA, akkor nézz utána a [38]DMA hibakeresés fejezetben. _________________________________________________________________ 3. Szoftvertelepítés Most vázoljuk a DVD lejátszó szoftverek telepítését a különböző Linux terjesztéseken. Mindegyik Linux terjesztésen bemutatjuk, hogyan kell telepíteni az [39]MPlayer, [40]Xine, [41]Ogle, és [42]VideoLAN szoftvereket. Ez a 4 a legkedveltebb DVD lejátszó szoftvercsomag Linux rendszereken. A következő (4-es) fejezet használati utasítást ad ezekről a programokról. A Linux terjesztésnek megfelelő részt olvasd! Az összes - a telepítéshez szükséges - parancsot root felhasználóként futtasd. _________________________________________________________________ 3.1. Red Hat / Fedora Ha Red Hat Linuxot vagy Fedora-t használsz, akkor a [43]FreshRPMS csomag gyűjteményből le tudod tölteni az összes DVD lejátszó szoftvert. Amióta sokféle csomag szükséges a DVD lejátszáshoz, a legegyszerűbben az apt-get-et használva telepíthetők: 1. Kövesd a Red Hat verzióddal megegyező hivatkozást: + [44]Fedora Core 1 + [45]Red Hat Linux 9 + [46]Red Hat Linux 8 + [47]Red Hat Linux 7.3 Töltsd le a megfelelő bináris x86 RPM csomagot (a példában apt-0.5.15cnc3-0.1.fr.i386.rpm) és telepítsd az rpm parancsot használva, a következő módon: # rpm -Uvh apt-0.5.15cnc3-0.1.fr.i386.rpm 2. Futtatsd az alábbi parancsokat: # apt-get update # apt-get install mplayer xine ogle_gui így az apt mindent telepít számodra. _________________________________________________________________ 3.1.1. Megjegyzés a VideoLAN-nal és a Red Hat-tal kapcsolatban A Red Hat 9 és a Red Hat 7.3 számára a FreshRPMS gyűjtemény tartalmazza a videolan-client csomagot, de a Red Hat 8 és a Fedora Core 1 számára nem. Ha a VideoLAN-t Red Hat 9-re vagy Red Hat 7.3-ra akarod telepíteni, akkor csak be kell írnod, hogy apt-get install videolan-client és a program megcsinál mindent. A VideoLAN-t használni kívánó Fedora Core 1 felhasználóknak ajánlott a [48]official VideoLAN Red Hat page oldal meglátogatása, majd az ottani útmutató követése. Nem ajánlom, hogy a Fedora felhasználók telepítsék a VideoLAN-t, amióta a VideoLAN csomagok összeakadnak a FreshRPMS csomagokkal, amit az előző lépésben telepítettünk. Nem egyszerű a VideoLAN telepítésére Red Hat 8-ra. _________________________________________________________________ 3.2. Debian Ezek a parancsok Debian-ra vonatkoznak, csak stabil rendszeren használd (a 3.0r1-est használtam ennél a leírásnál). Feltételezem azt, ha teszt vagy instabil változatot használsz, akkor tisztában vagy azzal mit teszel. Bizonyosodj meg arról, hogy a következő sorok szerepelnek az /etc/apt/sources.list fájlban: deb http://hpisi.nerim.net/ stable main deb http://www.interq.or.jp/libra/oohara/debian-unofficial/ ./ deb http://download.videolan.org/pub/videolan/debian woody main (Az első sor az MPlayer-nek, a második a Xine CSS pluginoknak, és a harmadik, pedig a VideoLAN-nak.) Ezek után futtasd a következő parancsokat: # apt-get update # apt-get install mplayer-686 mplayer-fonts mplayer-doc ogle # /usr/share/doc/ogle/examples/install-css.sh # apt-get install xine-ui xine-d5d-plugin xine-d4d-plugin gnome-vlc libdvdcss2 _________________________________________________________________ 3.3. Slackware A [49]http://www.linuxpackages.net/ a legjobb oldal a Slackware add-on csomagokhoz. Használható a kereső Ogle, Xine, MPlayer, libdvdcss, libdvdnav, libdvdread, lame, és a a52dec csomagok kereséséhez és letöltéséhez. Rakd a csomagot egy üres könyvtárba, és futtasd a pkgtool-t, a telepítéshez. Ha a VideoLAN-t akarod használni, akkor a forrást kell fordítanod, mivel még a LinuxPackages oldalon nincs előrefordított változat. A hiba elkerülése végett azzal is meg kell birkóznod, hogy a Slackware 9.1-be épített mpeg2dec túl régi ahhoz, hogy használni lehessen a VideoLAN-nal, ezért nem árt fordítani ebből is egy újabb verziót. Ha még mindig telepíteni akarod a VideoLAN-t, akkor töltsd le a legújabb forrást az [50]mpeg2dec és [51]VideoLAN csomagoknak és futtasd a következő parancsokat. Figyelj arra, hogy ki kell kapcsolnod az ffmpeg támogatást a VideoLAN fordításnál, mert a Slackware MPlayer csomagjaiból kimaradt pár header fájl, melyek szükségesek az ffmpeg-hez. # tar xzvf mpeg2dec-0.4.0.tar.gz # cd mpeg2dec-0.4.0 # ./configure # make # make install # cd .. # tar xzvf vlc-0.7.0.tar.gz # cd vlc-0.7.0 # ./configure --disable-ffmpeg # make # make install _________________________________________________________________ 3.4. Mandrake A Mandrake felhaszánlók a [52]Penguin Liberation Front internetes oldalról tudják letölteni, az összes videólejátszó csomagot. A leggyorsabb út, ha meglátogatod az [53]Easy Urpmi oldalt és követed az utasításokat, ezáltal összegyűjtheted azoknak a parancsoknak a listáját, melyek a PLF hozzáféréshez kellenek az urpmi-n. Ezek után az internetes oldal által adott parancsokat kell begépelned a saját gépeden a PLF hozzáférés beállításához. Miután már van PLF hozzáférésed, írd be a következőket: # urpmi.update -a # urpmi mplayer libdvdcss2 xine-ui ogle ogle_gui vlc az összes videóprogram telepítéséhez. _________________________________________________________________ 3.5. SuSE A SuSE-ba épített YaST csomag, csak hivatalos csomagokkal működik, és nincs olyan hivatalos csomag, amely támogatja a DVD-t. Ezért kézzel kell majd telepíteni mindegyik DVD szoftver csomagját. Az MPlayer és a Xine csomagok SuSE-ra a [54]PackMan oldalon érhetők el. Az MPlayer-hez szükséged van az MPlayer lzo és xvid csomagára, melyeket szintén ezen az oldalon találsz, "additionally needed binary packages" címszó alatt, melyet minden csomaghoz felsorolnak. Ezen HOGYAN írása alatt a SuSE 9.0 felhasználóknak szánt MPlayer csomag egy hibás libsmbclient.so.0 függést tartalmazott. Ezt ki tudod kerülni a következő parancsokkal: # rpm -Uvh --nodeps MPlayer-1.0pre3-pm.1.i686.rpm # ln -s libsmbclient3.so.0 /usr/lib/libsmbclient.so.0 Az Xine telepítéséhez, le kell tölteni, majd telepíteni a libxine1-dvd és a xine-ui csomagokat a [55]PackMan oldalról. Ha kódolt DVD támogatást is szeretnél az Xine-ben, akkor le kell tölteni még a [56]libdvdcss-et a VideoLAN oldalról. Ogle-t a [57]Red Hat RPMs-t használva tudod telepíteni, melyet az Ogle oldalon érsz el. Azok a SuSE 9.0 felhasználók, akik telepíteni szeretnék az Ogle_gui-t, azoknak még fel kell telepíteniük a [58]orbit-ot, [59]gdk-pixbuf-ot, [60]gnome-libs-et, és a [61]libglade-t a SuSE 8.2-ből. Akik VideoLAN-t akarnak használni, azoknak le kell tölteni a [62]Red Hat RPMs-et a VideoLAN oldalról és telepíteni ezeket az rpm --nodeps parancsot használva. Az [63]XFree86-compat-libs és a [64]freetype a SuSE 8.2-ből is szükséges a hibátlan futáshoz. _________________________________________________________________ 3.6. Gentoo A legfontosabb parancs a használathoz: # emerge sync # USE="dvd mmx sse" emerge mplayer xine-ui vlc ogle-gui Ha AMD processzorod van, akkor USE="dvd mmx 3dnow" kell írnod a sse kapcsoló használata helyett. Az Athlon XP tulajdonosoknak együtt kell használniuk a 3dnow és az sse kapcsolókat. _________________________________________________________________ 4. Szoftver leírás Annak ellenére, hogy nagy hangsúlyt fektettem gyakorlati tanácsok összegyűjtésére, egy minimális televíziós háttér szükséges annak megértéséhez, miként érhető el a legjobb minőségű videólejátszás Linuxon. _________________________________________________________________ 4.1. Általános alapelvek: váltott soros megjelenítés kiküszöbölése, telecine, és framerates A szokványos televíziónál a váltott soros megjelenítés azt jelenti, hogy először a páratlan sorszámú sorok kerülnek megjelenítésre, majd ezután következnek a párosak, majd újra a páratlanok, majd a párosak újra és így tovább. Mindegyik sor egyenként 30-szor másodpercenként (vagy 25-ször, attól függően, hogy hol élsz; pontosabban a készülék milyen szabványt használ, PAL/NTSC - a lektor). A váltott sorosság miatt a teljes tv kép 60-szor jelenik meg másodpercenként (vagy 50-szer), úgy, hogy az összes sornak a fele frissítődik csak minden alkalommal. Többnyire nincs lehetőség a váltott sorú technológiát használó készülékeknél egy konkrét filmkocka tökéletes rekonstruálására, bizonyos berendezés nélkül. Ez elég fontos ahhoz, hogy megismételjem: nincs lehetőség egy konkrét filmkocka tökéletes rekonstruálására! A megoldás, egy olyan videómagnó, mely a páratlan sorszámú sorokat a párosokhoz képest egy fél képkockával időben elcsúsztatva vegye fel. Amíg állókép van, addig semmi probléma, viszont mozgóképnél ez azt okozza, hogy sorok fele elmozdul a másik felétől. A tv képernyőn ez nem látható, mivel a televízió képernyők (kivéve a csúcsminőségű HDTV monitorok) annyira rossz minőségűek, hogy ez nem érzékelhető. Azonban a számítógépes monitorokon ez az elmozdulás nagyon is érzékelhető, és fésű-szerű elváltozást okoz a videón. A [65]Luke's Video Guide-on, az [66]interlacing fejezetben, képeket találsz váltott soros rendszerekről. _________________________________________________________________ 4.1.1. A váltott soros rendszerek fixálása Váltott sor mentesítésnek hívjuk azt a folyamatot, mely eltünteti a váltott sorosság által okozott dolgokat. Sajnos az összes váltott sor mentesítő technika még némely esetben hiányos, és sajnos nincs olyan egyszerű eljárás, amely minden helyzetben tökéletesen működne. Ezért minden egyes lemeznél érdemes kísérletezni az összes lehetséges váltott sor mentesítő beállítással, hogyan működik a legjobban. Az [67]MPlayer-t használók a mplayer -pphelp parancs begépelésével a parancssorban egy listát kapnak a váltott sor mentesítő beállításokról. Válaszd ki azt az opciót, amit választani szeretnél, majd ezek után válaszd a -vf pp=