comparison DOCS/de/cd-dvd.html @ 9332:a604236b0dd6

Rename documentation directories to two-letter language codes.
author diego
date Sat, 08 Feb 2003 00:00:00 +0000
parents DOCS/German/cd-dvd.html@92dbac2e0b79
children 883f38591d47
comparison
equal deleted inserted replaced
9331:bbe91bd6e1c8 9332:a604236b0dd6
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML>
3
4 <HEAD>
5 <TITLE>CD, DVD, VCD - MPlayer - The Movie Player for Linux</TITLE>
6 <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
8 </HEAD>
9
10 <BODY>
11
12
13 <H2><A NAME="drives">4.1 CD-ROM- und DVD-ROM-Laufwerke</A></H2>
14
15 <P>Auszug aus der Linux-Dokumentation:</P>
16
17 <P>Moderne CDROM-Laufwerke k&ouml;nnen sehr hohe Abtastgeschwindigkeiten
18 erreichen. Einige k&ouml;nnen jedoch auch ihre Geschwindigkeit reduzieren.
19 Es gibt mehrere Gr&uuml;nde, dies zu tun:</P>
20
21 <UL>
22 <LI>Es gibt Berichte, dass diese Laufwerke bei hohen Geschwindkeiten
23 Lesefehler erzeugen, vor allem bei schlecht gepressten CD-ROMs. Das
24 Herabsetzen der Geschwindigkeit kann in diesen F&auml;llen die
25 Datenverluste verringern.</LI>
26 <LI>Viele CD-ROM Laufwerke erzeugen st&ouml;rend laute Ger&auml;usche, die
27 eine niedrigere Geschwindigkeit ebenfalls reduzieren kann.</LI>
28 </UL>
29
30 <P>Die Lesegeschwindigkeit eines IDE-CD-Laufwerkes kann mit <CODE>hdparm</CODE>
31 oder einem Programm namens <CODE>setcd</CODE> verringert werden. Das geht
32 so:</P>
33
34 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E &lt;Geschwindigkeit&gt;
35 &lt;CD-ROM-Device&gt;</CODE></P>
36
37 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x &lt;Geschwindigkeit&gt;
38 &lt;CD-ROM-Device&gt;</CODE></P>
39
40 <P>Du kannst auch folgendes probieren:</P>
41
42 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 &gt;
43 /proc/ide/[CDROM-Device]/settings</CODE></P>
44
45 <P>Aber daf&uuml;r brauchst du Root-Privilegien. Der folgende Befehl
46 k&ouml;nnte ebenfalls helfen:</P>
47
48 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 &gt;
49 /proc/ide/[CDROM-Device]/settings</CODE></P>
50
51 <P>Dies setzt einen 2MB Lesepuffer für die Daten, was sich bei zerkratzten CDs
52 als n&uuml;tzlich erweist. Wenn du die Gr&ouml;&szlig;e zu hoch w&auml;hlst,
53 dann wird das Laufwerk st&auml;ndig beschleunigen und abbremsen und dadurch die
54 Geschwindigkeit dramatisch verringern. Es ist auch empfehlenswert, das CD-ROM
55 Laufwerk via hdparm auf performantere Werte einzustellen:</P>
56
57 <P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -d1 -a8 -u1 &lt;CDROM-Device&gt;
58 </CODE></P>
59
60 <P>Dies aktiviert den DMA-Zugriff, Vorauslesen und IRQ-Unmasking
61 (genauere Details dazu findest du in der <CODE>hdparm</CODE>-Manpage)</P>
62
63 <P>Bitte schau dir "<CODE>/proc/ide/[CDROM-Device]/settings</CODE>" an, um
64 das CD-ROM feineinzustellen.</P>
65
66 <P>SCSI-Laufwerke kennen keine einheitliche Schnittstelle zum Setzen dieser
67 Werte (oder kennst du eine? Dann sag sie uns!) Es gibt ein Tool, das mit <A
68 HREF="http://das.ist.org/~georg/">Plextor-SCSI-Laufwerken</A> funktioniert.</P>
69
70 <P>FreeBSD:</P>
71
72 <P>&nbsp;&nbsp;&nbsp;&nbsp;Speed: <CODE>cdcontrol [-f device] speed [speed]
73 </CODE></P>
74 <P>&nbsp;&nbsp;&nbsp;&nbsp;DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>
75
76
77 <H2><A NAME="dvd">4.2 DVD-Wiedergabe</A></H2>
78
79 <P>Bitte schau in der man-Page nach, wenn du eine Auflistung aller
80 verf&uuml;gbaren Optionen willst. Die Syntax bei einer normalen Digital
81 Versatile Disc (DVD) sieht wie folgt aus:</P>
82
83 <P><CODE>mplayer -dvd &lt;track&gt; [-dvd-device &lt;Ger&auml;t&gt;]</CODE></P>
84
85 <P>Beispiel: <CODE>mplayer -dvd 1 -dvd-device /dev/hdc</CODE></P>
86
87 <P>Das Standard-DVD-Ger&auml;t ist <CODE>/dev/dvd</CODE>. Wenn das bei dir
88 anders ist, so erstelle einen symbolischen Link auf das richtige Ger&auml;t,
89 oder gib es auf der Kommandozeile mit der Option <CODE>-dvd-device</CODE> an.
90 </P>
91
92 <P>MPlayer benutzt <CODE>libdvdread</CODE> und <CODE>libdvdcss</CODE>
93 f&uuml;r die DVD Entschl&uuml;sselung und Wiedergabe. Diese beiden Bibliotheken
94 sind im <CODE>libmpdvdkit2/</CODE>-Unterverzeichnis enthalten und m&uuml;ssen
95 nicht separat installiert werden. Wir haben uns dazu entschlossen, da wir einen
96 Fehler in der <CODE>libdvdread</CODE> beheben mussten und einen Patch
97 hinzuf&uuml;gt haben, welcher <B>Caching-Support f&uuml;r gecrackte
98 CSS-Keys</B> f&uuml;r <CODE>libdvdcss</CODE> erm&ouml;glicht. Dies f&uuml;hrt
99 zu einer Geschwindigkeitssteigerung, da MPlayer nicht vor jeder
100 Wiedergabe die Verschl&uuml;sselung erneut knacken muss.</P>
101
102 <P>MPlayer kann jedoch auch die systemweiten <CODE>libdvdread</CODE>-
103 und <CODE>libdvdcss</CODE>-Bibliotheken verwenden. Diese L&ouml;sung wird
104 jedoch aus oben den oben genannten Gr&uuml;nden <B>nicht</B> empfohlen.
105 Aus&szlig;erdem kann es zu Fehlern, Inkompatibilit&auml;ten zwischen den
106 Bibliotheken und niedriger Geschwindigkeit f&uuml;hren.</P>
107
108 <H4>Unterst&uuml;tzung f&uuml;r DVD-Navigation</H4>
109
110 <P>An einer Unterst&uuml;tzung f&uuml;r DVD-Navigation via <CODE>dvdnav</CODE>
111 wird gearbeitet. Sie ist jedoch noch nicht vollendet und wird momentan nicht
112 gewartet. Wer wei&szlig; - vielleicht l&auml;sst sie sich sogar
113 compilieren.</P>
114
115 <H4>Alte DVD-Unterst&uuml;tzung - OPTIONAL</H4>
116
117 <P>Nützlich, wenn du verschl&uuml;sselte VOBs von der Festplatte abspielen
118 willst. Kompiliere und installiere <B>libcss</B> 0.0.1 (nicht neuer). Wenn
119 MPlayer sie nicht findet, dann benutze die Option <CODE>-csslib
120 /pfad/zu/libcss.so</CODE>. Um diese Bibliothek zu benutzen musst du root-Rechte
121 haben, das SUID-Bit f&uuml;r die MPlayer-Programmdatei setzen oder den
122 fibmap_mplayer-Wrapper benutzen, der das SUID-Bit gesetzt hat.</P>
123
124 <H4>DVD-Strukturen</H4>
125
126 <P>DVDs benutzen alle 2048 Bytes/Sektor mit ECC/CRC. Meistens beinhalten sie
127 ein UDF-Dateisystem in einem einzigen Track. Dieses Dateisystem enth&auml;lt
128 mehrere Dateien (kleine .IFO- und .BUK-Dateien sowie die gro&szlig;en (1GB)
129 .VOB-Dateien). Sie sind echte Dateien und k&auml;nnen von einem in's
130 Dateisystem eingeh&auml;ngten Dateisystem einer nicht verschl&auml;usselten
131 DVD abgespielt oder kopiert werden.</P>
132
133 <P>Die .IFO-Dateien enthalten Filmnavigationsinformationen (z.B. Kapitel,
134 Titel, verschiedene Kameraeinstellungen sofern vorhanden, Tabelle mit den
135 Sprachen etc.) und werden ben&auml;tigt, um den Inhalt der .VOB-Dateien (den
136 eigentlichen Film) lesen und interpretieren zu k&ouml;nnen. Die .BUK-Dateien
137 sind Backups der .IFO-Dateien. Sie benutzen ausschlie&szlig;lich
138 <B>Sektornummern</B> zur Adressierung, sodass man zur DVD-Navigation das
139 direkte Ansprechen einzelner Sektoren der DVD implementieren muss. .IFOs werden
140 ebenfalls ben&auml;tigt, um den Inhalt entschl&auml;sseln zu k&auml;nnen.</P>
141
142 <P>Aus diesem Grund braucht die alte DVD-Unterst&uuml;tzung ein in den
143 Dateibaum eingeh&auml;ngtes DVD-Dateisystem sowie zus&auml;tzlich Zugriff auf
144 das Device, um einzelne Sektoren der DVD lesen zu k&ouml;nnen. Leider musst du
145 (unter Linux) root-Rechte besitzen, um die Sektorenadresse einer Datei zu
146 erhalten. Du hast nun die folgenden M&ouml;glichkeiten:</P>
147
148 <UL>
149 <LI>Sei root oder gib der mplayer-Programmdatei das SUID-Bit.</LI>
150 <LI>Lass MPlayer das Wrapper-Programm fibmap_mplayer ausf&uuml;hren,
151 welches das SUID-Bit gesetzt hat, um Zugriff auf die DVD zu bekommen
152 (wird bei der alten DVD-Unterst&uuml;tzung mit der <CODE>libcss</CODE> so
153 sgemacht).</LI>
154 <LI>Lass die Dateisystemtreiber des Kernels links liegen und programmiere
155 den Support daf&uuml;r erneut im User-Space. <CODE>libdvdread</CODE>
156 0.9.x und <CODE>libmpdvdkit2</CODE> machen das genau so (neue
157 DVD-Unterst&uuml;tzung). Der
158 UDF-Treiber des Kernels wird nicht ben&ouml;tigt, da diese Bibliotheken
159 ihren eigenen UDF-Dateisystemtreiber mitbringen. Die DVD muss nicht einmal
160 in den Dateibaum eingeh&auml;ngt sein, da direkt auf die Sektoren der
161 DVD zugegriffen wird.</LI>
162 </UL>
163
164 <P>Manchmal hat ein Benutzer keinen Zugriff auf das Device (z.B.
165 <CODE>/dev/dvd</CODE>). Deswegen haben die Autoren der <CODE>libdvdread</CODE>
166 einen Emulationsmodus spendiert, der eine Umsetzung zwischen Sektornummern und
167 Dateinamen/Offsets vornimmt. Damit wird Sektorzugriff auch bei in das
168 Dateisystem eingeh&auml;ngten DVDs und sogar bei auf die Festplatte kopierten
169 Dateien erm&ouml;glicht.</P>
170
171 <P><CODE>libdvdread</CODE> akzeptiert sogar Mountpoints anstelle von
172 Devicenamen. Dabei schaut sie in <CODE>/proc/mounts</CODE> nach, um den
173 tats&auml;chlichen Devicenamen f&uuml;r den Sektorzugriff herauszufinden.
174 Entwickelt wurde diees Verfahren f&uuml;r Solaris, da Solaris Devicenamen
175 dynamisch vergibt.</P>
176
177 <P>Der Standardname f&uuml;r das DVD-Device ist <CODE>/dev/dvd</CODE>. Sollte
178 das bei dir anders sein, so erstelle einen symbolischen Link auf das richtige
179 Device, oder gib es beim Starten mit der Option <CODE>-dvd-device</CODE>
180 separat an.
181
182 <H4>DVD-Authentifizierung</H4>
183
184 <P>Die Authentifizierung und Entschl&uuml;sselung der neuen
185 DVD-Unterst&uuml;tzung wird durch eine gepatchte <CODE>libdvdcss</CODE>
186 erm&ouml;glicht (siehe oben). Die Zugriffsmethoden k&ouml;nnen &uuml;ber die
187 Umgebungsvariable <CODE>DVDCSS_METHOD</CODE> gew&auml;hlt werden. G&auml;ultige
188 Werte sind <CODE>key</CODE>, <CODE>disk</CODE> und <CODE>title</CODE>.</P>
189
190 <P>Wird nichts angegeben, so versucht libdvdcss die folgenden Methoden
191 (Standardwerte: key, title-Request):</P>
192
193 <OL>
194 <LI><B>bus key:</B>Dieser Schl&uuml;ssel wird w&auml;hrend der
195 Authentifizierung (eine lange Mischung aus ioctls und verschiedenen
196 Schl&uuml;sselaustauschen, dient der Entschl&uuml;sselung) verhandelt.
197 Er wird benutzt, um die title- und disk-Schl&uuml;ssel vor dem Versand
198 &uuml;ber den ungesch&uuml;tzten Systembus zu verschl&uuml;sseln und damit
199 ein Ablauschen der Schl&uuml;ssel zu verhindern. Der bus key ist
200 erforderlich, um den verschl&uuml;sselten disk key zu erhalten und zu
201 entschl&uuml;sseln.</LI>
202 <LI><B>cached key:</B> MPlayer sucht nach bereits gecrackten
203 Schl&uuml;sseln, die im <CODE>~/.mplayer/DVDKeys</CODE>-Verzeichnis
204 gespeichert werden (das ist schnell ;).</LI>
205 <LI><B>key:</B> Falls kein cached key vorhanden ist, so versucht
206 MPlayer den disk key mit Hilfe einer Reihe von mitgelieferten
207 und eincompilierten player keys zu entschl&uuml;sseln.</LI>
208 <LI><B>disk:</B> Wenn die key-Methode fehlschl&auml;gt (z.B. wenn keine
209 Player-Schl&uuml;ssel dabei sind), so versucht MPlayer, den
210 disk key mit Hilfe eines brute-force-Algorithmusses zu knacken. Dieser
211 Prozess belastet die CPU sehr und ben&ouml;tigt mindestens 64MB Speicher
212 (16M 32Bit breite Eintr&auml;ge in einer Hashtabelle), um tempor&auml;re
213 Werte zu speichern. Diese Methode sollte immer funktionieren, ist aber
214 langsam.</LI>
215 <LI><B>title request:</B> Mit dem disk key kann MPlayer den
216 verschl&uuml;sselten title key anfordern, der auf <I>versteckten
217 Sektoren</I>, die mit <CODE>ioctl()</CODE> ausgelesen werden, auf der DVD
218 gespeichert ist. Der Gebietsschutz der RPC-2-konformen DVD-Laufwerke
219 wird in diesem Schritt realisiert. Bei manchen Laufwerken kann dieser
220 Schritt fehlschlagen. Wenn die Anforderung erfolgreich war, wird der
221 title key mit dem bus key und dem disk key entschl&uuml;sselt.</LI>
222 <LI><B>title:</B> Diese Methode wird dann benutzt, wenn die Anforderung
223 f&uuml;r den title key fehlgeschlagen ist. Sie basiert nicht auf einem
224 Datenaustausch mit dem DVD-Laufwerk sondern benutzt einen kryptographischen
225 Angriff, der den title key versucht zu erraten. (Dabei wird versucht, sich
226 wiederholende Muster im entschl&uuml;sselten Inhalt der VOBs zu finden.
227 Geraten wird dann, dass die ersten verschl&uuml;sselten Bytes des dazu
228 passenden verschl&uuml;sselten Textes
229 eine Weiterf&uuml;hrung dieser Muster sind.) Diese Methode ist auch als
230 "known plaintext attack" (Angriff bei bekanntem Klartext) oder "DeCSSPlus"
231 bekannt. In seltenen F&auml;llen kann auch diese Methode fehlschlagen,
232 wenn nicht genug verschl&uuml;sselte Daten auf der DVD vorhanden sind,
233 um einen statistischen Angriff zu starten, oder weil sich der Schl&uuml;ssel
234 mitten in einem Titel &auml;ndert. Diese Methode ist die
235 einzige M&ouml;glichkeit, den auf der Festplatte gespeicherten Inhalt einer
236 DVD zu entschl&uuml;sseln und bei RPC2-Laufwerken mit falschem Regionalcode
237 (langsam).</LI>
238 </OL>
239
240 <P>RPC-1-konforme DVD-Laufwerke sind nur &uuml;ber den Gebietsschutz
241 gesch&uuml;tzt, den der Softwareplayer bietet. RPC-2-konforme Laufwerke haben
242 dagegen einen Hardwareschutz, der es nur f&uuml;nf mal erlaubt, den Gebietscode
243 zu &auml;ndern. Es ist evtl. n&ouml;tig oder empfehlenswert, dass du Firmware
244 f&uuml;r dein Laufwerk zu finden, die nur einen RPC-1-Schutz implementiert.
245 Firmwareupgrades k&ouml;nnen auf dieser
246 <A HREF="http://perso.club-internet.fr/farzeno/firmware/">Firmwareseite</A>
247 gefunden werden. Solltest du dort keine Firmware f&uuml;r dein Laufwerk finden,
248 so kannst du mit dem
249 <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">
250 region set tool</A> den Gebietscode deines DVD-Laufwerks &auml;ndern (klappt
251 nur unter Linux). <B>Warnung:</B> Du kannst nur f&uuml;nf mal den Gebietscode
252 &auml;dnern.</P>
253
254
255 <H2><A NAME="vcd">4.3 VCD Wiedergabe</A></H2>
256
257 <P><B>Abspielen von Standard Video-CDs:</B></P>
258
259 <P><CODE>mplayer -vcd &lt;Tracknummer&gt; [-cdrom-device
260 &lt;Ger&auml;t&gt;]</CODE></P>
261
262 <P>Beispiele:<BR>
263 <CODE>mplayer -vcd 2 -cdrom-device /dev/hdc</CODE><BR></P>
264
265 <P>Das Standard-CD-Rom-Laufwerk ist <CODE>/dev/cdrom</CODE>. Falls das bei dir
266 nicht der Fall ist, erstelle einen symbolischen Link oder gib das richtige
267 Ger&auml;t mit <CODE>-cdrom-device</CODE> auf der Kommandozeile an.</P>
268
269 <P><B>Anmerkung</B>: Zumindest einige Plextor- und Toshiba-SCSI-CD-Rom-Laufwerke
270 haben eine grauenvolle Geschwindkeit beim Lesen von VCDs. Das liegt daran,
271 dass der ioctl-Aufruf CDROMREADRAW nicht vollst&auml;ndig implementiert ist.
272 Wenn du Ahnung von der SCSI-Programmierung hast, dann
273 <A HREF="../tech/patches.txt">hilf uns</A>, generische Unterst&uuml;tzung
274 f&uuml;r VCD auf SCSI-Laufwerken zu implementieren.</P>
275
276 <P>Bis dahin kannst du mit
277 <A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A>
278 Daten von der VCD extrahieren und diese mit MPlayer abspielen.</P>
279
280 <H4>VCD-Struktur</H4>
281
282 <P>Eine VCD besteht aus einem oder mehreren Spuren:</P>
283
284 <UL>
285 <LI>Die erste Spur ist eine kleine Datenspur mit 2048 Bytes pro Sektor, die
286 ein ISO9660-Dateisystem enth&auml;lt, auf dem meist ein VCD-Player
287 f&uuml;r Windows und eventuell auch andere Informationen (Bilder, Texte
288 etc.) gespeichert sind.</LI>
289 <LI>Die zweite Spur und alle folgenden sind MPEG-Spuren mit 2324 Bytes pro
290 Sektor, die ein MPEG-PS-Datenpaket pro Sektor anstelle des Dateisystems
291 enthalten. &Auml;hnlich wie bei Audio-CDs k&ouml;nnen diese Spuren
292 <B>nicht gemountet</B> werden (hast du jemals eine Audio-CD gemountet,
293 um sie abzuspielen?). Da die meisten Filme sich auf der zweiten Spur
294 befinden, solltest du zuerst <CODE>-vcd 2</CODE> ausprobieren.</LI>
295 <LI>Es existieren auch VCDs ohne die erste Spur (nur eine Spur, &uuml;berhaupt
296 kein Dateisystem). Diese lassen sich abspielen aber nicht mounten.</LI>
297 </UL>
298
299 <H4>&Uuml;ber .DAT-Dateien:</H4>
300
301 <P>Die ca. 600MB gro&szlig;e sichtbare Datei auf der ersten Spur der
302 gemounteten VCD ist keine echte Datei! Es handelt sich dabei um ein sogenanntes
303 ISO-Gateway, das erstellt wurde, um Windows zu erm&ouml;glichen, solche Spuren
304 zu lesen (Windows erlaubt Anwendungen den direkten Zugtriff auf das Laufwekr
305 n&auml;mlich nicht). Unter Linux kannst du diese Datei weder einfach kopieren
306 noch einfach abspielen (sie enthalten dann nur M&uuml;ll). Unter Windows geht
307 das, weil der ISO9660-Treiber den direkten Zugriff auf die Spur emuliert. Um
308 eine .DAT-Datei abzuspielen, brauchst du einen Kerneltreiber, der in der
309 Linux-Version von PowerDVD enthalten ist. Er enth&auml;lt einen modifizierten
310 Treiber f&uuml;r das ISO9660-Dateisystem (<CODE>vcdfs/isofs-2.4.X.o</CODE>),
311 der ebenfalls in der Lage ist, das direkte Auslesen &uuml;ber diese .DAT-Datei
312 zu emulieren. Wenn du die Disc mit diesem Treiber mountest, dann kannst du die
313 .DAT-Datei kopieren und sogar direkt mit MPlayer abspielen. Das wird
314 aber <B>nicht</B> mit dem Standard-ISO9660-Treiber funktionieren! Benutze dabei
315 <CODE>-vcd</CODE>. Alternativen f&uuml;r's Kopieren einer VCD sind der neue <A
316 HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A>-Kerneltreiber (der
317 nicht Teil des offiziellen Kernels ist), der CD-<I>Sessions</I> als Abbilder
318 anzeigt, und <A HREF="http://cdrdao.sourceforge.net/">cdrdao</A>, ein
319 Anwendung zum Bit-f&uuml;r-Bit-Grabben/Kopieren von CDs.</P>
320
321 </BODY>
322 </HTML>