summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/de/cd-dvd.xml
blob: 89478743760e972022543098e447a72f775a4bb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with r20401 -->
<chapter id="cd-dvd">
  <title>CD/DVD Nutzung</title>

  <sect1 id="drives">
    <title>CD/DVD-Laufwerke</title>

    <para>
      Moderne CD-ROM-Laufwerke können sehr hohe Geschwindigkeiten
      erreichen. Jedoch sind einige CD-ROM-Laufwerke in der Lage, mit gedrosselter
      Geschwindigkeit zu laufen. Es gibt verschiedene Gründe, in Erwägung zu ziehen,
      die Geschwindig eines CD-ROM-Laufwerks zu ändern:
    </para>

    <itemizedlist>
      <listitem>
        <para>
          Es gibt Berichte über Lesefehler bei hohen Geschwindigkeiten, besonders
          bei schlecht gepressten CD-ROMs. Reduzierung der Geschwindigkeit kann
          unter diesen Umständen Datenverlust verhindern.
        </para>
      </listitem>

      <listitem>
        <para>
          Viele CD-ROM-Laufwerke sind nervend laut. Eine geringere Geschwindigkeit kann
          die Geräsche reduzieren.
        </para>
      </listitem>
    </itemizedlist>

    <sect2 id="drives_linux">
      <title>Linux</title>

      <para>
        Du kannst die Geschwindigkeit von IDE CD-ROM-Laufwerken mit
        <command>hdparm</command>, <command>setcd</command> oder
        <command>cdctl</command> reduzieren. Dies funktioniert wie folgt:
        <screen>hdparm -E <replaceable>[Geschwindigkeit]</replaceable> <replaceable>[CD-ROM-Gerät]</replaceable></screen>
        <screen>setcd -x <replaceable>[Geschwindigkeit]</replaceable> <replaceable>[CD-ROM-Gerät]</replaceable></screen>
        <screen>cdctl -bS <replaceable>[Geschwindigkeit]</replaceable></screen>
      </para>

      <para>
        Wenn du SCSI-Emulation benuzt, musst du die Einstellungen unter Umständen am
        echten IDE-Gerät vornehmen und nicht am emuliertem SCSI-Gerät.
      </para>

      <para>
        Wenn du über root-Rechte verfügst, kann das folgende Kommando
        ebenso helfen:
        <screen>echo file_readahead:2000000 &gt; /proc/ide/<replaceable>[CD-ROM-Gerät]</replaceable>/settings</screen>
      </para>

      <para>
        <!-- TODO: 1) aehm Ich glaube nicht das das (oben) als 2 MB interpretiert wird.
             Duerften Bytes sein -->
        Dies setzt die Menge der vorausgehend gelesenen Daten auf 2MB, was bei
        verkratzten CD-ROMs hilft.
        Wenn du dies zu hoch setzt, wird das Laufwerk dauernd anlaufen und wieder langsamer werden;
        dies wird die Leistung dramtisch verschlechtern.
        Es wird ebenso empfohlen, dass du dein CD-ROM-Laufwerk mit <command>hdparm</command>
        konfigurierst:
        <screen>hdparm -d1 -a8 -u1 <replaceable>[CD-ROM-Gerät]</replaceable></screen>
      </para>

      <para>
        Dies aktiviert DMA-Zugriff, Read-ahead (vorausgehendes Lesen) und IRQ-Unmasking
        (lies die <command>hdparm</command> Manpage für eine ausführliche Erklärung).
      </para>

      <para>
        Wir verweisen hier auf
        &quot;<filename>/proc/ide/<replaceable>[CD-ROM-Gerät]</replaceable>/settings</filename>&quot;
        für Feineinstellungen an deinem CD-ROM.
      </para>

      <para>
        SCSI-Laufwerke haben kein einheitliches Verfahren, diese Parameter zu
        setzen. (Kennst du einen? Berichte ihn uns!) Es gibt ein Tool, welches mit
        <ulink url="http://das.ist.org/~georg/">Plextor SCSI-Laufwerken</ulink>
        funktioniert.
      </para>

    </sect2>


    <sect2 id="drives_freebsd">
      <title>FreeBSD</title>

      <para>
        Geschwindigkeit:
        <screen>cdcontrol [-f <replaceable>Gerät</replaceable>] speed <replaceable>[Geschwindigkeit]</replaceable></screen>
      </para>

      <para>
        DMA:
        <screen>sysctl hw.ata.atapi_dma=1</screen>
      </para>

    </sect2>

  </sect1>



  <sect1 id="dvd">
    <title>DVD-Wiedergabe</title>
    <para>
      Für eine komplette Liste der verfügbaren Optionen lies bitte die Manpage.
      Die Syntax für das Abspielen einer Standard-DVD lautet wie folgt:
      <screen>mplayer dvd://<replaceable>&lt;Track&gt;</replaceable> [-dvd-device <replaceable>&lt;Gerät&gt;</replaceable>]</screen>
    </para>

    <para>
      Beispiel:
      <screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
    </para>

    <para>
      Das Standard-DVD-Laufwerk ist <filename>/dev/dvd</filename>. Wenn deine
      Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf
      der Kommandozeile an mit der Option <option>-dvd-device</option>.
    </para>

      <para>
        <application>MPlayer</application> verwendet <systemitem>libdvdread</systemitem> und
        <systemitem>libdvdcss</systemitem> zur DVD-Wiedergabe und -Entschlüsselung.
        Diese beiden Bibliotheken sind im Unterverzeichnis
        <filename class="directory">libmpdvdkit2</filename> des
        <application>MPlayer</application>-Quelltextbaums.
        Du brauchst sie nicht separat zu installieren. Du kannst auch systemweite
        Versionen der beiden Bibliotheken verwenden, diese wird jedoch
        <emphasis role="bold">nicht</emphasis> empfohlen, da dies zu Bugs,
        Bibliotheksinkompatibilitäten und geringerer Geschwindigkeit führen kann.
      </para>

    <note>
      <para>
        In Fällen von DVD-Dekodierungs-Problemen versuche Supermount oder solche Hilfen
        zu deaktivieren. Einige RPC-2 Laufwerke können verlangen, dass ein Regionalcode gesetzt ist.
      </para>
    </note>

    <formalpara>
      <title>DVD-Struktur</title>
      <para>
        DVDs haben 2048 Bytes pro Sektor mit ECC/CRC. Sie haben üblicherweise
        ein UDF-Dateisystem auf einem einzigem Track, welcher verschiedene Dateien
        (kleine .IFO und .BUK Dateien und große .VOB Dateien) enthält.
        Sie sind echte Dateien und können von einem gemounteten Dateisystem einer
        unentschlüsselten DVD kopiert/abgespielt werden.
      </para>
    </formalpara>

    <para>
      Die .IFO-Dateien enthalten die Informationen zur Filmnavigation
      (Kapitel/Titel/Blickwinkel, Sprachtabellen etc.) und werden benötigt,
      um den .VOB Inhalt (den Film) zu lesen und zu interpretieren. Die .BUK-Dateien
      sind Backups davon. Sie nutzen überall <emphasis role="bold">Sektoren</emphasis>,
      so dass du Direktaddressierung von Sektoren auf dem
      Datenträger benötigst, um DVD-Navigation zu implementieren oder den
      Inhalt zu entschlüsseln.
    </para>

    <para>
      DVD-Unterstützung benötigt rohen Sektor-basierten Zugriff auf das
      Laufwerk. Leider musst du (unter Linux) root sein, um die Sektoraddresse einer
      Datei zu erhalten. Das ist der Grund, warum wir nicht den Dateisystemtreiber
      des Kernels nutzen sondern es im Userspace reimplementiert haben.
      <systemitem>libdvdread</systemitem> 0.9.x und
      <systemitem>libmpdvdkit</systemitem> tun dies.
      Der UDF-Dateisystemtreiber des Kernels wird nicht benötigt, da sie bereits
      einen eigenen eingebauten UDF-Dateisystem-Treiber haben.
      Ebenso muss die DVD nicht gemountet werden, da der direkte Sektor-basierte Zugriff
      genutzt wird.
    </para>

    <para>
      Manchmal kann <filename>/dev/dvd</filename> nicht von Benutzern gelesen
      werden, deshalb implementierten die Autoren von <systemitem>libdvdread</systemitem>
      einen Emulations-Layer, welcher die Sektorenadressen in Dateinamen+Offsets
      überträgt und Raw-Zugriff auf dem gemounteten Dateisystem oder auch
      auf Festplatten emuliert.
    </para>

    <para>
      <systemitem>libdvdread</systemitem> akzeptiert sogar Mountpoints an Stelle von
      Gerätenamen für Raw-Zugriff und überprüft
      <filename>/proc/mounts</filename>, um den Gerätenamen herauszufinden.
      Es wurde für Solaris entwickelt, wo Gerätenamen dynamisch
      zugewiesen werden.
    </para>

    <para>
      Wenn du <application>MPlayer</application> mit dvdnav-Unterstützung compiliert hast,
      bleibt die Syntax derselbe, ausgenommen die Verwendung von dvdnav:// an Stelle von dvd://.
    </para>

    <formalpara>
      <title>DVD-Entschlüsselung</title>
      <para>
        DVD-Entschlüsselung geschieht durch <systemitem>libdvdcss</systemitem>. Die dafür
	verwendete Methode kann durch Umgebungsvariable <envar>DVDCSS_METHOD</envar> festgelegt werden,
	indem sie auf key, disk oder title gesetzt wird.
      </para>
    </formalpara>

    <para>
      Wenn nichts angegeben wird, werden zuerst folgende Methoden probiert
      (Standard: key, title request):
    </para>

    <orderedlist>
      <listitem>
        <para>
          <emphasis role="bold">bus key</emphasis>: Dieser Schlüssel
          ist ausgehandelt zwichen der Authentifizierung (ein langer Mix aus ioctls und
          verschiedenen Schlüsselaustauschen, Crypto-Zeug) und wird benutzt,
          um den Titel-Schlüssel und den Datenträger-Schlüssel
          vor dem Senden über den ungeschützten Bus
          (um Abhören zu verhinden) zu entschlüsseln.
          Der Busschlüssel wird benötigt, um den verschlüsselten
          Datenträger-Schlüssel zu erhalten und vorzuentschlüsseln.
        </para>
      </listitem>

      <listitem>
        <para>
          <emphasis role="bold">cached key</emphasis>: <application>MPlayer</application>
          sucht nach bereits geknackten Titel-Schüsseln, welche im
          <filename class="directory">~/.dvdcss</filename> Verzeichnis
          gespeichert werden (schnell).
        </para>
      </listitem>

      <listitem>
        <para>
          <emphasis role="bold">key</emphasis>: Wenn kein zwichengespeicherter
          Schlüssel verfügbar ist, versucht <application>MPlayer</application>
          den Datenträgerschlüssel mittels einer Reihe enthaltener
          Player-Schlüssel zu entschlüsseln.
        </para>
      </listitem>

      <listitem>
        <para>
          <emphasis role="bold">disk</emphasis>: Wenn die Schlüsselmethode fehlschlägt
          (z.B. keine Player-Schlüssel enthalten sind), wird <application>MPlayer</application>
          den Datenträgerschlüssel mittels eines Brute-Force-Algorithmus knacken.
          Dieser Prozess ist sehr CPU-lastig und benötigt 64 MB
          Arbeitsspeicher (16M 32Bit Hash-Tabelle), um die temporären
          Daten zu speichern. Diese Methode sollte immer funktionieren (langsam).
        </para>
      </listitem>

      <listitem>
        <para>
          <emphasis role="bold">title request</emphasis>: Mit dem
          Datenträgerschlüssel fordert <application>MPlayer</application>
          die verschlüsselten Titelschlüssel an, welche in
          <emphasis>versteckten Sektoren</emphasis> mittels <systemitem>ioctl()</systemitem>
          ausgelesen werden.
          Der Regionschutz von RPC-2-Laufwerken erfolgt an dieser Stelle und kann auf solchen
          Laufwerken fehlschlagen. Bei Erfolg werden die Titelschlüssel mit dem Bus- und
          dem Datenträgerschlüssel entschlüsselt.
        </para>
      </listitem>

      <listitem>
        <para>
          <emphasis role="bold">title</emphasis>: Diese Methode wird genutzt, wenn die
          Titelanforderung fehlgeschlagen ist und keinen Schlüsselaustausch mit dem
          DVD-Laufwerk nötig ist.
          Die Methode nutzt Crypto-Attacken, um den Titelschlüssel direkt zu erraten
          (durch das Finden von wiederholenden Mustern im entschlüsselten VOB-Inhalt
          und dem Erraten, dass der zu den ersten entschlüsselten Bytes gehörende
          Klartext eine Fortsetzung dieses Musters ist).
          Die Methode ist bekannt als &quot;known plaintext attack&quot;
          oder &quot;DeCSSPlus&quot;. In einigen wenigen Fällen kann dies
          fehlschlagen, da sich nicht genug verschlüsselte Daten auf dem
          Datenträger befinden, um eine statistische Attacke durchzufüren, oder
          weil der Schlüssel sich mitten im Titel ändert. Diese Methode ist der
          einzige Weg, eine DVD zu entschlüsseln, die auf einer Festplatte gespeichert
          ist oder auf einer DVD mit einer falschen Region auf einem
          RPC2-Laufwerk (langsam).
        </para>
      </listitem>
    </orderedlist>

    <para>
      <!-- Idee: (am Regioncode) hinzufuegen? -->
      <!-- Comment: Ich mag das Wort upgrade nicht. Oder besser
           gesagt sollte der Text besser auf die Risiken und Fakten eingehen. -->
      RPC-1 DVD-Laufwerke schützen Regionseinstellunge nur durch Software.
      RPC-2-Laufwerke haben einen Hardwareschutz, welcher nur 5 Änderungen
      erlaubt. Es kann notwendig/empfehlenswert sein, die Firmware auf RPC-1
      zu aktualisieren, wenn du ein RPC-2 DVD-Laufwerk hast.
      Du kannst versuchen ein Firmwareupgrade für dein Laufwerk im Internet zu finden,
      <ulink url="http://forum.rpc-1.com/dl_all.php">dieses Firmware-Forum</ulink>
      kann ein guter Ausgangspunkt für deine Suche sein.
      Wenn es kein Firmwareupgrade für dein Laufwerk gibt, benutze das
      <ulink url="http://linvdr.org/projects/regionset/">regionset-Tool</ulink>,
      um den Regionscode deines DVD-Laufwerks (unter Linux) zu setzen.
      <emphasis role="bold">Warnung</emphasis>: Du kannst nur 5 mal den Regioncode ändern.
    </para>
  </sect1>



  <sect1 id="vcd">
    <title>VCD-Wiedergabe</title>
    <para>
      Für eine komplette Liste an verfügbaren Optionen lies bitte die
      Manpage. Die Syntax für eine Standard Video CD (VCS) lautet wie folgt:
      <screen>mplayer vcd://<replaceable>&lt;Track&gt;</replaceable> [-cdrom-device <replaceable>&lt;Gerät&gt;</replaceable>]</screen>
      Beispiel:
      <screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
      Das Standard-VCD-Gerät ist <filename>/dev/cdrom</filename>. Wenn deine
      Installation davon abweicht, erstelle einen Symlink oder gib das genaue Gerät auf
      der Kommandozeile an mit der Option <option>-cdrom-device</option>.
    </para>

    <note>
      <para>
        <!-- TODO: have horrible performance reading VCD - zu ueberpruefen -->
        Mindenstens Plextor und einige SCSI-CD-ROM-Laufwerke von Toshiba haben eine
        schreckliche VCD-Leseleistung. Das liegt daran, daß der
        <systemitem>ioctl</systemitem> CDROMREADRAW für diese Laufwerke
        nicht vollstaendig implementiert ist. Wenn du ein bisschen Fachwissen über
        SCSI- Programmierung hast, <ulink url="../../tech/patches.txt">hilf uns</ulink>
        bitte, allgemeine SCSI-Unterstützggung für VCDs zu implementieren.
      </para>
    </note>

    <para>
      Inzwischen kannst du die Daten von VCDs mit
      <ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
      extrahieren und die ausgegebene Datei mit <application>MPlayer</application>
      abspielen.
    </para>

    <formalpara>
      <title>VCD-Struktur</title>
      <para>
        Eine Video CD (VCD) besteht aus CD-ROM XA Sektoren, z.B. CD-ROM Mode 2
        Form 1 und 2 Tracks:
      </para>
    </formalpara>

    <itemizedlist>
      <listitem>
        <para>
          Der erste Track ist im Format Mode 2 Form 2, was bedeutet, dass es
          L2-Fehlerkorrektur benutzt. Der Track enthält ein ISO-9660 Dateisystem
          mit 2048 Bytes/Sektor. Das Dateisystem enthält VCD Metadata-Informationen
          ebenso wie Standbilder, welche oft in Menüs benutzt werden.
          MPEG-Segmente für Menüs können auch im ersten Track gespeichert
          werden, die MPEGs müssen aber in eine Serie von 150-Sektoren-Einheiten
          gestückelt werden. Das ISO-9660 Dateisystem kann auch noch andere Dateien oder
          Programme enthalten, welche nicht für VCD-Betrieb erforderlich sind.
        </para>
      </listitem>

      <listitem>
        <para>
          Der zweite und die restlichen Tracks sind generelle rohe 2324 Bytes/Sektor
          MPEG (Film) Tracks, welche ein MPEG-PS-Datenpaket pro Sektor enthalten.
          Diese sind im Format Mode 2 Form 1, so dass sie mehr Daten pro Sektor speichern
          können unter dem Verlust einiger Fehlerkorrektur. Es ist ebenso
          gültig, CD-DA Tracks in einer VCD nach dem ersten Track zu haben.
          Auf manchen Betriebssystemen gibt es ein paar Tricks, diese nicht-ISO-9660-Tracks
          im Dateisystem erscheinen zu lassen. Auf anderen Systemen wie GNU/Linux ist
          dies (noch) nicht der Fall. Hier können die MPEG-Daten
          <emphasis role="bold">nicht gemountet werden</emphasis>. Da sich die meisten Filme
          in einer solchen Art von Track befinden, solltest du zuerst <option>vcd://2</option> versuchen.
        </para>
      </listitem>

      <listitem>
        <para>
          Es existieren ebenso VCDs ohne einen ersten Track (einzelner Track und
          überhaupt kein Dateisystem). Diese sind trotzudem abspielbar,
          können aber nicht gemountet werden.
        </para>
      </listitem>

      <listitem>
        <para>
          Die Definition des Video-CD-Standards wird Philips "White Book" genannt und ist
          im Allgemeinen nicht online verfügbar, da es von Philips käuflich erworben werden
          muss. Detailliertere Informationen über Video-CDs befindet sich in der 
          <ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager- Documentation</ulink>.
        </para>
      </listitem>

    </itemizedlist>

    <formalpara>
      <title>.DAT Dateien</title>
      <para>
        Die ~600 MB Datei, die auf dem ersten Track einer gemounteten VCD sichtbar
        ist, ist keine richtige Datei! Es ist ein sogenanntes ISO-Gateway, geschaffen,
        um Windows den Zugriff auf solche Tracks zu geben (Windows erlaubt überhaupt
        keine direkten Zugriffe auf das Laufwerk). Unter Linux kannst du solche Dateien
        weder kopieren noch abspielen (sie enthalten Müll). Unter Windows ist dies
        möglich, da Windows ISO9660-Treiber das direkte Lesen der Tracks in diesen
        Dateien emuliert. Um eine .DAT Datei wiederzugeben, benötigst du einen
        Kernel-Treiber, welcher in der Linux-Version von PowerDVD zu finden ist.
        Es hat einen modifizierten ISO9660 Dateisystem-Treiber
        (<filename>vcdfs/isofs-2.4.X.o</filename>), welcher in der Lage ist,
        die rohen Tracks durch diese Schatten-.DAT-Dateien zu emulieren. Wenn du
        den Datenträger mit deren Treiber mountest, kannst du die .DAT Dateien
        kopieren und sogar mit <application>MPlayer</application> abspielen.
        Dies wird jedoch nicht mit dem Standard-ISO9660-Treiber des Linux-Kernels
        funktionieren! Benutze statt dessen <option>vcd://</option>. Alternativen
        für das Kopieren von VCDs sind der neue Kernel-Treiber
        <ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink>
        (nicht Bestandteil des offiziellen Kernels), welcher CD-Sessions
        als Imagedateien darstellt, und
        <ulink url="http://cdrdao.sf.net/">cdrdao</ulink>,
        ein Bit-für-Bit CD-Grabbing/Kopier-Programm.
      </para>
    </formalpara>

  </sect1>

</chapter>