diff options
author | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-02-08 00:00:00 +0000 |
---|---|---|
committer | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-02-08 00:00:00 +0000 |
commit | 4e8a50437110dc3d70e406c8d3dbf2a522ff5594 (patch) | |
tree | 46073083dcaa4fb9e61949d9641319d525ab8f1c /DOCS/de/cd-dvd.html | |
parent | 6f2b2246d24f9501b057533fc2eb75187fe56f56 (diff) |
Rename documentation directories to two-letter language codes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9333 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/de/cd-dvd.html')
-rw-r--r-- | DOCS/de/cd-dvd.html | 322 |
1 files changed, 322 insertions, 0 deletions
diff --git a/DOCS/de/cd-dvd.html b/DOCS/de/cd-dvd.html new file mode 100644 index 0000000000..bc85b02014 --- /dev/null +++ b/DOCS/de/cd-dvd.html @@ -0,0 +1,322 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML> + +<HEAD> + <TITLE>CD, DVD, VCD - MPlayer - The Movie Player for Linux</TITLE> + <LINK REL="stylesheet" TYPE="text/css" HREF="default.css"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> +</HEAD> + +<BODY> + + +<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> + +<UL> + <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 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>setcd -x <Geschwindigkeit> +<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>Aber dafür brauchst du Root-Privilegien. Der folgende Befehl +könnte ebenfalls helfen:</P> + +<P> <CODE>echo file_readahead:2000000 > +/proc/ide/[CDROM-Device]/settings</CODE></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>hdparm -d1 -a8 -u1 <CDROM-Device> +</CODE></P> + +<P>Dies aktiviert den DMA-Zugriff, Vorauslesen und IRQ-Unmasking +(genauere Details dazu findest du in der <CODE>hdparm</CODE>-Manpage)</P> + +<P>Bitte schau dir "<CODE>/proc/ide/[CDROM-Device]/settings</CODE>" an, um +das CD-ROM feineinzustellen.</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>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> + +<P>Bitte schau in der man-Page nach, wenn du eine Auflistung aller +verfügbaren Optionen willst. Die Syntax bei einer normalen Digital +Versatile Disc (DVD) sieht wie folgt aus:</P> + +<P><CODE>mplayer -dvd <track> [-dvd-device <Gerät>]</CODE></P> + +<P>Beispiel: <CODE>mplayer -dvd 1 -dvd-device /dev/hdc</CODE></P> + +<P>Das Standard-DVD-Gerät ist <CODE>/dev/dvd</CODE>. Wenn das bei dir +anders ist, so erstelle einen symbolischen Link auf das richtige Gerät, +oder gib es auf der Kommandozeile mit der Option <CODE>-dvd-device</CODE> an. +</P> + +<P>MPlayer 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 MPlayer nicht vor jeder +Wiedergabe die Verschlüsselung erneut knacken muss.</P> + +<P>MPlayer 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 +MPlayer 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 MPlayer-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 MPlayer 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>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> + +<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> MPlayer 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 + MPlayer 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 MPlayer, 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 MPlayer 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>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 +<Gerät>]</CODE></P> + +<P>Beispiele:<BR> +<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><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> + +<P>Bis dahin kannst du mit +<A HREF="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</A> +Daten von der VCD extrahieren und diese mit MPlayer abspielen.</P> + +<H4>VCD-Struktur</H4> + +<P>Eine VCD besteht aus einem oder mehreren Spuren:</P> + +<UL> + <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 MPlayer 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> |