4.1. CD-ROM meghajtók

Szabványos Video CD-k lejátszása a következőképpen lehetséges:

mplayer -vcd sáv száma [-cdrom-device eszköz]

Néhány példa:
mplayer -vcd 1
mplayer -fs -vcd 2 -cdrom-device /dev/hdc

Megjegyzések:
- NE próbálj mountolni VCD-ket, és közvetlen lejátszani DAT fájlokat! Ez windows alatt működik, de Linux alatt nem.
- A VCD lemezeken általában 2 sáv van: egy adatsáv (windowsos lejátszót, karaoke adatot tartalmaz, stb) és egy mode-2 sáv (a film), így először '-vcd 2'-t írj be!
- Az alapértelmezett VCD eszköz a /dev/cdrom . Ha a tied ettől eltér, szimbolikus linket kell létrehozni, vagy megadni az eszközt a parancssorban!

A Linux dokumentációjából:

Néhány CDROM meghajtó képes szabályozni az olvasás sebességét. Jónéhány okunk lehet arra, hogy ezt kihasználjuk. Például rosszul készített CDROM-oknak előnyé válik a lassabb fejmozgás. A mai meghajtók nagyon magas fordulatszámon pörögnek, és ilyen nagy sebességnél bizony előfordulnak olvasási hibák, amik a sebesseg csökkentésével kiküszöbölhetők. Nem elhanyagolható a sebességgel arányos zajszint sem.

Ajánlott a 'setcd' nevű programot használni. Elég régi, de könnyen fellelhető a Neten. VALAMINT az újabb hdparm-oknak is van erre opciójuk ! Használata :

    setcd -x [sebesség] [meghajtó]

Másik módszer :

    echo current_speed:4 >/proc/ide/[meghajtó]/settings

de ehhez rendszergazdai jogosultság szükséges. A következő parancsot is használom :

    echo file_readahead:2000000 >/proc/ide/[meghajtó]/settings

Ez 2Mb-ot olvas előre olvasáskor (karcos CDROM-oknál hasznos). Ajánlott továbbá a 'hdparm' program használata :

    hdparm -d1 -a8 -u1 (meghajtó)

Ez bekapcsolja a DMA hozzáférést, előreolvasást, IRQ unmaskingot. (ha ezeket nem érted, *olvasd el a hdparm man-ját*)

Kísérletezz a /proc/ide/[meghajtó]/settings file-lal további tuning céljából.

4.2. DVD lejátszás

Az MPlayer a libdvdread és libdvdcss néven ismert könyvtárakat használja a DVD dekódolásához és lejátszásához. Ez a két program a libmpdvdkit/ alkönyvtárban található, így külön installálásuk szükségtelen és felesleges. Azért használjuk ezt a módszert mert így lehetőségünk nyílt kijavítani egy libdvdread bugot, és megpatchelni a libdvdcss-t olyan módon hogy a feltört CSS kulcsokat mentse el a $HOME/.mplayer/DVDKeys könyvtárba, így a következő lejátszásnál nem lesz szükség ezek újabb feltörésére.

A libdvdnav támogatásának készítése folyamatban van, jelenleg nem használható.

  • Régi tipusú DVD támogatás - OPCIONÁLIS

    Ez akkor hasznos ha pl merevlemezről akarsz kódolt VOB-ot lejátszani. Fordítsd le és installáld a libcss 0.0.1-et (és ne újabbat). Ha az MPlayer nem találja, használd a -csslib /útvonal/libcss.so opciót.

  • Fordítsd le az MPlayer-t.

    Futtasd a ./configure-t. Ha nem törölted le a libmpdvdkit könyvtárat, a ./configure valami ilyesmit fog kiírni :

    Checking for DVD support (libmpdvdkit) ... yes

    Az MPlayer képes már installált libdvdread és libdvdcss használatára, de ezen módszer használata NEM AJÁNLOTT mivel használata különféle hibákhoz, inkompatibilitásokhoz, és lassabb sebességhez vezet.

    Ezután a szokott módon make és make install.

    Természetesen miután felinstalláltad a libdvdcss-t és a libdvdread-et, nem kell újrafordítanod őket minden alkalommal mikor az MPlayer-t.

    MPlayer használata DVD lejátszáshoz:

    -dvd <cím_id>  DVD támogatás bekapcsolása, és cím kiválasztása.
    -chapter <fejezet_id>  DVD fejezet(ek) kiválasztása (alap: első fejezettől kezdve). Például : -chapter 5-7, vagy -chapter -9
    -dvdangle <szög_id>  Kamera szög kiválasztása (alap: 1)
    -alang <ország kód>  A megadott országkód mondja meg az MPlayer-nek hogy milyen nyelvű audiosávokat játsszon le. A lehetséges nyelvek listája a -v opció hozzáadásával kérhető le, és olvasd el a kimenetet. Íme egy példa:
      -alang hu,en - először magyar hangot próbál lejátszani, de ha nem talál akkor angolt.
    -slang <ország kód>  DVD feliratok megjelenítésének bekapcsolása. A megadott országkód mondja meg az MPlayer-nek hogy milyen felirato(ka)t keressen. A lehetséges nyelvek listája a -v opció hozzáadásával kérhető le, és olvasd el a kimenetet. Íme egy példa:
      -slang hu,en - először magyar feliratokat próbál megjeleníteni, és ha nem talál akkor angolt.
    -sid <felirat_id>  A megadott id-vel rendelkező feliratot (nyelvet) jeleníti meg. Hasznos például hibás DVD-nél ahol az országkód nem a megfelelő feliratot jelenti.
    -csslib <útvonal/filenév> (régi DVD lejátszó kóddal) Ezzel az opcióval definiálható felül a libcss.so helye (alapértelmezésben keres).
    -dvdauth <DVD egység> (régi DVD lejátszó kóddal) A megadott DVD egységgel történő autentikálás megadása.
    -dvdkey <CSS kulcs> (régi DVD lejátszó kóddal) Mikor nem DVD-ről történik a kódolt MPEG2 lejátszása, ezzel az opcióval adható meg a dekódoláshoz szükséges CSS kulcs. Ezt a kulcsot a DVD-vel történő autentikálásnál írja ki az MPlayer.

    Az egység alapbeállítás szerint /dev/dvd, ezt a config.h-ban változtathatod meg (fordításkor), van megadhatod a -dvd-device opcióval :

        mplayer -dvd 1 -dvd-device /dev/dvd

        mplayer -dvd 1 -slang hu -dvd-device /dev/dvd

        mplayer -dvd 2 -alang hu -chapter 5 -dvdangle 2

        mplayer -dvd 2 -alang hu -chapter 5-9 -dvdangle 2

        mplayer -dvdauth /dev/dvd /mnt/cd/video_ts/vts_03_1.vob

        mplayer -dvdkey C005D4A16D vts_03_1.vob

    4.3. DVD FAQ

    Q: DVD lejátszás előtt/helyett/közben ezt a hibaüzenetet kapom :
    mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.
    A: Ismert libdvdread 0.9.1 bug, a 0.9.2-ben és a libmpdvdkit-ben már javítva van, miért nem ezutóbbi használod?
     
    Q: Lefordíthatom a libdvdread-et és a libdvdcss-t például az én szép kis Sparc/Solarisomon?
    A: Ki tudja ... Próbáld ki és mondd el nekünk is. De elvileg működik. Olvasd el a libdvdread dokumentációját és honlapját. Nem mi vagyunk a készítői...
     
    Q: És a feliratok? Az MPlayer meg tudja jeleníteni őket?
    A: Igen, lásd fent, a DVD fejezetet.
     
      Q: Hogy állíthatom be a DVD régiókódját ? Nincs windowsom!
    A: Használd a 'regionset' parancsot : http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz
     
    Q: Muszáj rendszergazdai jogosultságokkal rendelkeznem hogy le tudjak játszani egy DVD-t?
    A: Csak a régi fajta DVD támogatáshoz. Ezenkívül persze kellenek megfelelő jogosultságok a DVD egységhez (pl /dev/dvd).
     
    Q: Hol lehet letölteni a libdvdread-et és a libdvdcss-t?
    A: Innen: http://www.dtek.chalmers.se/groups/dvd
     
    Q: Lehetséges csak bizonyos fejezeteket lejátszani/enkódolni ?
    A: Igen, lásd fent a -chapter opciót.
     
    Q: Nagyon lassú a DVD lejátszás !
    A: Próbáld a -cache opciót (lásd manpage!). Ha így se jó, próbáld meg bekapcsolni a DMA-t a DVD meghajtón.