Lecture d'un dvd crypté sur Toshiba 2770 et Debian

Par R. Suinot: rsuinux@gmx.fr

Contenu


Intro

Depuis un an que j'utilise ce portable (Toshiba 2770), je n'avais pas encore pu lire de dvd, pour la bonne raison que le seul dont je disposais était un dvd crypté (2010, Odysée 2). Le premier essai etait avec Mplayer, mais pas de menu, ni de sous titre, la vidéo en version originale, et le tout 'légèrement' saccadé (quoi que moins que l'essai sous W2000 d'origine). J'ai retenté ces dernières semaines avec xine en paquet debian, mais là, le pluggin nav plantait xine lamentablement, la lecture ne fonctionnait pas (pas de pluggins de décryptage!), bref, la cata. Avant de partir en vacance, et en prévision des jours de pluie, j'ai donc récupéré toutes les sources de xine ainsi que les pluggins, et en avant!


Versions des logiciels

Voici les versions des archives que j'ai utilisée:

Attention: les deux dernier plugin ne sont pas officiel, puisqu'ils servent à décrypter les dvd, ce que vous n'avez pas le droit de faire, mais si vous utilisez windows, vous pouvez... enfin bref, c'est encore et toujours des histoires de copyright qui viennent des USA!


Compilations

La compilation n'a pas posé de gros problèmes. Il faut veiller à les exécuter dans le bonne ordre, bien sur (les lib d'abord!), sinon, vous risquez quelques erreurs!

Dans toutes les archives:

$ ./configure
$ make
$ sudo make install
$ make clean

A noter: la librairie libdvdnav-0.1.2 m'a généré une erreur de syntaxe sur la ligne 389:

	dprintf("libdvdnav:read_cache:pre_cache DVD read realloc happene \n");

Après quelques recherches, j'ai modifié de source (c'est pas propre, mais ça marche!) comme ceci:
	dprintf("libdvdnav:read_cache:pre_cache DVD read realloc happened %d \n", block_count );
Mis à part ceci, il n'y a pas eu de grosse difficultée. J'ai ajouté le chemin des librairies dans /etc/ld.so.conf, puis exécuté sudo /sbin/ldconf plusieur fois, et tout est passé.


Utilisation

D'abord, un petit test:

$ xine-check
Please be patient, this script may take a while to run...
[ good ] you're using Linux, doing specific tests
[ good ] looks like you have a /proc filesystem mounted.
[ good ] You seem to have a reasonable kernel version (2.4.18)
[ good ] intel compatible processor, checking MTRR support
[ good ] you have MTRR support and there are some ranges set.
[ good ] found the player at /usr/local/bin/xine
[ good ] /usr/local/bin/xine is in your PATH
[ good ] found /usr/local/bin/xine-config in your PATH
[ good ] plugin directory /usr/local/lib/xine/plugins exists.
[ good ] found input plugins
[ good ] found demux plugins
[ good ] found decoder plugins
[ good ] found video_out plugins
[ good ] found audio_out plugins
[ good ] skin directory /usr/local/share/xine/skins exists.
[OUCH!!] xine logo not found in /usr/local/share/xine/skins.
         You should probably (re)install xine-ui, as it won't run without logo.
         press  to continue...

[ good ] I even found some skins.
[ good ] /dev/cdrom points to /dev/hdc
[ good ] /dev/dvd points to /dev/hdc
[ good ] DMA is enabled for your DVD drive
[ good ] found xvinfo: X-Video Extension version 2.2
[ good ] your Xv extension supports YUV overlays (improves MPEG performance)
[ good ] your Xv extension supports packed YUV overlays
[ good ] Xv ports:  YUY2 YV12 I420 RV16 RV15 Y211
La ligne marquée OUCH ne gène en rien l'utilisation de xine, mais par contre, si vous en avez ailleur, faite quelques recherche sur www.google.fr pour être sur que cela n'empèchera pas le bon fonctionnement de votre lecteur!

Pour la suite, rien de bien compliqué:

$ xine &
en mode console, au début, cela permet de voir la sortie d'erreur de xine. Après, on peut passer par le menu multimédia (j'utilise gnome).

Pour la lecture, je click sur d5d puis sur lecture, et hop, acces au menu principal. On choisi "play movie" et c'est partie. Pour la langue, soit vous choisissez avant de lancer la lecture, dans le menu langue, soit, pendant la lecture, vous clickez sur 'audio +' (en bas, au milieu, de la facade du pseudo lecteur de dvd). Pareil pour les sous-titres (subs +).

Pour une visualisation du résultat, voyez les copies d'écrans:

Désolé, j'aurais aimer pouvoir vous montrer une copie d'écran AVEC la lecture du dvd en même temps, mais je n'ai pas réussi. Si vous connaissez une astuce, je suis preneur!


Paquets debian

En cherchant bien, vous trouverez dans les différentes souces, un répertoire debian:

$ find -name debian -print
./xine-lib-0.9.12/debian
./xine-ui-0.9.12/debian
./xine-dvdnav-0.9.12/debian
./libdvdnav-0.1.2/debian
Ces répertoires sont prévu pour recompiler les archives 'à la façon debian', ce qui vous permet de garder la hiérarchie debain. Pour les utiliser cette méthode, au lieu du classique './configure make make install', vou devrez, dans chaque répertoire, faire un make clean avant toute chose, si vous aviez déjà tenté de compiler avant. Sinon, vous aurez des problèmes (ce fut mon cas).
Voici la copie des commandes exécutées sur ma machine:
cd xine-lib
fakeroot  ./debian/rules binary
cd ..
dpkg -i ...
cd xine-ui
fakeroot  ./debian/rules binary
cd ..
dpkg -i ...
cd 


Conclusion

C'est excellent!
Mis à part un peu d'instabilité avec la lecture rapide, ou l'avance rapide de chapitre en chapitre, ainsi que l'ignoble rendu du pluggin dvdnav, je suis très heureux de pouvoir lire les dvd. Je vais enfin pouvoir acheter ET regarder les dvd de star trek 'Next Generation'!

Le 01/11/2002:
J'ai récupéré les derniers sources disponible, mais j'ai eu beaucoup d'errurs à la compilation (problèmes au niveau des sources), que j'ai laissé tomber, et je suis resté avec les versions ci dessus.


Mise à jour

J'ai installé sur une machine les même versions que ci dessus répertoiriées, mais avec une carte vidéo ATI Rage 128. Xine fonctionne bien, mais il a fallut procéder à quelques ajustements:

Après ça, tout marche!

De mon côté, j'ai enlevé les binaires et librairies compilés moi même, pour installer les versions 'paquets debian'. Etant en testing/unstable, voilà la liste des paquets installés:

Le seul problème que j'ai eu, a été pour les dvd cryptés (comme d'habitude), et pour y arriver, j'ai été obligé d'installer à la main (dpkg -i ) la libdvdcss2, car apt-get install ne voulait rien savoir.
Le principale, c'est que cela fonctionne!

Depuis quelques temps, la lecture saccadait fort sur mon portable (cf page dédiée) alors que tout fonctionnait quelques temps avant. Mémoire augmenté, en plus! Et après de nombreuses recherches, j'ai trouvé ce qui n'allait pas:
le processeur diminuait sa vitesse pour éviter une surchauffe!!!! J'ai donc créé une crontab qui lance le ventilateur toutes les 5 minutes, et depuis, tout re-fonctionne!




S'il vous arrivait de vous servir de cette doc, envoyez moi un petit mot, merci!