mirror of
https://github.com/mpv-player/mpv
synced 2024-12-11 09:25:56 +00:00
4ccd261c81
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9188 b3059339-0415-0410-9bf9-f77b7e298cf2
280 lines
12 KiB
HTML
280 lines
12 KiB
HTML
<!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).
|
|
Ha túl magasra állítod, a folytonosan fel-, és lepörgő meghajtó drámai
|
|
teljesítménycsökkenést fog okozni.
|
|
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>Az SCSI meghajtóknak nincs ilyen egységes felülete ezen paraméterek
|
|
állításához. <A HREF="http://das.ist.org/~georg/">Plextor SCSI
|
|
meghajtókhoz</A> viszont rendelkezésre áll egy program.</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. Egy szabványos DVD lemez lejátszása a következőképpen történik:</P>
|
|
|
|
<P><CODE>mplayer -dvd <sáv> [-dvd-device <egység>]</CODE></P>
|
|
|
|
<P>Például: <CODE>mplayer -dvd 1 -dvd-device /dev/hdc</CODE></P>
|
|
|
|
<P>Az alapértelmezett DVD egység a <CODE>/dev/dvd</CODE>. Ha a rendszered ettől
|
|
különbözik, egy megfelelő symlink-kel, vagy a <CODE>-dvd-device</CODE>
|
|
opció használatával megoldhatod a problémát.</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://www.firmware-flash.com">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>
|
|
|
|
<P><B>Megjegyzés:</B> legalábbis a Plextor és Toshiba SCSI CD-ROM meghajtókról
|
|
ismert hogy nagyon lassan játszanak le VCD-ket. Ennek oka, hogy a
|
|
CDROMREADRAW ioctl nincs teljesen implementálva ezeken a meghajtókon. Ha
|
|
értesz az SCSI programozásához, <A HREF="tech/patches.txt">segíts</A>
|
|
a VCD-k SCSI-n történő támogatásában.</P>
|
|
|
|
<P>Addigis VCD-ről az adatot a
|
|
<A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A>
|
|
programmal lehet leszedni, az így keletkező file-t pedig az MPlayer is
|
|
lejátsza.</P>
|
|
|
|
<H4>A VCD-k struktúrája</H4>
|
|
|
|
<UL>
|
|
<LI>Az első sáv egy 2048 byte/sector méretú szabvány sáv iso9660
|
|
filerendszerrel, általában Windows-os VCD lejátszó programot tartalmaz,
|
|
néha egyéb információ (képek, szöveg, stb).</LI>
|
|
<LI>A második, és utána következő sávok nyers 2324 byte/sector méretű
|
|
MPEG (film) sávog, mindegyik egy-egy MPEG-PS adat/sector-t tartalmaz
|
|
filerendszer helyett. Hasonlóan az audio CD sávokhoz, ezeket a sávokat
|
|
<B>sem lehet mountolni</B> (Mountoltál már valaha audio CD-t hogy
|
|
lejátszd?). Mivel a legtöbb film ebben a sávban van, a <CODE>-vcd 2</CODE>
|
|
opciót kell használnod.</LI>
|
|
<LI>Léteznek VCD lemezek amelyeken nincs rajta az első sáv (tehát csak
|
|
egyetlen sávot tartalmaznak, filerendszer nélkül). Ezek is lejátszhatóak,
|
|
de nem mountolhatóak.</LI>
|
|
</UL>
|
|
|
|
<H4>A .DAT file-okról:</H4>
|
|
|
|
<P>A ~600Mb-os fileok amik a mountolt Video CD-k első sávján találhatóak
|
|
nem igazi file-ok! Ez az úgynevezett ISO gateway, amiknek a célja hogy
|
|
Windows-os applikációk is hozzá tudjanak férni az MPEG sávokhoz (mivel
|
|
a Windows egyáltalán nem engedi a nyers hozzáférést applikációk számára).
|
|
Linux alatt ezek a file-ok nem megtekinhetők, sem pedig lejátszhatók.
|
|
Windows alatt azért lehetséges mert az iso9660 meghajtója emulálja a nyers
|
|
olvasást ezekre a fileokra. A .DAT file-ok lejátszására kernel patch-re
|
|
van szükséged, melyet a PowerDVD Linux-os verziója tartalmaz. Ez egy
|
|
módosított iso9660 filerendszer meghajtót tartalmaz
|
|
(<CODE>vcdfs/isofs-2.4.X.o</CODE>), mely szintén képes ilyen emulációra.
|
|
Ha ezzel a meghajtóval mountolod a lemezt, képes leszel az ilyen file-ok
|
|
másolására, lejátszására. De a standard kernel meghajtójával <B>nem</B>.
|
|
Egyébkéntis használd a <CODE>-vcd</CODE> opciót inkább. A VCD-k másolására
|
|
egyéb alternatíva az új
|
|
<A HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A> kernel meghajtó
|
|
(nem része a hivatalos kernelnek), amely a CD <I>session-okat</I> image
|
|
file-ként mutatja, valamint a
|
|
<A HREF="http://cdrdao.sourceforge.net/">cdrdao</A>, egy bitről-bitre
|
|
grabbelő CD másoló alkalmazás.</P>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|