view DOCS/French/cd-dvd.html @ 8501:97ebc535a60a

sync
author nicolas
date Fri, 20 Dec 2002 20:32:15 +0000
parents 212b54e0d10f
children bdb4d5f33cf5
line wrap: on
line source

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>

<HEAD>
  <TITLE>CD, DVD, VCD - MPlayer - Le Lecteur Multimédia pour Linux</TITLE>
  <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>

<BODY>


<H2><A NAME="drives">4.1 lecteurs CD/DVD</A></H2>

<P>Extrait de la documentation GNU/Linux :</P>

<P>Certains lecteurs de CD-ROM sont capables de changer leur vitesse de lecture. 
Il y a plusieurs raisons possibles pour changer cette vitesse:</P>

<UL>
  <LI>Il a été signalé que des lecteurs peuvent commettre des erreurs fréquentes
  à leur pleine vitesse (surtout avec des CDs mal pressés), la diminuer peut alors
   empêcher ces erreurs.</LI>
  <LI>ces lecteurs génèrent souvent un bruit assourdissant, qu'une vitesse réduite 
  peut contribuer à diminuer.</LI>
</UL>

<P>Vous pouvez réduire la vitesse du lecteur avec hdparm ou avec un programme nommé setcd.
  Utilisation:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -E [vitesse] [périph. cdrom]</CODE></P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>setcd -x [vitesse] [périph. cdrom]</CODE></P>

<P>Vous pouvez également essayer</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo current_speed:4 &gt; /proc/ide/[périph. cdrom]/settings</CODE></P>

<P>mais vous aurez besoin des privilèges root. La commande suivante peut également aider:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>echo file_readahead:2000000 &gt; /proc/ide/[périph. cdrom]/settings</CODE></P>

<P>pour créer 2MB de cache du fichier, ce qui est utile pour les CD-Roms endommagés.
  Si vous lui donnez une valeur trop haute, le lecteur ne va pas arréter de s'arréter et de repartir,
  ce qui va dramatiquement diminuer les performances.
  Il est également recommandé d'optimiser votre lecteur de CD-Roms avec hdparm:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>hdparm -d1 -a8 -u1 (périph. cdrom)</CODE></P>

<P>pour permettre l'accès DMA, le cache en lecture, et l'IRQ unmasking. (lisez la page de man pour plus d'explications).</P>

<P>Référez vous à "<CODE>/proc/ide/[périph. cdrom]/settings</CODE>" pour optimiser correctement votre
lecteur CD-ROM</P>

<P>FreeBSD:</P>

<P>&nbsp;&nbsp;&nbsp;&nbsp;Vitesse: <CODE>cdcontrol [-f périph.] speed [vitesse]</CODE></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;DMA: <CODE>sysctl hw.ata.atapi_dma=1</CODE></P>


<H2><A NAME="dvd">4.2. Lecture de DVDs</A></H2>

<P>Pour voir la liste complète des options disponibles, veuillez lire la page de man.</P>

<H4>Nouvelle méthode de lecture DVD (mpdvdkit2)</H4>

<P>MPlayer utilise <CODE>libdvdread</CODE> et <CODE>libdvdcss</CODE> pour
  le décryptage et la lecture des DVDs. Ces deux bibliothèques sont incluses 
  dans le sous-répertoire <CODE>libmpdvdkit2/</CODE> du répertoire source de 
  MPlayer, vous n'avez donc pas besoin de les installer séparement. Nous avons 
  opté pour cette solution car nous devions corriger un bug de libdvdread, et 
  appliquer un patch qui ajoute <B>un cache pour les clés CSS crackées</B> à libdvdcss. 
  Le résultat est bien plus rapide car les clés n'ont pas à être cassé à chaque lecture.</P>

<P>MPlayer peut également utiliser les bibliothèques globales au système <CODE>libdvdread</CODE> et
  <CODE>libdvdcss</CODE>, mais cette solution n'est <B>pas</B> recommandée,
  car elle peut provoquer des bugs, des incompatibilités de bibliothèques, 
  et une vitesse moins importante.</P>

<H4>Navigation DVD (dvdnav)</H4>

<P>Le support pour la navigation DVD via <CODE>dvdnav</CODE> était développé, mais
  n'a jamais été vraiment fini et n'est donc <B>pas recommandé</B>!</P>

<H4>Ancienne méthode de lecture DVD - OPTIONNELLE</H4>

<P>Utile si vous voulez lire des VOBs encodés depuis le <B>disque dur</B>.
  Compilez et installez <B>libcss</B> 0.0.1 (pas plus récent) pour cela
  (Si MPlayer ne le détecte pas, utilisez l'option <CODE>-csslib /chemin/de/libcss.so</CODE>).
  Pour l'utiliser, vous devez être root, utilisez un binaire de MPlayer suid root, ou
  laissez MPlayer utiliser le wrapper fibmap_mplayer suid-root.</P>

<H4>structure d'un DVD</H4>

<P>Les disques DVD utilisent tous des secteurs de 2048 o/s avec ecc/crc. Ils ont généralement
  un système de fichier UDF sur une seule piste, qui contient des fichiers variés
  (des petits fichiers .IFO et .BUK et un gros (1Go) fichier .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é.</P>

<P>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 <B>secteur</B> 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.</P>

<P>L'ensemble de l'ancienne méthode de lecture DVD avec libcss à donc besoin d'un
  système de fichier DVD monté et un accès basé sur les secteurs bruts pour accéder
  au périphérique. Malheureusement vous devez être root (sous Linux) pour obtenir l'adresse 
  du secteur d'un fichier. Vous avez alors les deux solutions suivantes:</P>

<UL>
  <LI>Forcez l'utilisateur à être root ou utilisez un binaire de mplayer suid-root.</LI>
  <LI>Laissez MPlayer appeler le wrapper fibmap_mplayer suid-root pour accéder
    au DVD (utilisé dans l'ancienne méthode de lecture DVD avec libcss).</LI>
  <LI>N'utilisez pas le pilote de système de fichier du noyau du tout et ré-implémentez
    le dans l'espace utilisateur. libdvdread 0.9.x et libmpdvdkit le font (nouvelle
    méthode de lecture DVD). Les pilotes du système de fichier udf ne sont pas requis
    car ils utilisent leur propre pilote. De plus le dvd n'a pas besoin d'être
    monté puisque l'accès basé sur les secteurs bruts est utilisé.</LI>
</UL>

<P>Parfois /dev/dvd ne peut être lu par les utilisateurs, les auteurs de libdvdread ont donc
  implementé une couche d'émulation qui transfère les adresses des secteurs en
  noms de fichier+offsets, pour émuler l'accès brut sur un système de fichier monté
  ou même sur un disque dur.</P>

<P>libdvdread accepte même le point de montage au lieu du nom de péripérique pour
  l'accès brut et regarde dans <CODE>/proc/mounts</CODE> 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.</P>

<P>Le périphérique DVD par défaut est <CODE>/dev/dvd</CODE>. Si votre installation
  diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de
  commande avec l'option <CODE>-dvd-device</CODE>.</P>

<H4>Certification DVD</H4>

<P>La nouvelle méthode de certification et de décryptage est fait par un libdvdcss
  patché (voir plus haut). La méthode peut être spécifiée avec la variable 
  d'environnement <CODE>DVDCSS_METHOD</CODE> qui peut être initialisée à
  <CODE>key</CODE>, <CODE>disk</CODE> ou <CODE>title</CODE>.</P>

<P>Si rien n'est spécifié il essaie les méthodes suivantes
  (par défaut: clé, demande de titre):</P>

<OL>
  <LI><B>clé bus:</B> Cette clé est négociée durant la certification (un long mix
    d'ioctls et d'échanges de clé variés, trucs de crypto) et est utilisé pour crypter
    le titre et les clés disque avant de les envoyer sur un bus non protégé
    (pour empêcher les écoutes). La clé bus est requise pour obtenir et décrypter
    les clés disque cryptées.</LI>
  <LI><B>clé mise en cache:</B> MPlayer cherche une éventuelle clé déjà crackée
    dans le répertoire <CODE>~/.mplayer/DVDKeys</CODE> (rapide;).</LI>
  <LI><B>clé:</B> Si aucune clé n'est disponible dans le cache, MPlayer essaie de
    décrypter la clé disque avec un ensemble de clés incluses.</LI>
  <LI><B>disque:</B> Si la méthode clé échoue (c-a-d. pas de clés incluses),
    MPlayer va cracker la clé disque avec un algorithme <I>brute force</I>.
    Ce processus est intensif pour le CPU et requiert 60 Mo de mémoire (table
    de hachage 32bit de 16M) pour stocker temporairement les données. Cette
    méthode devrait toujours fonctionner (lent).</LI>
  <LI><B>demande de titre:</B> Avec les clés disque MPlayer demande les clés titre 
    cryptées, qui sont à l'intérieur de <I>secteurs cachés</I> en utilisant
    <CODE>ioctl()</CODE>. La protection de région des lecteurs RPC-2 devrait
    opérer à cette étape et devrait échouer sur ces lecteurs. Si elle réussit, les
    clés titre seront cryptées avec les clés bus et disque.</LI>
  <LI><B>titre:</B> Cette méthode est utilisé si la demande de titre a échoué et ne
    repose sur aucun échange de clé avec le lecteur DVD. Il utilise une attaque crypto
    pour deviner la clé titre directement (en trouvant un motif répété dans le
    contenu VOB décodé et en supposant que le texte en clair des premiers octets
    cryptés est une continuation de ce motif).
    Cette méthode est également connue sous le nom de "known plaintext attack" 
    ou "DeCSSPlus". Dans de rares cas cela peut échouer car il n'y a pas assez
    de données cryptées sur le disque pour pour faire une attaque statistique
    ou à cause des changements de clé au milieu du titre. D'un autre côté c'est
    la seule façon de décrypter un DVD stocké sur le disque dur ou un DVD avec
    une mauvaise zone sur un lecteur RPC2 (lent).</LI>
 </OL>

<P>Les lecteurs DVD RPC-1 n'ont que des réglages de protection de zone par lecteur
  DVD logiciel. Les lecteurs RPC-2 ont une protection matérielle qui ne permet que
  5 changements. Il peut être requis/recommandé d'upgrader le firmware en RPC-1
  si vous avez un lecteur DVD RPC-2. Les upgrades firmware peuvent être trouvées
  <A HREF="http://perso.club-internet.fr/farzeno/firmware/">ici</A>. Si il n'y a
  pas d'upgrade de firmware disponible pour votre périphérique, utilisez l'
  <A HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">outil de 
  réglage de zone</A> pour changer le code de zone de votre lecteur DVD (sous Linux).
  <B>Attention:</B> Vous ne pouvez régler la zone que 5 fois.</P>


<H2><A NAME="vcd">4.3 Lecture de VCDs</A></H2>

<P>Pour voir la liste complète des options disponibles, veuillez lire la page de man.
  La syntaxe pour un Video CD standard (VCD) est la suivante:
  <CODE>mplayer -vcd &lt;track&gt; [-cdrom-device &lt;périph.&gt;]</CODE>.<BR>
  Exemple: <CODE>mplayer -vcd 2 -cdrom-device /dev/hdc</CODE></P>

<H4>Structure d'un VCD</H4>

<P>Les disques VCD consistent en 2 pistes ou plus:</P>

<UL>
  <LI>La première piste est une piste de donnée à 2048 octets/secteur de quelques
    Mo, avec un système de fichier iso9660, contenant généralement les lecteur de
    VCD Win32 et peut-être d'autres infos(jpegs, texte, etc).</LI>
  <LI>La seconde piste et les suivantes sont des pistes mpeg brutes à 2324
    octets/secteur, sans aucun système de fichier ormis des données brutes mpeg ps
    un paquet par secteur. Elles contiennent le(s) film(s)...Les pistes <B>ne
    peuvent être montées</B>! Elles sont similaires à des pistes audio (vous
    n'avez jamais monté un cd audio pour le lire, non ? Non).
    Comme la plupart des films sont sur la deuxième piste, vous devriez essayer
    <CODE>-vcd 2</CODE> en premier.</LI>
  <LI>Il existe également certains disques VCD sans première piste (une seule
    piste et pas de système de fichier du tout). Ils sont quand même lisibles,
    mais ne peuvent pas être montés.</LI>
</UL>

<P>A propos des fichiers .DAT:</P>

<P>Le fichier de ~600 Mo visible sur la première piste d'un vcd monté n'est
  pas un vrai fichier! C'est ce qu'on appelle une passerelle iso, créée pour
  permettre à Windows de gérer de telles pistes (Windows n'autorise pas l'accès
  brut au périphérique du tout). Sous linux, vous ne pouvez pas copier ou lire
  de telles pistes (elle contiennent des ordures). Sous Windows c'est possible
  car son pilote iso9660 émule la lecture brute des pistes dans ce fichier. Pour
  lire un fichier .DAT vous avez besoin un pilote noyau qui peut être trouvé
  dans la version Linux de PowerDVD. Il possède un pilote de système de fichier
  iso9660 modifié (vcdfs/isofs-2.4.X.o), qui est capable d'émuler les pistes brutes
  au travers de ce fichier .DAT fantôme. Si vous montez le disque en utilisant
  leur pilote, vous pouvez copier et même lire les fichiers .DAT avec mplayer.
  Mais cela ne <B>fonctionnera pas</B> avec le pilote iso9660 standard du noyau!
  Il est recommandé d'utiliser l'option <CODE>-vcd</CODE> à la place. D'autres
  possibilités pour la copie de VCD sont le nouveau pilote noyau cdfs
  (montre les <I>sessions</I> du CD en temps que fichiers image) et cdrdao
  (une application d'enregistrement/copie bit-a-bit).</P>

<P>Le périphérique VCD par défaut est <CODE>/dev/cdrom</CODE>. Si votre installation
  diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de
  commande avec l'option <CODE>-cdrom-device</CODE>.</P>

</BODY>
</HTML>