Mercurial > mplayer.hg
view DOCS/Hungarian/cd-dvd.html @ 8378:8a03d2b1c8eb
better 'Audio track' support, and one 10l
author | pontscho |
---|---|
date | Thu, 05 Dec 2002 23:40:05 +0000 |
parents | ccd95b547f6d |
children | 32c0e766ab94 |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <LINK REL="stylesheet" TYPE="text/css" HREF="../default.css"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> </HEAD> <BODY> <P><B><A NAME=drives>4.1. CD-ROM meghajtók</A></B></P> <P>A Linux dokumentációjából:</P> <P>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> <UL> <LI>Magas sebességen előfordulhatnak olvasási hibák, főleg hibásan készített CD lemezek esetén.</LI> <LI>Nem elhanyagolható a sebességgel arányos zajszint sem.</LI> </UL> <P>Ajánlott a 'hdparm' vagy a 'setcd' nevű programot használni.</P> <P> <CODE>hdparm -E [sebesség] [meghajtó]</CODE></P> <P> <CODE>setcd -x [sebesség] [meghajtó]</CODE></P> <P>Másik módszer :</P> <P> <CODE>echo current_speed:4 >/proc/ide/[meghajtó]/settings</CODE></P> <P>de ehhez rendszergazdai jogosultság szükséges. A következő parancs is hasznos lehet:</P> <P> <CODE>echo file_readahead:2000000 >/proc/ide/[meghajtó]/settings</CODE></P> <P>Ez 2Mb-ot olvas előre olvasáskor (karcos CDROM-oknál hasznos). Ajánlott továbbá a 'hdparm' program használata:</P> <P> <CODE>hdparm -d1 -a8 -u1 (meghajtó)</CODE></P> <P>Ez bekapcsolja a DMA hozzáférést, előreolvasást, IRQ unmaskingot. (ha ezeket nem érted, *olvasd el a hdparm man-ját*)</P> <P>Kísérletezz a <CODE>/proc/ide/[meghajtó]/settings</CODE> file-lal további tuning céljából.</P> <P>FreeBSD:</P> <P> Speed: <CODE>cdcontrol [-f meghajtó] speed [sebesség]</CODE></P> <P> DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P> <P><B><A NAME=dvd>4.2. DVD lejátszás</A></B></P> <P>A rendelkezésre álló opciók teljes listája a man page-ben tekinthető meg.</P> <H4>Új DVD támogatás (mpdvdkit2)</H4> <P>Az <B>MPlayer</B> a <CODE>libdvdread</CODE> és <CODE>libdvdcss</CODE> 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 <CODE>libmpdvdkit2/</CODE> 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 <CODE>libdvdread</CODE> bugot, és megpatchelni a <CODE>libdvdcss-t</CODE> olyan módon hogy a feltört CSS kulcsokat mentse el a <CODE>$HOME/.mplayer/DVDKeys</CODE> könyvtárba, így a következő lejátszásnál nem lesz szükség ezek újabb feltörésére.</P> <P>Az <B>MPlayer</B> képes a rendszerben már jelenlevő libdvdread és libdvdcss könyvtárakat is használni, de ez a megoldás <B>nem</B> ajánlott, hibákat eredményezhet, könyvtár-inkompatibilitást, és alacsonyabb sebességet.</P> <H4>DVD navigáció (dvdnav)</H4> <P>A <CODE>libdvdnav</CODE> támogatásának készítése folyamatban volt, de soha nem készült el. Jelenleg nem használható.</P> <P><B>Régi tipusú DVD támogatás - <I>OPCIONÁLIS</I></B></P> <P>Ez akkor hasznos ha pl <B>merevlemezről</B> akarsz kódolt VOB-ot lejátszani. Fordítsd le és installáld a <B>libcss</B> 0.0.1-et (és ne újabbat). Ha az <B>MPlayer</B> nem találja, használd a <CODE>-csslib /útvonal/libcss.so</CODE> opciót. Root jogokkal, vagy egy suid root binárissal kell rendelkezned a használatához.</P> <H4>A DVD-k struktúrája</H4> <P>A DVD lemezek 2048 b/s szektorokat használnak ecc/crc-vel. Általában egy UDF filerendszert tartalmaznak egyetlen sávon, ami több file-t tartalmaz (kis .IFO és .BUK, és nagy (1GB) .VOB). Ezek valódi file-ok és másolhatóak/lejátszhatóak egy mountolt, nem titkosított DVD-ről.</P> <P>Az .IFO file-ok tartalmazzák a navigációs információkat (fejezet/sáv/szög/nyelv, stb), amelyek nélkülözhetetlenek a .VOB-ok értelmezéséhez. A .BUK file-ok ezek másolatai. Ezek a file-ok <B>szektorokban</B> számolnak, így a DVD navigáció helyes implementálásához ezt át kell számítani. Szükséges továbbá a file-ok titkosításának megszüntetése.</P> <P>Az imént felsorolt okok miatt a régi tipusú DVD támogatás egy mountolt DVD filerendszert igényel, és szektor szintű hozzáférést az egységhez. Linux alatt ehhez sajnos root jogokkal kell rendelkezni. Ennek megoldására két lehetőség van:</P> <UL> <LI>Root jogok megadása, vagy egy suid root bináris használata.</LI> <LI>Az UDF filerendszer implementálása userspace-ben. A libdvdread 0.9.x és a libmpdvdkit ezt csinálja (Új típusú DVD támogatás). A kernel UDF meghajtójára nincs szükség. A DVD-t sem kell mountolni, mivel csak a szektor alapú hozzáférés lesz érvényben.</LI> </UL> <P>Néha a /dev/dvd felhasználók számára nem hozzáférhető, így a libdvdread fejlesztők készítettek egy emulációs réteget, amely a szektorcímeket filenév+offset-re alakítja, ezáltal emulálva a "nyers" hozzáférést akár egy mountolt filerendszeren, vagy merevlemezen.</P> <P>A libdvdread még mountolási pontot is elfogad meghajtó helyett, és a <CODE>/proc/mounts</CODE> alapján szerzi meg a meghajtó nevét. Ez a módszer Solaris-ra készült, ahol ezen nevek allokálása dinamikusan történik.</P> <P>Az alapértelmezett DVD egység a <CODE>/dev/dvd</CODE>. Ha a te rendszered ettől eltér, hozz létre egy symlink-et, vagy add meg a helyes nevet a parancssorban. Erre a <CODE>-dvd-device</CODE> opció szolgál.</P> <H4>DVD authentikáció</H4> <P>Ez, és a titkosítás feltörése egy patchelt libdvdcss-sel történik (lásd fent). A módszerek között a <CODE>DVDCSS_METHOD</CODE> környezeti változó állításával lehet választani. A lehetséges értékek: <CODE>key</CODE>, <CODE>disk</CODE>, vagy <CODE>title</CODE>.</P> <P>Ha semmi nincs megadva, a következő módszerek közül választ (alapban: key, title request):</P> <OL> <LI><B>bus key:</B> ez a kulcs az authentikáció után készül el, és ezzel történik a titkosítása a kulcsoknak mielőtt a buszra kerülnének (a hallgatózást elkerülendő).</LI> <LI><B>cached key:</B> az MPlayer keres egy már feltört, megfelelő kulcsot az <CODE>~/.mplayer/DVDKeys</CODE> könyvtárban (gyors).</LI> <LI><B>key:</B> ha nincs cache-elt kulcs, az MPlayer megpróbálja a rendelkezésre álló kulcsokkal feltörni a lemezt.</LI> <LI><B>disk:</B> ha a key módszer nem jár sikerrel, az MPlayer megpróbálhatja egy brute force algoritmussal feltörni a lemezt. Ez a folyamat erősen igényli a CPU-t, és 64Mb memóriát is átmeneti adattárolásra. Ez a metódus mindig működik (lassú).</LI> <LI><B>title request:</B> a lemez kulccsal az MPlayer feltöri a title kulcsot, amik <I>rejtett szektorokban</I> tárolódnak. Az RPC-2 meghajtók régióellenőrzése is ilyenkor történik, ezért az ilyen meghajtókon hibát jelezhet. Ha sikerült, a title kulcs feltörése következik a bus és disk kulcsokkal.</LI> <LI><B>title:</B> ez a módszer lesz kipróbálva, ha a title request sikertelen volt. Itt nincs szükség kulccserére a DVD meghajtóval. Ismétlődő minták alapján megpróbálja kitalálni a title kulcsot. Ritka esetekben sikertelen lehet, például ha nincs elég titkosított adat, vagy a title közepén megváltozik a kulcs. Mindenesetre ez az egyetlen módszer egy merevlemezen tárolt DVD feltörésére, vagy egy helytelen régióval rendelkező RPC2 meghajtón (lassú).</LI> </OL> <P>Az RPC-1-es DVD meghajtók a régióbeállításokat csak a szoftveres DVD lejátszókkal tudják korlátozni, az RPC-2 meghajtók hardveresen vannak limitálva 5 változtatásra. Ajánlott lehet a firmware-t RPC-1-re upgradelni, ha RPC-2-es meghajtód van. Ezek az upgrade-k <A HREF="http://perso.club-internet.fr/farzeno/firmware/">itt</A> találhatóak. Ha nincs firmware upgrade a meghajtódhoz, használd a <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">regionset</A> parancsot hogy Linux alatt is át tudd állítani a meghajtód régiókódját. <B>Vigyázz:</B> csak 5 lehetőséged van rá.</P> <P><B><A NAME="vcd">4.3. VCD lejátszás</A></B></P> <P>A rendelkezésre álló opciók teljes listája a man page-ben tekinthető meg.</P> <H4>VCD struktúra</H4> <P>A VCD lemezek 2 vagy több sávból állnak:</P> <UL> <LI>Az első sáv egy pár MB-os 2048 byte/szektor méretű adatsáv, egy iso9660 filerendszerrel. Ez általában win32-es VCD lejátszót, vagy más információkat tartalmaz (jpeg, szöveg, stb).</LI> <LI> <LI>A második (és a többi) sáv nyers 2324 byte/szektor méretű MPEG sáv, amely nem filerendszert hanem nyers MPEG-PS adatot tartalmaz, egy csomagot szektoronként. Ezeket a sávokat <B>nem lehet mountolni</B>!</LI> <LI>Léteznek VCD lemezek amelyeken nincs is első sáv (abszolut filerendszer nélkül). Ezek is lejátszhatóak, de nem mountolhatóak.</LI> </UL> <P>A .DAT file-okról:</P> <P>Azok a ~600Mb-os file-ok amik a mountolt VCD-k elso sávján vannak, nem igazi file-ok! Ez egy úgynevezett ISO átjáró, amivel a Windows programok hozzáférhetnek az ilyen file-okhoz (mivel vinnyózon a programok nem tudnak hozzáférni közvetlenül az eszközhöz). Linux alatt nem tudod másolni vagy lejátszani az ilyen file-okat, mert szemetet tartalmaznak. Windows alatt azért lehetséges, mert az iso9660 meghajtója ezeken a file-okon keresztül emulálja a közvetlen lemezhozzáférést.</P> <P>Az alapértelmezett VCD egység a <CODE>/dev/cdrom</CODE>. Ha a beállításod ettől eltér, készíts egy symlink-et, vagy add meg paraméterként a <CODE>-cdrom-device</CODE> opcióval.</P> </BODY> </HTML>