mirror of
https://github.com/mpv-player/mpv
synced 2024-12-23 15:22:09 +00:00
fc798421fc
r20572: (doesn't apply) r20614: another missing <application> r20637: libmpdvdkit no longer exists. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20640 b3059339-0415-0410-9bf9-f77b7e298cf2
346 lines
15 KiB
XML
346 lines
15 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- synced with r20637 -->
|
|
<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 > /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
|
|
"<filename>/proc/ide/<replaceable>[CD-ROM-Gerät]</replaceable>/settings</filename>"
|
|
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><Track></replaceable> [-dvd-device <replaceable><Gerät></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
|
|
<application>MPlayer</application>-Quelltextbaum,
|
|
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 tut 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,
|
|
siehe Manpage für Details.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<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><Track></replaceable> [-cdrom-device <replaceable><Gerät></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>
|