mpv/DOCS/xml/fr/cd-dvd.xml

342 lines
16 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<chapter id="cd-dvd">
<title>Utilisation des CD/DVD</title>
<sect1 id="drives">
<title>Lecteurs CD/DVD</title>
<para>
Extrait de la documentation GNU/Linux :
</para>
<para>
Certains lecteurs de CD-ROM sont capables de changer leur vitesse de lecture.
Il y a plusieurs raisons possibles pour changer cette vitesse:
</para>
<itemizedlist>
<listitem><para>
Il a <20>t<EFBFBD> signal<61> que des lecteurs peuvent commettre des erreurs fr<66>quentes <20>
haute vitesse (surtout avec des CDs mal press<73>s), la diminuer peut alors emp<6D>cher
ces erreurs.
</para></listitem>
<listitem><para>
Ces lecteurs g<>n<EFBFBD>rent souvent un bruit assourdissant, qu'une vitesse r<>duite
peut contribuer <20> diminuer.
</para></listitem>
</itemizedlist>
<para>
Vous pouvez r<>duire la vitesse des lecteurs de CD-ROM IDE avec <command>hdparm</command>
ou avec un programme nomm<6D> <command>setcd</command>. Ils fonctionnent comme cela:
<screen>hdparm -E [vitesse] [p<>riph. cdrom]</screen>
<screen>setcd -x [vitesse] [p<>riph. cdrom]</screen>
</para>
<para>
Vous pouvez <20>galement essayer
<screen>echo vitesse_actuelle:4 &gt; /proc/ide/[p<>riph. cdrom]/settings</screen>
mais vous aurez besoin des privil<69>ges root. La commande suivante peut <20>galement aider:
<screen>echo file_readahead:2000000 &gt; /proc/ide/[p<>riph. cdrom]/settings</screen>
</para>
<para>
pour cr<63>er 2MB de cache du fichier, ce qui est utile pour les CD-Roms endommag<61>s.
Si vous lui donnez une valeur trop haute, le lecteur ne va pas cesser de s'arr<72>ter
et de repartir, ce qui va dramatiquement diminuer les performances. Il est
<EFBFBD>galement recommand<6E> d'optimiser votre lecteur de CD-ROM avec <command>hdparm</command>:
<screen>hdparm -d1 -a8 -u1 <replaceable>p<EFBFBD>riph. cdrom</replaceable></screen>
</para>
<para>
pour permettre l'acc<63>s DMA, le cache en lecture, et l'IRQ unmasking. (lisez la page de
man de <command>hdparm</command> pour plus d'explications).
</para>
<para>
R<EFBFBD>f<EFBFBD>rez vous <20> &quot;<filename>/proc/ide/[p<>riph. cdrom]/settings&quot;</filename>&quot;
pour optimiser correctement votre lecteur CD-ROM.
</para>
<para>
Les lecteurs SCSI n'ont pas une mani<6E>re uniforme de fixer ces param<61>tres (Vous en
connaissez une ? Dites-la nous!) Il y a un outil qui fonctionne pour les
<ulink url="http://das.ist.org/~georg/">Lecteurs SCSI Plextor</ulink>.
</para>
<para>FreeBSD:</para>
<para>Vitesse: <command>cdcontrol [-f p<>riph<70>rique] speed [vitesse]</command></para>
<para>DMA: <command>sysctl hw.ata.atapi_dma=1</command></para>
</sect1>
<sect1 id="dvd">
<title>Lecture de DVDs</title>
<para>
Pour voir la liste compl<70>te des options disponibles, veuillez lire la page de man.
La syntaxe des Digital Versatile Disc (DVD) est la suivante:
<screen>mplayer dvd://<replaceable>&lt;piste&gt;</replaceable> [-dvd-device <replaceable>&lt;p<EFBFBD>riph<EFBFBD>rique&gt;</replaceable>]</screen>
</para>
<para>
Exemple:
<screen>mplayer dvd://1 -dvd-device /dev/hdc</screen>
</para>
<para>
Le p<>riph<70>rique DVD par d<>faut est <filename>/dev/dvd</filename>. Si votre
installation diff<66>re, faites un lien symbolique ou sp<73>cifiez le p<>riph<70>rique
correct en ligne de commande avec l'option <option>-dvd-device</option>.
</para>
<formalpara>
<title>Nouvelle m<>thode de lecture DVD (mpdvdkit2)</title>
<para>
<application>MPlayer</application> utilise <systemitem>libdvdread</systemitem> et
<systemitem>libdvdcss</systemitem> Ces deux biblioth<74>ques sont incluses dans le
sous-r<>pertoire <filename class="directory">libmpdvdkit2/</filename> du r<>pertoire
source de MPlayer, vous n'avez donc pas besoin de les installer s<>par<61>ment. Nous
avons opt<70> pour cette solution car nous devions corriger un bug de
<systemitem>libdvdread</systemitem>, et appliquer un patch qui ajoute
<emphasis role="bold">un cache pour les cl<63>s CSS crack<63>es</emphasis> <20>
<systemitem>libdvdcss</systemitem>. Le r<>sultat est bien plus rapide car les cl<63>s
n'ont pas <20> <20>tre cass<73>es <20> chaque lecture.
</para>
</formalpara>
<para>
<application>MPlayer</application> peut <20>galement utiliser les biblioth<74>ques
globales au syst<73>me <systemitem>libdvdread</systemitem>
et <systemitem>libdvdcss</systemitem> mais cette solution n'est
<emphasis role="bold">pas</emphasis> recommand<6E>e, car elle peut provoquer des
bugs, des incompatibilit<69>s de librairies, et une vitesse moins importante.
</para>
<formalpara>
<title>Navigation DVD (dvdnav)</title>
<para>
Le support pour la navigation DVD via <systemitem>dvdnav</systemitem> <20>tait
d<EFBFBD>velopp<EFBFBD>, mais n'a jamais <20>t<EFBFBD> vraiment fini et n'est actuellement plus maintenu.
Qui sait, il pourrait m<>me compiler.
</para>
</formalpara>
<formalpara>
<title>Ancienne m<>thode de lecture DVD - OPTIONNELLE</title>
<para>
Utile si vous voulez lire des VOBs encod<6F>s depuis le <emphasis role="bold">disque dur</emphasis>.
Compilez et installez <emphasis role="bold">libcss</emphasis> 0.0.1 (pas plus r<>cent) pour cela
(Si MPlayer ne le d<>tecte pas, utilisez l'option <option>-csslib /chemin/de/libcss.so</option>
Pour l'utiliser, vous devez <20>tre root, utilisez un binaire de MPlayer suid root, ou laissez MPlayer
utiliser le wrapper fibmap_mplayer suid-root.
</para>
</formalpara>
<formalpara>
<title>structure d'un DVD</title>
<para>
Les disques DVD utilisent tous des secteurs de 2048 octets par secondes avec ECC/CRC. Ils ont
g<EFBFBD>n<EFBFBD>ralement un syst<73>me de fichier UDF sur une seule piste, qui contient des fichiers vari<72>s (des
petits fichiers .IFO et .BUK et un gros (1Go) fichier .VOB). Ce sont de v<>ritables fichiers et ils
peuvent <20>tre jou<6F>s/copi<70>s depuis le syst<73>me de fichier mont<6E> d'un DVD non-crypt<70>.
</para>
</formalpara>
<para>
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<70>ter le contenu des .VOB (le film). Les
fichiers .BUK sont des backups de ces fichiers. Ils utilisent des <emphasis role="bold">secteurs</emphasis>
partout, donc vous avez besoin d'utiliser un adressage brut des secteurs sur le disque pour impl<70>menter
la navigation DVD. C'est <20>galement requis pour d<>crypter le contenu.
</para>
<para>
L'ensemble de l'ancienne m<>thode de lecture DVD avec <systemitem>libcss</systemitem> <20> donc besoin d'un
syst<EFBFBD>me de fichier DVD mont<6E> et un acc<63>s bas<61> sur les secteurs bruts pour acc<63>der au p<>riph<70>rique.
Malheureusement vous devez <20>tre root (sous Linux) pour obtenir l'adresse du secteur d'un fichier. Vous
avez alors les deux solutions suivantes:
<itemizedlist>
<listitem><para>
Soyez root ou utilisez un binaire de <application>MPlayer</application> suid-root.
</para></listitem>
<listitem><para>
Laissez <application>MPlayer</application> appeler le wrapper fibmap_mplayer suid-root pour acc<63>der
au DVD (utilis<69> dans l'ancienne m<>thode de lecture DVD avec <systemitem>libcss</systemitem>).
</para></listitem>
<listitem><para>
N'utilisez pas le pilote de syst<73>me de fichier du noyau du tout et r<>-impl<70>mentez le dans l'espace
utilisateur. <systemitem>libdvdread</systemitem> 0.9.x et <systemitem>libmpdvdkit</systemitem> le font
(nouvelle m<>thode de lecture DVD). Les pilotes du syst<73>me de fichier udf ne sont pas requis car ils
utilisent leur propre pilote. De plus le dvd n'a pas besoin d'<27>tre mont<6E> puisque l'acc<63>s bas<61> sur les
secteurs bruts est utilis<69>.
</para></listitem>
</itemizedlist>
</para>
<para>
Parfois <filename>/dev/dvd</filename> ne peut <20>tre lu par les utilisateurs, les auteurs de
<systemitem>libdvdread</systemitem> ont donc impl<70>ment<6E> une couche d'<27>mulation qui transforme les
adresses des secteurs en noms de fichier+offsets, pour <20>muler l'acc<63>s brut sur un syst<73>me de fichier
mont<EFBFBD> ou m<>me sur un disque dur.
</para>
<para>
<systemitem>libdvdread</systemitem> accepte m<>me le point de montage au lieu du nom de p<>riph<70>rique
pour l'acc<63>s brut et regarde dans <filename>/proc/mounts</filename> pour obtenir le nom de p<>riph<70>rique.
Il a <20>t<EFBFBD> d<>velopp<70> pour Solaris, o<> les noms de p<>riph<70>riques sont allou<6F>s dynamiquement.
</para>
<para>
Le p<>riph<70>rique DVD par d<>faut est <filename>/dev/dvd</filename>. Si votre installation diff<66>re, faites
un lien symbolique ou sp<73>cifiez le bon p<>riph<70>rique en ligne de commande avec l'option
<option>-dvd-device</option>.
</para>
<formalpara>
<title>Certification DVD</title>
<para>
La nouvelle m<>thode de certification et de d<>cryptage est fait par un <systemitem>libdvdcss</systemitem>
patch<EFBFBD> (voir plus haut). La m<>thode peut <20>tre sp<73>cifi<66>e avec la variable d'environnement <envar>DVDCSS_METHOD</envar>
qui peut <20>tre initialis<69>e <20> <literal>key</literal>, <literal>disk</literal> ou <literal>title</literal>.
</para>
</formalpara>
<para>
Si rien n'est sp<73>cifi<66> il essaie les m<>thodes suivantes (par d<>faut: cl<63>, demande de titre):
</para>
<orderedlist>
<listitem><para>
<emphasis role="bold">cl<EFBFBD> bus</emphasis>: Cette cl<63> est n<>goci<63>e durant la certification (un long mix
d'ioctls et d'<27>changes de cl<63> vari<72>s, trucs de crypto) et est utilis<69> pour crypter le titre et les cl<63>s
disque avant de les envoyer sur un bus non prot<6F>g<EFBFBD> (pour emp<6D>cher les <20>coutes). La cl<63> bus est requise
pour obtenir et d<>crypter les cl<63>s disque crypt<70>es.
</para></listitem>
<listitem><para>
<emphasis role="bold">cl<EFBFBD> mise en cache</emphasis>: <application>MPlayer</application>
cherche une cl<63> d<>j<EFBFBD> crack<63>e dans le r<>pertoire
<filename class="directory">~/.mplayer/DVDKeys</filename> (rapide ;).
</para></listitem>
<listitem><para>
<emphasis role="bold">cl<EFBFBD></emphasis>: Si aucune cl<63> n'est disponible dans le cache,
<application>MPlayer</application> essaie de d<>crypter la cl<63> disque avec un ensemble de cl<63>s incluses.
</para></listitem>
<listitem><para>
<emphasis role="bold">disque</emphasis>: Si la m<>thode cl<63> <20>choue (c-a-d. pas de cl<63>s incluses),
<application>MPlayer</application> va cracker la cl<63> disque avec un algorithme brute force. 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<6E>es. Cette m<>thode devrait toujours fonctionner (lent).
</para></listitem>
<listitem><para>
<emphasis role="bold">demande de titre</emphasis>: Avec les cl<63>s disque <application>MPlayer</application>
demande les cl<63>s titre crypt<70>es, qui sont <20> l'int<6E>rieur de <emphasis>secteurs cach<63>s</emphasis>
en utilisant <systemitem>ioctl()</systemitem>. La protection de r<>gion des lecteurs RPC-2 devrait
op<EFBFBD>rer <20> cette <20>tape et devrait <20>chouer sur ces lecteurs. Si elle r<>ussit, les cl<63>s titre seront
crypt<EFBFBD>es avec les cl<63>s bus et disque.
</para></listitem>
<listitem><para>
<emphasis role="bold">titre</emphasis>: Cette m<>thode est utilis<69> si la demande de titre a <20>chou<6F> et ne
repose sur aucun <20>change de cl<63> avec le lecteur DVD. Il utilise une attaque crypto pour deviner la cl<63>
titre directement (en trouvant un motif r<>p<EFBFBD>t<EFBFBD> dans le contenu VOB d<>cod<6F> et en supposant que le texte
en clair correspondant aux premiers octets crypt<70>s est une continuation de ce motif). Cette m<>thode est
<EFBFBD>galement connue sous le nom de &quot;known plaintext attack&quot; ou &quot;DeCSSPlus&quot;. Dans de
rares cas cela peut <20>chouer car il n'y a pas assez de donn<6E>es crypt<70>es sur le disque pour pour faire
une attaque statistique ou <20> cause des changements de cl<63> au milieu du titre. C'est la seule fa<66>on de
d<EFBFBD>crypter un DVD stock<63> sur le disque dur ou un DVD avec une mauvaise zone sur un lecteur RPC2 (lent).
</para></listitem>
</orderedlist>
<para>
Les lecteurs DVD RPC-1 ne prot<6F>gent les r<>glages de protection de zone que de fa<66>on logicielle. Les
lecteurs RPC-2 ont une protection mat<61>rielle qui ne permet que 5 changements. Il peut <20>tre
requis/recommand<6E> d'upgrader le firmware en RPC-1 si vous avez un lecteur DVD RPC-2. Les upgrades
firmware peuvent <20>tre trouv<75>es sur cette <ulink url="http://www.firmware-flash.com">page de firmware</ulink>.
Si il n'y a pas d'upgrade de firmware disponible pour votre p<>riph<70>rique, utilisez l'
<ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz">outil de r<>glage de zone</ulink>
pour changer le code de zone de votre lecteur DVD (sous Linux).
<emphasis role="bold">Attention</emphasis>: Vous ne pouvez r<>gler la zone que 5 fois.
</para>
</sect1>
<sect1 id="vcd">
<title>Lecture de VCDs</title>
<para>
Pour voir la liste compl<70>te des options disponibles, veuillez lire la page de man.
La syntaxe pour un Video CD standard (VCD) est la suivante:
<screen>mplayer vcd://<replaceable>&lt;piste&gt;</replaceable> [-cdrom-device <replaceable>&lt;p<EFBFBD>riph<EFBFBD>rique&gt;</replaceable>]</screen>
Exemple:
<screen>mplayer vcd://2 -cdrom-device /dev/hdc</screen>
Le p<>riph<70>rique VCD par d<>faut est <filename>/dev/cdrom</filename>. Si votre installation diff<66>re,
faites un lien symbolique ou sp<73>cifiez le bon p<>riph<70>rique en ligne de commande avec l'option
<option>-cdrom-device</option>.
</para>
<note><para>
Au moins les CD-ROM SCSI Plextor et certains Toshiba ont d'horribles performances durant la lecture
de VCDs. C'est parce que l'<systemitem>ioctl</systemitem> CDROMREADRAW n'est pas compl<70>tement
impl<EFBFBD>ment<EFBFBD> pour ces lecteurs. Si vous avez des connaissances dans la programmation SCSI, merci de
<ulink url="../../tech/patches.txt">nous aider</ulink> <20> impl<70>menter un support SCSI g<>n<EFBFBD>rique pour
les VCDs.
</para></note>
<para>
<EFBFBD> ce propos vous pouvez extraire des donn<6E>es d'un VCD avec
<ulink url="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/">readvcd</ulink>
et lire le fichier obtenu avec <application>MPlayer</application>.
</para>
<formalpara>
<title>Structure d'un VCD</title>
<para>Les disques VCD contiennent une piste ou plus:</para>
</formalpara>
<itemizedlist>
<listitem><para>
La premi<6D>re piste est une petite piste de donn<6E>e de 2048 octets/secteur, avec un syst<73>me de fichier
iso9660, contenant g<>n<EFBFBD>ralement les lecteur de VCD Windows et peut-<2D>tre d'autres infos(jpegs, texte, etc).
</para></listitem>
<listitem><para>
La seconde piste et les suivantes sont des pistes MPEG brutes (film) <20> 2324 octets/secteur, contenant
des paquets de donn<6E>es MPEG PS au lieu d'un syst<73>me de fichier. Similaires <20> des pistes audio, elles
<emphasis role="bold">ne peuvent <20>tre mont<6E>es</emphasis> (Avez-vous d<>j<EFBFBD> mont<6E> un CD audio pour le
lire ?). Comme la plupart des films sont sur cette piste, vous devriez essayer <option>vcd://2</option>
en premier.
</para></listitem>
<listitem><para>
Il existe <20>galement certains disques VCD sans la premi<6D>re piste (une seule piste et pas de syst<73>me de
fichier du tout). Ils sont quand m<>me lisibles, mais ne peuvent pas <20>tre mont<6E>s.
</para></listitem>
</itemizedlist>
<formalpara>
<title>A propos des fichiers .DAT:</title>
<para>
Le fichier de ~600 Mo visible sur la premi<6D>re piste d'un vcd mont<6E> n'est pas un vrai fichier! C'est
ce qu'on appelle une passerelle iso, cr<63><72>e pour permettre <20> Windows de g<>rer de telles pistes (Windows
n'autorise pas l'acc<63>s brut au p<>riph<70>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 <20>mule
la lecture brute des pistes dans ce fichier. Pour lire un fichier .DAT vous avez besoin un pilote noyau
qui peut <20>tre trouv<75> dans la version Linux de PowerDVD. Il poss<73>de un pilote de syst<73>me de fichier
iso9660 modifi<66> (<filename>vcdfs/isofs-2.4.X.o</filename>), qui est capable d'<27>muler les pistes brutes
au travers de ce fichier .DAT fant<6E>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 <emphasis role="bold">fonctionnera pas</emphasis>
avec le pilote iso9660 standard du noyau! Il est recommand<6E> d'utiliser l'option <option>vcd://</option>
<EFBFBD> la place. D'autres possibilit<69>s pour la copie de VCD sont le nouveau pilote noyau
<ulink url="http://www.elis.rug.ac.be/~ronsse/cdfs/">cdfs</ulink> (qui ne fait pas partie du noyau
officiel) qui montre les sessions du CD en temps que fichiers image) et
<ulink url="http://cdrdao.sourceforge.net/">cdrdao</ulink>, une application d'enregistrement/copie
bit-a-bit).
</para>
</formalpara>
</sect1>
</chapter>