2002-12-06 01:45:39 +00:00
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2001-10-18 11:48:46 +00:00
|
|
|
|
<HTML>
|
|
|
|
|
|
2002-12-06 01:45:39 +00:00
|
|
|
|
<HEAD>
|
|
|
|
|
<TITLE>CD, DVD, VCD - MPlayer - Le Lecteur Multim<69>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>
|
2001-10-18 11:48:46 +00:00
|
|
|
|
|
2002-12-06 01:45:39 +00:00
|
|
|
|
<BODY>
|
2001-10-18 11:48:46 +00:00
|
|
|
|
|
|
|
|
|
|
2002-12-06 01:45:39 +00:00
|
|
|
|
<H2><A NAME="drives">4.1 lecteurs CD/DVD</A></H2>
|
2001-10-18 11:48:46 +00:00
|
|
|
|
|
|
|
|
|
<P>Extrait de la documentation GNU/Linux :</P>
|
|
|
|
|
|
2002-12-06 01:45:39 +00:00
|
|
|
|
<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 <20>t<EFBFBD> signal<61> que des lecteurs peuvent commettre des erreurs fr<66>quentes
|
|
|
|
|
<20> leur pleine vitesse (surtout avec des CDs mal press<73>s), la diminuer peut alors
|
|
|
|
|
emp<6D>cher ces erreurs.</LI>
|
|
|
|
|
<LI>ces lecteurs g<>n<EFBFBD>rent souvent un bruit assourdissant, qu'une vitesse r<>duite
|
|
|
|
|
peut contribuer <20> diminuer.</LI>
|
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
|
|
<P>Vous pouvez r<>duire la vitesse du lecteur avec hdparm ou avec un programme nomm<6D> setcd.
|
|
|
|
|
Utilisation:</P>
|
|
|
|
|
|
|
|
|
|
<P> <CODE>hdparm -E [vitesse] [p<>riph. cdrom]</CODE></P>
|
|
|
|
|
|
|
|
|
|
<P> <CODE>setcd -x [vitesse] [p<>riph. cdrom]</CODE></P>
|
|
|
|
|
|
|
|
|
|
<P>Vous pouvez <20>galement essayer</P>
|
|
|
|
|
|
|
|
|
|
<P> <CODE>echo current_speed:4 > /proc/ide/[p<>riph. cdrom]/settings</CODE></P>
|
|
|
|
|
|
|
|
|
|
<P>mais vous aurez besoin des privil<69>ges root. La commande suivante peut <20>galement aider:</P>
|
|
|
|
|
|
|
|
|
|
<P> <CODE>echo file_readahead:2000000 > /proc/ide/[p<>riph. cdrom]/settings</CODE></P>
|
|
|
|
|
|
2002-12-20 20:32:15 +00:00
|
|
|
|
<P>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 arr<72>ter de s'arr<72>ter et de repartir,
|
|
|
|
|
ce qui va dramatiquement diminuer les performances.
|
|
|
|
|
Il est <20>galement recommand<6E> d'optimiser votre lecteur de CD-Roms avec hdparm:</P>
|
2002-12-06 01:45:39 +00:00
|
|
|
|
|
|
|
|
|
<P> <CODE>hdparm -d1 -a8 -u1 (p<>riph. cdrom)</CODE></P>
|
|
|
|
|
|
|
|
|
|
<P>pour permettre l'acc<63>s DMA, le cache en lecture, et l'IRQ unmasking. (lisez la page de man pour plus d'explications).</P>
|
|
|
|
|
|
|
|
|
|
<P>R<EFBFBD>f<EFBFBD>rez vous <20> "<CODE>/proc/ide/[p<>riph. cdrom]/settings</CODE>" pour optimiser correctement votre
|
|
|
|
|
lecteur CD-ROM</P>
|
|
|
|
|
|
|
|
|
|
<P>FreeBSD:</P>
|
|
|
|
|
|
|
|
|
|
<P> Vitesse: <CODE>cdcontrol [-f p<>riph.] speed [vitesse]</CODE></P>
|
|
|
|
|
<P> 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<70>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<74>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<70> pour cette solution car nous devions corriger un bug de libdvdread, et
|
|
|
|
|
appliquer un patch qui ajoute <B>un cache pour les cl<63>s CSS crack<63>es</B> <20> libdvdcss.
|
|
|
|
|
Le r<>sultat est bien plus rapide car les cl<63>s n'ont pas <20> <20>tre cass<73> <20> chaque lecture.</P>
|
|
|
|
|
|
|
|
|
|
<P>MPlayer peut <20>galement utiliser les biblioth<74>ques globales au syst<73>me <CODE>libdvdread</CODE> et
|
|
|
|
|
<CODE>libdvdcss</CODE>, mais cette solution n'est <B>pas</B> recommand<6E>e,
|
|
|
|
|
car elle peut provoquer des bugs, des incompatibilit<69>s de biblioth<74>ques,
|
|
|
|
|
et une vitesse moins importante.</P>
|
|
|
|
|
|
|
|
|
|
<H4>Navigation DVD (dvdnav)</H4>
|
|
|
|
|
|
|
|
|
|
<P>Le support pour la navigation DVD via <CODE>dvdnav</CODE> <20>tait d<>velopp<70>, mais
|
|
|
|
|
n'a jamais <20>t<EFBFBD> vraiment fini et n'est donc <B>pas recommand<6E></B>!</P>
|
|
|
|
|
|
|
|
|
|
<H4>Ancienne m<>thode de lecture DVD - OPTIONNELLE</H4>
|
|
|
|
|
|
|
|
|
|
<P>Utile si vous voulez lire des VOBs encod<6F>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 <20>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<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>.</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<70>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<70>menter la navigation
|
|
|
|
|
DVD. C'est <20>galement requis pour d<>crypter le contenu.</P>
|
|
|
|
|
|
|
|
|
|
<P>L'ensemble de l'ancienne m<>thode de lecture DVD avec libcss <20> donc besoin d'un
|
|
|
|
|
syst<73>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:</P>
|
|
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
|
<LI>Forcez l'utilisateur <20> <20>tre root ou utilisez un binaire de mplayer suid-root.</LI>
|
|
|
|
|
<LI>Laissez MPlayer appeler le wrapper fibmap_mplayer suid-root pour acc<63>der
|
|
|
|
|
au DVD (utilis<69> dans l'ancienne m<>thode de lecture DVD avec libcss).</LI>
|
|
|
|
|
<LI>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. libdvdread 0.9.x et libmpdvdkit 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>.</LI>
|
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
|
|
<P>Parfois /dev/dvd ne peut <20>tre lu par les utilisateurs, les auteurs de libdvdread ont donc
|
|
|
|
|
implement<6E> une couche d'<27>mulation qui transf<73>re 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<6E>
|
|
|
|
|
ou m<>me sur un disque dur.</P>
|
|
|
|
|
|
|
|
|
|
<P>libdvdread accepte m<>me le point de montage au lieu du nom de p<>rip<69>rique pour
|
|
|
|
|
l'acc<63>s brut et regarde dans <CODE>/proc/mounts</CODE> 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.</P>
|
|
|
|
|
|
|
|
|
|
<P>Le p<>riph<70>rique DVD par d<>faut est <CODE>/dev/dvd</CODE>. 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 <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<63> (voir plus haut). La m<>thode peut <20>tre sp<73>cifi<66>e avec la variable
|
|
|
|
|
d'environnement <CODE>DVDCSS_METHOD</CODE> qui peut <20>tre initialis<69>e <20>
|
|
|
|
|
<CODE>key</CODE>, <CODE>disk</CODE> ou <CODE>title</CODE>.</P>
|
|
|
|
|
|
|
|
|
|
<P>Si rien n'est sp<73>cifi<66> il essaie les m<>thodes suivantes
|
|
|
|
|
(par d<>faut: cl<63>, demande de titre):</P>
|
|
|
|
|
|
|
|
|
|
<OL>
|
|
|
|
|
<LI><B>cl<EFBFBD> bus:</B> 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.</LI>
|
|
|
|
|
<LI><B>cl<EFBFBD> mise en cache:</B> MPlayer cherche une <20>ventuelle cl<63> d<>j<EFBFBD> crack<63>e
|
|
|
|
|
dans le r<>pertoire <CODE>~/.mplayer/DVDKeys</CODE> (rapide;).</LI>
|
|
|
|
|
<LI><B>cl<EFBFBD>:</B> Si aucune cl<63> n'est disponible dans le cache, MPlayer essaie de
|
|
|
|
|
d<>crypter la cl<63> disque avec un ensemble de cl<63>s incluses.</LI>
|
|
|
|
|
<LI><B>disque:</B> Si la m<>thode cl<63> <20>choue (c-a-d. pas de cl<63>s incluses),
|
|
|
|
|
MPlayer va cracker la cl<63> 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<6E>es. Cette
|
|
|
|
|
m<>thode devrait toujours fonctionner (lent).</LI>
|
|
|
|
|
<LI><B>demande de titre:</B> Avec les cl<63>s disque MPlayer demande les cl<63>s titre
|
|
|
|
|
crypt<70>es, qui sont <20> l'int<6E>rieur de <I>secteurs cach<63>s</I> en utilisant
|
|
|
|
|
<CODE>ioctl()</CODE>. La protection de r<>gion des lecteurs RPC-2 devrait
|
|
|
|
|
op<6F>rer <20> cette <20>tape et devrait <20>chouer sur ces lecteurs. Si elle r<>ussit, les
|
|
|
|
|
cl<63>s titre seront crypt<70>es avec les cl<63>s bus et disque.</LI>
|
|
|
|
|
<LI><B>titre:</B> 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 des premiers octets
|
|
|
|
|
crypt<70>s est une continuation de ce motif).
|
|
|
|
|
Cette m<>thode est <20>galement connue sous le nom de "known plaintext attack"
|
|
|
|
|
ou "DeCSSPlus". 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. D'un autre c<>t<EFBFBD> c'est
|
|
|
|
|
la seule fa<66>on de d<>crypter un DVD stock<63> 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<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
|
|
|
|
|
<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<70>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<70>te des options disponibles, veuillez lire la page de man.
|
|
|
|
|
La syntaxe pour un Video CD standard (VCD) est la suivante:
|
|
|
|
|
<CODE>mplayer -vcd <track> [-cdrom-device <p<EFBFBD>riph.>]</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<6D>re piste est une piste de donn<6E>e <20> 2048 octets/secteur de quelques
|
|
|
|
|
Mo, avec un syst<73>me de fichier iso9660, contenant g<>n<EFBFBD>ralement les lecteur de
|
|
|
|
|
VCD Win32 et peut-<2D>tre d'autres infos(jpegs, texte, etc).</LI>
|
|
|
|
|
<LI>La seconde piste et les suivantes sont des pistes mpeg brutes <20> 2324
|
|
|
|
|
octets/secteur, sans aucun syst<73>me de fichier ormis des donn<6E>es brutes mpeg ps
|
|
|
|
|
un paquet par secteur. Elles contiennent le(s) film(s)...Les pistes <B>ne
|
|
|
|
|
peuvent <20>tre mont<6E>es</B>! Elles sont similaires <20> des pistes audio (vous
|
|
|
|
|
n'avez jamais mont<6E> un cd audio pour le lire, non ? Non).
|
|
|
|
|
Comme la plupart des films sont sur la deuxi<78>me piste, vous devriez essayer
|
|
|
|
|
<CODE>-vcd 2</CODE> en premier.</LI>
|
|
|
|
|
<LI>Il existe <20>galement certains disques VCD sans 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.</LI>
|
2001-10-18 11:48:46 +00:00
|
|
|
|
</UL>
|
|
|
|
|
|
2002-12-06 01:45:39 +00:00
|
|
|
|
<P>A propos des fichiers .DAT:</P>
|
|
|
|
|
|
|
|
|
|
<P>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> (vcdfs/isofs-2.4.X.o), 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 <B>fonctionnera pas</B> avec le pilote iso9660 standard du noyau!
|
|
|
|
|
Il est recommand<6E> d'utiliser l'option <CODE>-vcd</CODE> <20> la place. D'autres
|
|
|
|
|
possibilit<69>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<70>rique VCD par d<>faut est <CODE>/dev/cdrom</CODE>. 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 <CODE>-cdrom-device</CODE>.</P>
|
2001-10-18 11:48:46 +00:00
|
|
|
|
|
|
|
|
|
</BODY>
|
|
|
|
|
</HTML>
|