Mercurial > mplayer.hg
diff DOCS/German/cd-dvd.html @ 8833:e4c5ee3aa3e9
bunkus: Updated/newly translated German version of the docs
author | mosu |
---|---|
date | Tue, 07 Jan 2003 12:17:57 +0000 |
parents | 7e654203b6b2 |
children | e293d5eccd41 |
line wrap: on
line diff
--- a/DOCS/German/cd-dvd.html Tue Jan 07 10:33:30 2003 +0000 +++ b/DOCS/German/cd-dvd.html Tue Jan 07 12:17:57 2003 +0000 @@ -10,97 +10,299 @@ <BODY> -<H2><A NAME="drives">4.1. CD-ROM Laufwerke</A></H2> +<H2><A NAME="drives">4.1. CD-ROM- und DVD-ROM-Laufwerke</A></H2> <P>Auszug aus der Linux-Dokumentation:</P> -<P>Moderne CDROM-Laufwerke können sehr hohe Abtastgeschwindigkeiten erreichen, -einige können jedoch auch ihre Geschwindigkeit reduzieren. Es gibt mehrere -Gründe dies zu tun:</P> +<P>Moderne CDROM-Laufwerke können sehr hohe Abtastgeschwindigkeiten +erreichen. Einige können jedoch auch ihre Geschwindigkeit reduzieren. +Es gibt mehrere Gründe, dies zu tun:</P> <UL> - <LI>Es gibt Berichte, dass diese Laufwerke bei diesen hohen Geschwindkeiten - Lesefehler erzeugen, vor allem bei schlecht gepressten CD-ROMs. Das Herabsetzen - der Geschwindigkeit kann in diesen Fällen die Datenverluste verringern.</LI> - <LI>Viele CD-ROM Laufwerke erzeugen störend laute Geräusche, die eine niedrigere - Geschwindigkeit ebenfalls reduzieren kann.</LI> + <LI>Es gibt Berichte, dass diese Laufwerke bei hohen Geschwindkeiten + Lesefehler erzeugen, vor allem bei schlecht gepressten CD-ROMs. Das + Herabsetzen der Geschwindigkeit kann in diesen Fällen die + Datenverluste verringern.</LI> + <LI>Viele CD-ROM Laufwerke erzeugen störend laute Geräusche, die + eine niedrigere Geschwindigkeit ebenfalls reduzieren kann.</LI> </UL> -<P>Die Lesegeschwindigkeit kann mit <CODE>hdparm</CODE> oder <CODE>setcd</CODE> -verringert werden. Das geht so:</P> +<P>Die Lesegeschwindigkeit eines IDE-CD-Laufwerkes kann mit <CODE>hdparm</CODE> +oder einem Programm namens <CODE>setcd</CODE> verringert werden. Das geht +so:</P> -<P> <CODE>hdparm -E <Geschwindigkeit> <CD-ROM Device></CODE></P> +<P> <CODE>hdparm -E <Geschwindigkeit> +<CD-ROM-Device></CODE></P> + +<P> <CODE>setcd -x <Geschwindigkeit> +<CD-ROM-Device></CODE></P> -<P> <CODE>setcd -x <Geschwingkeit> <CD-ROM Device></CODE></P> +<P>Du kannst auch folgendes probieren:</P> + +<P> <CODE>echo current_speed:4 > +/proc/ide/[CDROM-Device]/settings</CODE></P> -<P>Man kann auch folgendes probieren:</P> +<P>Aber dafür brauchst du Root-Privilegien. Der folgende Befehl +könnte ebenfalls helfen:</P> -<P> <CODE>echo current_speed:4 > /proc/ide/[CDROM-Device]/settings</CODE></P> +<P> <CODE>echo file_readahead:2000000 > +/proc/ide/[CDROM-Device]/settings</CODE></P> -<P>Aber man braucht dazu Root-Privilegien. Ich verwende auch diesen Befehl:</P> +<P>Dies setzt einen 2MB Lesepuffer für die Daten, was sich bei zerkratzten CDs +als nützlich erweist. Wenn du die Größe zu hoch wählst, +dann wird das Laufwerk ständig beschleunigen und abbremsen und dadurch die +Geschwindigkeit dramatisch verringern. Es ist auch empfehlenswert, das CD-ROM +Laufwerk via hdparm auf performantere Werte einzustellen:</P> -<P> <CODE>echo file_readahead:2000000 > /proc/ide/[CDROM-Device]/settings</CODE></P> +<P> <CODE>hdparm -d1 -a8 -u1 <CDROM-Device> +</CODE></P> -<P>Dies setzt einen 2MB Lesepuffer für die Daten, was sich bei zerkratzten CDs als -nützlich erweist. Es ist auch empfehlenswert das CD-ROM Laufwerk via <CODE>hdparm</CODE> einzustellen:</P> +<P>Dies aktiviert den DMA-Zugriff, Vorauslesen und IRQ-Unmasking +(genauere Details dazu findest du in der <CODE>hdparm</CODE>-Manpage)</P> -<P> <CODE>hdparm -d1 -a8 -u1 <CDROM-Device></CODE></P> +<P>Bitte schau dir "<CODE>/proc/ide/[CDROM-Device]/settings</CODE>" an, um +das CD-ROM feineinzustellen.</P> -<P>Dies aktiviert den DMA-Zugriff, Vorauslesen und IRQ-Unmasking (genauere Details -dazu finden sich in der <CODE>hdparm</CODE> Manpage)</P> +<P>SCSI-Laufwerke kennen keine einheitliche Schnittstelle zum Setzen dieser +Werte (oder kennst du eine? Dann sag sie uns!) Es gibt ein Tool, das mit <A +HREF="http://das.ist.org/~georg/">Plextor-SCSI-Laufwerken</A> funktioniert.</P> -<P>Bitte schau dir "<CODE>/proc/ide/[CDROM-Gerät]/settings</CODE>" an um das CD-ROM feineinzustellen.</P> +<P>FreeBSD:</P> + +<P> Speed: <CODE>cdcontrol [-f device] speed [speed] +</CODE></P> +<P> DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P> -<H2><A NAME="dvd">4.2. DVD Wiedergabe</A></H2> +<H2><A NAME="dvd">4.2. DVD-Wiedergabe</A></H2> + +<P>Bitte schau in der man-Page nach, wenn du eine Auflistung aller +verfügbaren Optionen willst.</P> -<P><B>MPlayer</B> benutzt <CODE>libdvdread</CODE> und <CODE>libdvdcss</CODE> für -die DVD Entschlüsselung und Wiedergabe. Diese beiden Bibliotheken sind im -<CODE>libmpdvdkit/</CODE> Unterverzeichnis enthalten, sie müssen nicht separat -installiert werden. Wir gehen in diese Richtung, da wir einen Patch hinzufügt haben, -welcher <B>Cache Support für gecrackte CSS-Keys</B> für libdvdcss erlaubt. Dies -führt zu einer hohen Geschwindigkeitssteigerung vor der Wiedergabe. Die gecrackten -Keys werden im <CODE>~/.mplayer/DVDKeys</CODE> Verzeichnis abgelegt.</P> +<P><B>MPlayer</B> benutzt <CODE>libdvdread</CODE> und <CODE>libdvdcss</CODE> +für die DVD Entschlüsselung und Wiedergabe. Diese beiden Bibliotheken +sind im <CODE>libmpdvdkit2/</CODE>-Unterverzeichnis enthalten und müssen +nicht separat installiert werden. Wir haben uns dazu entschlossen, da wir einen +Fehler in der <CODE>libdvdread</CODE> beheben mussten und einen Patch +hinzufügt haben, welcher <B>Caching-Support für gecrackte +CSS-Keys</B> für <CODE>libdvdcss</CODE> ermöglicht. Dies führt +zu einer Geschwindigkeitssteigerung, da <B>MPlayer</B> nicht vor jeder +Wiedergabe die Verschlüsselung erneut knacken muss.</P> + +<P><B>MPlayer</B> kann jedoch auch die systemweiten <CODE>libdvdread</CODE>- +und <CODE>libdvdcss</CODE>-Bibliotheken verwenden. Diese Lösung wird +jedoch aus oben den oben genannten Gründen <B>nicht</B> empfohlen. +Ausßerdem kann es zu Fehlern, Inkompatibilitäten zwischen den +Bibliotheken und niedriger Geschwindigkeit führen.</P> + +<H4>Unterstützung für DVD-Navigation</H4> + +<P>An einer Unterstützung für DVD-Navigation via <CODE>dvdnav</CODE> +wird gearbeitet. Sie ist jedoch noch nicht vollendet und wird momentan nicht +gewartet. Wer weiß - vielleicht lässt sie sich sogar +compilieren.</P> + +<H4>Alte DVD-Unterstützung - OPTIONAL</H4> + +<P>Nützlich, wenn du verschlüsselte VOBs von der Festplatte abspielen +willst. Kompiliere und installiere <B>libcss</B> 0.0.1 (nicht neuer). Wenn +<B>MPlayer</B> sie nicht findet, dann benutze die Option <CODE>-csslib +/pfad/zu/libcss.so</CODE>. Um diese Bibliothek zu benutzen musst du root-Rechte +haben, das SUID-Bit für die <B>MPlayer</B>-Programmdatei setzen oder den +fibmap_mplayer-Wrapper benutzen, der das SUID-Bit gesetzt hat.</P> + +<H4>DVD-Strukturen</H4> + +<P>DVDs benutzen alle 2048 Bytes/Sektor mit ECC/CRC. Meistens beinhalten sie +ein UDF-Dateisystem in einem einzigen Track. Dieses Dateisystem enthält +mehrere Dateien (kleine .IFO- und .BUK-Dateien sowie die großen (1GB) +.VOB-Dateien). Sie sind echte Dateien und kännen von einem in's +Dateisystem eingehängten Dateisystem einer nicht verschläusselten +DVD abgespielt oder kopiert werden.</P> + +<P>Die .IFO-Dateien enthalten Filmnavigationsinformationen (z.B. Kapitel, +Titel, verschiedene Kameraeinstellungen sofern vorhanden, Tabelle mit den +Sprachen etc.) und werden benätigt, um den Inhalt der .VOB-Dateien (den +eigentlichen Film) lesen und interpretieren zu können. Die .BUK-Dateien +sind Backups der .IFO-Dateien. Sie benutzen ausschließlich +<B>Sektornummern</B> zur Adressierung, sodass man zur DVD-Navigation das +direkte Ansprechen einzelner Sektoren der DVD implementieren muss. .IFOs werden +ebenfalls benätigt, um den Inhalt entschlässeln zu kännen.</P> + +<P>Aus diesem Grund braucht die alte DVD-Unterstützung ein in den +Dateibaum eingehängtes DVD-Dateisystem sowie zusätzlich Zugriff auf +das Device, um einzelne Sektoren der DVD lesen zu können. Leider musst du +(unter Linux) root-Rechte besitzen, um die Sektorenadresse einer Datei zu +erhalten. Du hast nun die folgenden Möglichkeiten:</P> + +<UL> + <LI>Sei root oder gib der mplayer-Programmdatei das SUID-Bit.</LI> + <LI>Lass <B>MPlayer</B> das Wrapper-Programm fibmap_mplayer ausführen, + welches das SUID-Bit gesetzt hat, um Zugriff auf die DVD zu bekommen + (wird bei der alten DVD-Unterstützung mit der <CODE>libcss</CODE> so + sgemacht).</LI> + <LI>Lass die Dateisystemtreiber des Kernels links liegen und programmiere + den Support dafür erneut im User-Space. <CODE>libdvdread</CODE> + 0.9.x und <CODE>libmpdvdkit2</CODE> machen das genau so (neue + DVD-Unterstützung). Der + UDF-Treiber des Kernels wird nicht benötigt, da diese Bibliotheken + ihren eigenen UDF-Dateisystemtreiber mitbringen. Die DVD muss nicht einmal + in den Dateibaum eingehängt sein, da direkt auf die Sektoren der + DVD zugegriffen wird.</LI> +</UL> -<P><B>MPlayer</B> kann jedoch auch die systemweite <CODE>libdvdread</CODE> und die -<CODE>libdvdcss</CODE> Bibliotheken verwenden. Diese Lösung wird jedoch aus oben -genannten Gründen <B>nicht</B> empfohlen.</P> +<P>Manchmal hat ein Benutzer keinen Zugriff auf das Device (z.B. +<CODE>/dev/dvd</CODE>). Deswegen haben die Autoren der <CODE>libdvdread</CODE> +einen Emulationsmodus spendiert, der eine Umsetzung zwischen Sektornummern und +Dateinamen/Offsets vornimmt. Damit wird Sektorzugriff auch bei in das +Dateisystem eingehängten DVDs und sogar bei auf die Festplatte kopierten +Dateien ermöglicht.</P> + +<P><CODE>libdvdread</CODE> akzeptiert sogar Mountpoints anstelle von +Devicenamen. Dabei schaut sie in <CODE>/proc/mounts</CODE> nach, um den +tatsächlichen Devicenamen für den Sektorzugriff herauszufinden. +Entwickelt wurde diees Verfahren für Solaris, da Solaris Devicenamen +dynamisch vergibt.</P> + +<P>Der Standardname für das DVD-Device ist <CODE>/dev/dvd</CODE>. Sollte +das bei dir anders sein, so erstelle einen symbolischen Link auf das richtige +Device, oder gib es beim Starten mit der Option <CODE>-dvd-device</CODE> +separat an. + +<H4>DVD-Authentifizierung</H4> + +<P>Die Authentifizierung und Entschlüsselung der neuen +DVD-Unterstützung wird durch eine gepatchte <CODE>libdvdcss</CODE> +ermöglicht (siehe oben). Die Zugriffsmethoden können über die +Umgebungsvariable <CODE>DVDCSS_METHOD</CODE> gewählt werden. Gäultige +Werte sind <CODE>key</CODE>, <CODE>disk</CODE> und <CODE>title</CODE>.</P> + +<P>Wird nichts angegeben, so versucht libdvdcss die folgenden Methoden +(Standardwerte: key, title-Request):</P> -<P>An einer Unterstützung für DVD Navigation via <CODE>dvdnav</CODE> wird gearbeitet, -sie ist jedoch noch nicht vollendet.</P> - -<H4>Alte DVD Unterstützung - <I>OPTIONAL</I></H4> +<OL> + <LI><B>bus key:</B>Dieser Schlüssel wird während der + Authentifizierung (eine lange Mischung aus ioctls und verschiedenen + Schlüsselaustauschen, dient der Entschlüsselung) verhandelt. + Er wird benutzt, um die title- und disk-Schlüssel vor dem Versand + über den ungeschützten Systembus zu verschlüsseln und damit + ein Ablauschen der Schlüssel zu verhindern. Der bus key ist + erforderlich, um den verschlüsselten disk key zu erhalten und zu + entschlüsseln.</LI> + <LI><B>cached key:</B> <B>MPlayer</B> sucht nach bereits gecrackten + Schlüsseln, die im <CODE>~/.mplayer/DVDKeys</CODE>-Verzeichnis + gespeichert werden (das ist schnell ;).</LI> + <LI><B>key:</B> Falls kein cached key vorhanden ist, so versucht + <B>MPlayer</B> den disk key mit Hilfe einer Reihe von mitgelieferten + und eincompilierten player keys zu entschlüsseln.</LI> + <LI><B>disk:</B> Wenn die key-Methode fehlschlägt (z.B. wenn keine + Player-Schlüssel dabei sind), so versucht <B>MPlayer</B>, den + disk key mit Hilfe eines brute-force-Algorithmusses zu knacken. Dieser + Prozess belastet die CPU sehr und benötigt mindestens 64MB Speicher + (16M 32Bit breite Einträge in einer Hashtabelle), um temporäre + Werte zu speichern. Diese Methode sollte immer funktionieren, ist aber + langsam.</LI> + <LI><B>title request:</B> Mit dem disk key kann <B>MPlayer</B> den + verschlüsselten title key anfordern, der auf <I>versteckten + Sektoren</I>, die mit <CODE>ioctl()</CODE> ausgelesen werden, auf der DVD + gespeichert ist. Der Gebietsschutz der RPC-2-konformen DVD-Laufwerke + wird in diesem Schritt realisiert. Bei manchen Laufwerken kann dieser + Schritt fehlschlagen. Wenn die Anforderung erfolgreich war, wird der + title key mit dem bus key und dem disk key entschlüsselt.</LI> + <LI><B>title:</B> Diese Methode wird dann benutzt, wenn die Anforderung + für den title key fehlgeschlagen ist. Sie basiert nicht auf einem + Datenaustausch mit dem DVD-Laufwerk sondern benutzt einen kryptographischen + Angriff, der den title key versucht zu erraten. (Dabei wird versucht, sich + wiederholende Muster im entschlüsselten Inhalt der VOBs zu finden. + Geraten wird dann, dass die ersten verschlüsselten Bytes des dazu + passenden verschlüsselten Textes + eine Weiterführung dieser Muster sind.) Diese Methode ist auch als + "known plaintext attack" (Angriff bei bekanntem Klartext) oder "DeCSSPlus" + bekannt. In seltenen Fällen kann auch diese Methode fehlschlagen, + wenn nicht genug verschlüsselte Daten auf der DVD vorhanden sind, + um einen statistischen Angriff zu starten, oder weil sich der Schlüssel + mitten in einem Titel ändert. Diese Methode ist die + einzige Möglichkeit, den auf der Festplatte gespeicherten Inhalt einer + DVD zu entschlüsseln und bei RPC2-Laufwerken mit falschem Regionalcode + (langsam).</LI> +</OL> -<P>Nützlich, wenn du verschlüsselte VOBs von der Festplatte abspielen willst. Kompiliere und installiere <B>libcss</B> -0.0.1 (nicht neuer) (wenn <B>MPlayer</B> sie nicht findet, dann benutze die Option <CODE>-csslib /pfad/zu/libcss.so</CODE>).</P> - -<P>Für eine komplette Liste der verfügbaren Optionen sollte die Manpage durchsucht werden.</P> +<P>RPC-1-konforme DVD-Laufwerke sind nur über den Gebietsschutz +geschützt, den der Softwareplayer bietet. RPC-2-konforme Laufwerke haben +dagegen einen Hardwareschutz, der es nur fünf mal erlaubt, den Gebietscode +zu ändern. Es ist evtl. nötig oder empfehlenswert, dass du Firmware +für dein Laufwerk zu finden, die nur einen RPC-1-Schutz implementiert. +Firmwareupgrades können auf dieser +<A HREF="http://perso.club-internet.fr/farzeno/firmware/">Firmwareseite</A> +gefunden werden. Solltest du dort keine Firmware für dein Laufwerk finden, +so kannst du mit dem +<A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz"> +region set tool</A> den Gebietscode deines DVD-Laufwerks ändern (klappt +nur unter Linux). <B>Warnung:</B> Du kannst nur fünf mal den Gebietscode +ädnern.</P> <H2><A NAME="vcd">4.3. VCD Wiedergabe</A></H2> <P><B>Abspielen von Standard Video-CDs:</B></P> -<P><CODE>mplayer -vcd <Tracknummer> [-cdrom-device <Device>]</CODE></P> +<P><CODE>mplayer -vcd <Tracknummer> [-cdrom-device +<Gerät>]</CODE></P> <P>Beispiele:<BR> -<CODE>mplayer -vcd 1<BR> -mplayer -fs -vcd 2 -cdrom-device /dev/hdc</CODE><BR></P> +<CODE>mplayer -vcd 2 -cdrom-device /dev/hdc</CODE><BR></P> + +<P>Das Standard-CD-Rom-Laufwerk ist <CODE>/dev/cdrom</CODE>. Falls das bei dir +nicht der Fall ist, erstelle einen symbolischen Link oder gib das richtige +Gerät mit <CODE>-cdrom-device</CODE> auf der Kommandozeile an.</P> -<P>Hinweise:</P> +<P><B>Anmerkung</B>: Zumindest einige Plextor- und Toshiba-SCSI-CD-Rom-Laufwerke +haben eine grauenvolle Geschwindkeit beim Lesen von VCDs. Das liegt daran, +dass der ioctl-Aufruf CDROMREADRAW nicht vollständig implementiert ist. +Wenn du Ahnung von der SCSI-Programmierung hast, dann +<A HREF="../tech/patches.txt">hilf uns</A>, generische Unterstützung +für VCD auf SCSI-Laufwerken zu implementieren.</P> + +<H4>VCD-Struktur</H4> + +<P>Eine VCD besteht aus einem oder mehreren Spuren:</P> <UL> - <LI>Die VCD sollte <B>nicht</B> gemounted werden, um die .DAT Dateien direkt abzuspielen! - Es funktioniert vielleicht unter Windows, wird unter Linux aber nicht funktionieren. - Die CDs müssen mit der <CODE>-vcd</CODE> Option abgespielt werden!</LI> - <LI>VCDs haben normalerweise 2 Tracks: ein Daten-Track (enthält das Autostart-Windows - Abspielprogramm, Karaoke-Daten usw.) und einen Mode-2-Track (den Film), also - sollte zuerst <CODE>-vcd 2</CODE> versucht werden!</LI> - <LI>Das Standard Device ist <CODE>/dev/cdrom</CODE>. Wenn es sich um anderes handelt, - muss ein symbolischer Link oder die das Device durch die Option - <CODE>-cdrom-device</CODE> gesetzt werden!</LI> + <LI>Die erste Spur ist eine kleine Datenspur mit 2048 Bytes pro Sektor, die + ein ISO9660-Dateisystem enthält, auf dem meist ein VCD-Player + für Windows und eventuell auch andere Informationen (Bilder, Texte + etc.) gespeichert sind.</LI> + <LI>Die zweite Spur und alle folgenden sind MPEG-Spuren mit 2324 Bytes pro + Sektor, die ein MPEG-PS-Datenpaket pro Sektor anstelle des Dateisystems + enthalten. Ähnlich wie bei Audio-CDs können diese Spuren + <B>nicht gemountet</B> werden (hast du jemals eine Audio-CD gemountet, + um sie abzuspielen?). Da die meisten Filme sich auf der zweiten Spur + befinden, solltest du zuerst <CODE>-vcd 2</CODE> ausprobieren.</LI> + <LI>Es existieren auch VCDs ohne die erste Spur (nur eine Spur, überhaupt + kein Dateisystem). Diese lassen sich abspielen aber nicht mounten.</LI> </UL> +<H4>Über .DAT-Dateien:</H4> + +<P>Die ca. 600MB große sichtbare Datei auf der ersten Spur der +gemounteten VCD ist keine echte Datei! Es handelt sich dabei um ein sogenanntes +ISO-Gateway, das erstellt wurde, um Windows zu ermöglichen, solche Spuren +zu lesen (Windows erlaubt Anwendungen den direkten Zugtriff auf das Laufwekr +nämlich nicht). Unter Linux kannst du diese Datei weder einfach kopieren +noch einfach abspielen (sie enthalten dann nur Müll). Unter Windows geht +das, weil der ISO9660-Treiber den direkten Zugriff auf die Spur emuliert. Um +eine .DAT-Datei abzuspielen, brauchst du einen Kerneltreiber, der in der +Linux-Version von PowerDVD enthalten ist. Er enthält einen modifizierten +Treiber für das ISO9660-Dateisystem (<CODE>vcdfs/isofs-2.4.X.o</CODE>), +der ebenfalls in der Lage ist, das direkte Auslesen über diese .DAT-Datei +zu emulieren. Wenn du die Disc mit diesem Treiber mountest, dann kannst du die +.DAT-Datei kopieren und sogar direkt mit <B>MPlayer</B> abspielen. Das wird +aber <B>nicht</B> mit dem Standard-ISO9660-Treiber funktionieren! Benutze dabei +<CODE>-vcd</CODE>. Alternativen für's Kopieren einer VCD sind der neue <A +HREF="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</A>-Kerneltreiber (der +nicht Teil des offiziellen Kernels ist), der CD-<I>Sessions</I> als Abbilder +anzeigt, und <A HREF="http://cdrdao.sourceforge.net/">cdrdao</A>, ein +Anwendung zum Bit-für-Bit-Grabben/Kopieren von CDs.</P> </BODY> </HTML>