Update
Die libdvdread (4.1.3) von MPlayer kann DVDs mit DVD-Movie-Protect ohne weiteres lesen.
Der Patch von Bastian Blank (siehe http://bugs.debian.org/460400) ist einiges schöner.
Leider gibt es ein paar DVDs welche von DVD-Playern die libdvdread benutzen, z.B. VLC, nicht abgespielt werden können, da diese DVDs aufgrund des Kopierschutzes DVD-Movie-Protect ein defektes UDF-Dateisystem besitzen. Details & Liste der betroffenen DVDs
Fehlermeldung MPlayer:
*** libdvdread: CHECK_VALUE failed in ifo_read.c:435 ***
*** for vtsi_mat->vtsi_last_sector*2 <= vtsi_mat->vts_last_sector ***
*** libdvdread: CHECK_VALUE failed in ifo_read.c:439 ***
*** for vtsi_mat->vtsm_vobs == 0 || (vtsi_mat->vtsm_vobs > vtsi_mat->vtsi_last_sector && vtsi_mat->vtsm_vobs < vtsi_mat->vts_last_sector) ***
*** libdvdread: CHECK_VALUE failed in ifo_read.c:442 ***
*** for vtsi_mat->vtstt_vobs == 0 || (vtsi_mat->vtstt_vobs > vtsi_mat->vtsi_last_sector && vtsi_mat->vtstt_vobs < vtsi_mat->vts_last_sector) ***
libdvdread: Invalid title IFO (VTS_01_0.IFO).
Cannot open the IFO file for DVD title 1.
No stream found to handle url dvd://2
Je nach DVD ist das Menu und die Extras nicht geschützt, d.h. sie lassen sich abspielen. Der eigentliche Film scheint aber immer geschützt zu sein (was zu erwarten war).
Patch
Mit dem Patch gegen libdvdread 0.9.7 können DVDs mit DVD-Movie-Protect mit z.B. VLC abgespielt werden.
Den richtigen Offset und somit die Datei findet man über die IFO-Dateien, und nicht wie zuvor mit den UDF-Dateisystem (siehe http://dvd.sourceforge.net/dvdinfo/ifo.html und DVD-Video Information [mpucoder.com]).
Das Auslesen der Offsets ist einfach in die UDF Routinen hineingebastelt – nicht schön, aber es funktioniert.
libs
Da die meisten Player ihre eigene Kopie von libdvdread
haben, müssen sie individuell gepatcht werden.
VLC verwendet libdvdnav
, welche eine Kopie von
libdvdread
enthält.
Binaries
Gepatchtes libdvdnav für VLC.
Debian
Der Debian MPlayer linkt gegen libdvdread, während der von debian-multimedia.org libdvdnav benutzt und somit auch mit libdvdnav-ifo4 verwendet werden kann.
Linux i386
Die Datei libdvdnav.so.4.0.0 [.sig] herunterladen und im Verzeichnis der Datei:
LD_PRELOAD=./libdvdnav.so.4.0.0 vlc
ausführen. (Auf gut Glück, funktioniert eventuell nicht)
Bugs
Den Patch habe ich mit den DVDs:- Das Parfum
- La Vie en Rose
- Wer früher stirbt ist länger tot
- Das Bourne Ultimatum
Das DVD Menu funktioniert nicht richtig (VLC). Workaround: mit
vlc dvd://@1
abspielen.
Weiter wurde mir gemailt, dass auch folgende Titel funktionieren (Regionalcode 2 wenn nicht anders angegeben):
- Shoot 'Em Up (Code 1)
- Die wilden Hühner und die Liebe
- Brücke nach Terabithia
- Resident Evil: Extiction
- Ratatouille
- 7 Zwerge - der Wald ist nicht genug
- Rush Hour 3
Fragen und Kommentare an <mail@tobias.rautenkranz.ch>.