Mit VLC unter Linux CSS verschlüsselte DVDs betrachten. libdvdcss

Will man mit einem aus den Standardrepositories installiertem VLC-Player unter Ubuntu 10.04 eine CSS verschlüsselte DVD betrachten, so bekommt man nicht etwa die DVD zu sehen, sondern auf der Konsole folgende Ausgabe:

daniel@home:~$ cvlc /media/DVD_VIDEO/
VLC media player 1.0.6 Goldeneye
[0x1940158] dummy interface: using the dummy interface module...
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Encrypted DVD support unavailable.
************************************************
** No css library available. See **
** /usr/share/doc/libdvdread4/README.Debian **
** for more information. **
************************************************
libdvdread: Attempting to use device /dev/sr1 mounted on /media/DVD_VIDEO for CSS authentication
libdvdnav: Can't read name block. Probably not a DVD-ROM device.
libdvdnav: Unable to find map file '/home/daniel/.dvdnav/.map'
libdvdnav: DVD disk reports itself with Region mask 0x00f50000. Regions: 2 4
[0x7f2a34001968] main input error: ES_OUT_RESET_PCR called
[0x7f2a34001968] main input error: ES_OUT_RESET_PCR called
[0x7f2a34001968] main input error: ES_OUT_RESET_PCR called
[0x7f2a34001968] main input error: ES_OUT_RESET_PCR called
^C[0x1917f28] signals interface error: Caught Interrupt signal, exiting...

Hintergrund hierfür ist die fehlende Library libdvdcss. Standardmäßig ist diese Library aus Angst vor Rechtsstreitigkeiten nicht bei Ubuntu mit dabei, da sie mittels einem Brute-Force-Angriff den CSS-Schlüssel knackt. Normale DVD-Player haben einen bestimmten Chip auf dem Board in welchem ein Entschlüsselungskey enthalten ist. Die Hersteller der Boards zahlen deshalb Lizenzgebühren an den Hersteller des CSS-Verschlüsselungsstandards. Schon pervers, der Hersteller definiert die Verschlüsselung und kann dann die Hardwarehersteller mit Hinweis auf die Kompatibilität um Lizenzgebühren erpressen 👿 .

Hier jetzt wie man libdvdcss nachträglich installiert. Dazu habe ich mal ein kleines Bash-Script geschrieben, das den Sourcode herunterlädt, compiliert und installiert – nicht schön, aber es funktioniert:

#!/bin/bash
wget http://download.videolan.org/pub/libdvdcss/1.2.10/libdvdcss-1.2.10.tar.gz
tar xfvz libdvdcss-1.2.10.tar.gz
cd ./libdvdcss-1.2.10
./configure --prefix=/usr
make
sudo make install
cd ..
rm -rf ./libdvdcss-1.2.10
rm libdvdcss-1.2.10.tar.gz

Nach alledem sollte das Abspielen einer CSS geschützen DVD auf der Konsole dann in etwas so ausschauen:

daniel@home:~$ cvlc /media/DVD_VIDEO/
VLC media player 1.0.6 Goldeneye
[0x1e83c58] dummy interface: using the dummy interface module...
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Using libdvdcss version 1.2.10 for DVD access
libdvdread: Attempting to use device /dev/sr1 mounted on /media/DVD_VIDEO for CSS authentication
libdvdnav: Can't read name block. Probably not a DVD-ROM device.
libdvdnav: Unable to find map file '/home/daniel/.dvdnav/.map'
libdvdnav: DVD disk reports itself with Region mask 0x00f50000. Regions: 2 4
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000158
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x000001c6
[...]
libdvdread: Elapsed time 2

Hier etwas Lesestoff Libdvdcss, Content Scramblink System, DeCSS und am Schluss noch einen Link zu Niko, der erklärt auf seinem Blog, wie man ein .deb Paket aus dem Sourcecode erstellt, dass man dann normal installieren kann.

7 thoughts on “Mit VLC unter Linux CSS verschlüsselte DVDs betrachten. libdvdcss”

  1. Danke, musste als Laie einige Zeit suchen, mit Deinem Skript hat’s dann endlich geklappt.

  2. Vielen vielen Dank, hab ewig herumprobiert und nix hat funktioniert, jetzt kann ich endlich DVDs schauen, das letzte was mir beim Einrichten von meinem neuen Ubuntu System gefehlt hat 🙂

  3. Danke für das Script. Jetzt kann ich zumindest mit einem Player schon mal DVDs abspielen. Ob das mit legalen Bluerays auch klappt?

Leave a Reply

Your email address will not be published. Required fields are marked *