language

libdvdread

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

libdvdnav-ifo4 für VLC

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: getested; DVDs, welche zuvor schon abspielbar waren, sollten natürlich weiterhin gehen, wenn nicht, habe ich es kaputt gemacht.

Weiter wurde mir gemailt, dass auch folgende Titel funktionieren (Regionalcode 2 wenn nicht anders angegeben):

Fragen und Kommentare an <mail@tobias.rautenkranz.ch>.