Extrait de la documentation GNU/Linux :
Certains lecteurs de CD-ROM sont capables de changer leur vitesse de lecture. Il y a plusieurs raisons possibles pour changer cette vitesse:
Vous pouvez réduire la vitesse des lecteurs de CD-ROM IDE avec hdparm
ou avec un programme nommé setcd
. Il fonctionne comme cela:
hdparm -E [vitesse] [périph. cdrom]
setcd -x [vitesse] [périph. cdrom]
Vous pouvez également essayer
echo current_speed:4 > /proc/ide/[périph. cdrom]/settings
mais vous aurez besoin des privilèges root. La commande suivante peut également aider:
echo file_readahead:2000000 > /proc/ide/[périph. cdrom]/settings
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 cesser de s'arrêter et de repartir,
ce qui va dramatiquement diminuer les performances.
Il est également recommandé d'optimiser votre lecteur de CD-ROM avec
hdparm
:
hdparm -d1 -a8 -u1 (périph. cdrom)
pour permettre l'accès DMA, le cache en lecture, et l'IRQ unmasking. (lisez la page de
man de hdparm
pour plus d'explications).
Référez vous à "/proc/ide/[périph. cdrom]/settings
" pour optimiser correctement votre
lecteur CD-ROM
Les lecteurs SCSI n'ont pas une manière uniforme de fixer ces paramètres (Vous en connaissez une ? Dites-la nous!) Il y a un outil qui fonctionne pour les lecteurs SCSI Plextor.
FreeBSD:
Vitesse: cdcontrol [-f périph.] speed [vitesse]
DMA: sysctl hw.ata.atapi_dma=1
Pour voir la liste complète des options disponibles, veuillez lire la page de man. La syntaxe des Digital Versatile Disc (DVD) est la suivante:
mplayer dvd://<piste> [-dvd-device <périphérique>]
Exemple: mplayer dvd://1 -dvd-device /dev/hdc
Le périphérique DVD par défaut est /dev/dvd
. Si votre installation
diffère, faites un lien symbolique ou spécifiez le périphérique correct en ligne
de commande avec l'option -dvd-device
.
MPlayer utilise libdvdread
et libdvdcss
pour
le décryptage et la lecture des DVDs. Ces deux bibliothèques sont incluses
dans le sous-répertoire libmpdvdkit2/
du répertoire source de
MPlayer, vous n'avez donc pas besoin de les installer séparément. Nous avons
opté pour cette solution car nous devions corriger un bug de libdvdread
, et
appliquer un patch qui ajoute un cache pour les clés CSS crackées à libdvdcss
.
Le résultat est bien plus rapide car les clés n'ont pas à être cassé à chaque lecture.
MPlayer peut également utiliser les bibliothèques globales au système libdvdread
et
libdvdcss
, mais cette solution n'est pas recommandée,
car elle peut provoquer des bugs, des incompatibilités de librairies,
et une vitesse moins importante.
Le support pour la navigation DVD via dvdnav
était développé, mais
n'a jamais été vraiment fini et n'est actuellement plus maintenu. Qui sait, il
pourrait même compiler.
Utile si vous voulez lire des VOBs encodés depuis le disque dur.
Compilez et installez libcss 0.0.1 (pas plus récent) pour cela
(Si MPlayer ne le détecte pas, utilisez l'option -csslib /chemin/de/libcss.so
).
Pour l'utiliser, vous devez être root, utilisez un binaire de MPlayer suid root, ou
laissez MPlayer utiliser le wrapper fibmap_mplayer suid-root.
Les disques DVD utilisent tous des secteurs de 2048 octets par secondes 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é.
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 secteur 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.
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:
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é.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 sur un système
de fichier monté ou même sur 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.
Le périphérique DVD par défaut est /dev/dvd
. Si votre installation
diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de
commande avec l'option -dvd-device
.
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 DVDCSS_METHOD
qui peut être initialisée à
key
, disk
ou title
.
Si rien n'est spécifié il essaie les méthodes suivantes (par défaut: clé, demande de titre):
~/.mplayer/DVDKeys
(rapide;).ioctl()
. 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.Les lecteurs DVD RPC-1 ne protègent les réglages de protection de zone 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é d'upgrader le firmware en RPC-1 si vous avez un lecteur DVD RPC-2. Les upgrades firmware peuvent être trouvées sur cette page de firmware. Si il n'y a pas d'upgrade de firmware disponible pour votre périphérique, utilisez l' outil de réglage de zone pour changer le code de zone de votre lecteur DVD (sous Linux). Attention: Vous ne pouvez régler la zone que 5 fois.
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:
mplayer vcd://<track> [-cdrom-device <périph.>]
Exemple: mplayer vcd://2 -cdrom-device /dev/hdc
Le périphérique VCD par défaut est /dev/cdrom
. Si votre installation
diffère, faites un lien symbolique ou spécifiez le bon périphérique en ligne de
commande avec l'option -cdrom-device
.
Note: Au moins les CD-ROM SCSI Plextor et certains Toshiba ont d'horribles performances durant la lecture de VCDs. C'est parce que l'ioctl CDROMREADRAW n'est pas complètement implémenté pour ces lecteurs. Si vous avez des connaissances dans la programmation SCSI, merci de nous aider à implémenter un support SCSI générique pour les VCDs.
À ce propos vous pouvez extraire des données d'un VCD avec readvcd et lire le fichier obtenu avec MPlayer.
Les disques VCD contiennent une piste ou plus:
vcd://2
en premier.A propos des fichiers .DAT:
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 fonctionnera pas avec le pilote iso9660 standard du noyau!
Il est recommandé d'utiliser l'option vcd://
à la place. D'autres
possibilités pour la copie de VCD sont le nouveau pilote noyau
cdfs (qui ne fait pas partie
du noyau officiel) qui montre les sessions du CD en temps que fichiers image) et
cdrdao, une application d'enregistrement/copie
bit-a-bit).