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.
|