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:
user@linux $
mplayer -dvd <track> [-dvd-device <Gerät>]
|
Beispiel:
user@linux ~$
mplayer -dvd 1 -dvd-device /dev/hdc
|
Das Standard-DVD-Gerät ist /dev/dvd. 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 -dvd-device
an.
Unterstützung für DVD-Navigation:
An einer Unterstützung für DVD-Navigation via dvdnav wird
gearbeitet. Sie ist jedoch noch nicht vollendet und wird momentan
nicht gewartet. Wer weiß - vielleicht lässt sie sich sogar
kompilieren.
DVD-Strukturen:
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üsselten DVD abgespielt oder kopiert werden.
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 Sektornummern 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.
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:
-
Sei root oder gib der mplayer-Programmdatei das SUID-Bit.
-
Lass MPlayer das Wrapper-Programm fibmap_mplayer ausführen,
welches das SUID-Bit gesetzt hat, um Zugriff auf die DVD zu
bekommen.
-
Lass die Dateisystemtreiber des Kernels links liegen und
programmiere den Support dafür erneut im User-Space. libdvdread
0.9.x und libmpdvdkit2 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.
Manchmal hat ein Benutzer keinen Zugriff auf das Device (z.B.
/dev/dvd). Deswegen haben die Autoren der libdvdread 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.
libdvdread akzeptiert sogar Mountpoints anstelle von Devicenamen.
Dabei schaut sie in /proc/mounts nach, um den tatsächlichen
Devicenamen für den Sektorzugriff herauszufinden. Entwickelt wurde
dies Verfahren für Solaris, da Solaris Devicenamen dynamisch vergibt.
Der Standardname für das DVD-Device ist /dev/dvd. Sollte das bei dir
anders sein, so erstelle einen symbolischen Link auf das richtige
Device, oder gib es beim Starten mit der Option -dvd-device separat
an.
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 findest, die nur einen RPC-1-Schutz
implementiert hat. Firmwareupgrades können auf dieser
Firmwareseite
gefunden werden.
*Warnung:* Du kannst nur fünf mal den Gebietscode ändern.
|