4.2. Lecture de DVD

Pour voir la liste complète des options disponibles, veuillez lire la page de man. La syntaxe pour lire un Digital Versatile Disc (DVD) est la suivante :

mplayer dvd://<piste> [-dvd-device <périphérique>]

Exemple :

mplayer dvd://1 -dvd-device /dev/hdc

Si vous avez compilé MPlayer avec la gestion de dvdnav, la syntaxe est la même, sauf que que vous devrez utiliser dvdnav:// au lieu de dvd://.

Le périphérique DVD par défaut est /dev/dvd. Si votre configuration est différente, faites un lien symbolique (symlink) ou spécifiez le bon périphérique en ligne de commande avec l'option -dvd-device.

MPlayer utilise libdvdread et libdvdcss pour le décryptage et la lecture de DVD. Ces deux bibliothèques sont contenues dans le répertoire source de MPlayer, vous n'avez donc pas besoin de les installer séparément. Vous pouvez aussi utiliser les versions de ces deux bibliothèques qui sont peut-être déjà présentes sur votre système, mais cette solution n'est pas recommandée, dans la mesure où elle peut provoquer des bogues, des incompatibilités de bibliothèque et une vitesse réduite.

Note

En cas de problème de décodage de DVD, essayez de désactiver supermount, ou tous les outils de ce genre. Certains lecteurs RPC-2 peuvent aussi nécessiter le réglage de leur code de région.

Structure d'un DVD.  Les disques DVD utilisent tous des secteurs de 2048 octets par secteur avec ECC/CRC. Ils ont généralement un système de fichier UDF sur une seule piste, qui contient divers fichiers (des petits fichiers .IFO et .BUK et de gros (1Go) fichiers .VOB). Ce sont de véritables fichiers et ils peuvent être joués/copiés depuis le système de fichier monté d'un DVD non-crypté.

Les fichiers .IFO contiennent les infos de navigation dans le film (carte des chapitres/titres/angles, table des langues, etc) et sont requis pour lire et interpréter le contenu des .VOB (le film). Les fichiers .BUK sont des backups de ces fichiers. Ils utilisent des secteurs partout, donc vous avez besoin d'utiliser un adressage brut des secteurs sur le disque pour implémenter la navigation DVD. C'est également requis pour décrypter le contenu.

Le support DVD nécessite un accès brut aux secteurs du périphérique. Malheureusement, vous devez (sous Linux) être root pour avoir accès aux adresses des secteurs d'un fichier. C'est pourquoi nous n'utilisons pas du tout le pilote de système de fichier du noyau, à la place nous l'avons réimplémenté dans l'espace utilisateur. libdvdread 0.9.x fait cela. Le pilote pour le système de fichier UDF du noyau n'est pas requis puisqu'ils ont déjà leur pilote UDF incorporé. De plus le DVD n'a pas besoin d'être monté étant donné que seul l'accès brut aux secteurs est utilisé.

Parfois /dev/dvd ne peut être lu par les utilisateurs; les auteurs de libdvdread ont donc implémenté une couche d'émulation qui transforme les adresses des secteurs en noms de fichier+offsets, pour émuler l'accès brut par-dessus un système de fichier monté ou même un disque dur.

libdvdread accepte même le point de montage au lieu du nom de périphérique pour l'accès brut et regarde dans /proc/mounts pour obtenir le nom de périphérique. Il a été développé pour Solaris, où les noms de périphériques sont alloués dynamiquement.

Décodage DVD.  Le décodage DVD est réalisé par libdvdcss. La méthode peut être spécifiée par la variable d'environnement DVDCSS_METHOD. Voir le manuel pour plus de détails.

Les lecteurs DVD RPC-1 ne protègent les réglages de protection de région que de façon logicielle. Les lecteurs RPC-2 ont une protection matérielle qui ne permet que 5 changements. Il peut être requis/recommandé de mettre à niveau le firmware en RPC-1 si vous avez un lecteur DVD RPC-2. Vous pouvez essayer de trouver des mises à jour de firmware pour votre lecteur sur internet. Ce forum sur les firmware est sans doute un bon point de départ pour vos recherches. Si il n'y a pas de mise à niveau de firmware disponible pour votre périphérique, utilisez l'outil de réglage de région pour changer le code de région de votre lecteur DVD (sous Linux). Attention : Vous ne pouvez changer la région que 5 fois.