Je copie petit à petit tous mes DVD dans un but de sauvegarde car j’ai moyennement confiance dans la pérennité des DVD, j’utilise HandBrake comme décrit sur cette page là de mon site FUNIX. J’ai quelques soucis pour certains DVD notamment les plus récents, le système linux les voit bien mais il est incapable de les décoder alors que libdvdcss est bien installé. Ca se traduit par des erreurs diverses, du style, avec lsdvd:
libdvdread: Can’t seek to block 3835444
libdvdread: Can’t seek to block 3835444
libdvdread: Can’t seek to block 3884532
libdvdread: Can’t seek to block 3884532
ou bien encore avec HandBrake:
hb_demux_ps: not a PS packet (00000000)
(…)
libhb: scan thread found 0 valid title(s)
et avec VLC:
libdvdread: Error cracking CSS key for /VIDEO_TS/VTS_06_0.VOB
En fait c’est une histoire de code de région du DVD et du lecteur DVD. C’est à dire que certains DVD avec le code Europe ne marcheront que si le lecteur DVD est configuré pour la région Europe. Donc l’idée est de voir quelle est la région par défaut du lecteur et éventuellement pouvoir la changer. Il existe un petit soft qui s’appelle regionset qu’on peut trouver là. Pour le compiler c’est tout simple, il suffit de taper make puis de copier l’exe quelque part sous /usr/local/bin. Quand on tape regionset en tant que root, cela donne cela:
Current drive parameters for /dev/dvd:
RPC Type: Phase II (Hardware)
RPC Status: no region code set (bitmask=0xFF)
Vendor may reset the RPC 4 times
User is allowed change the region setting 5 times
Par défaut mon lecteur DVD n’était pas configuré ce qui explique que ça passait pour certains DVD (les plus anciens généralement) mais pas pour les plus récents. A noter les dernières phrases, on ne pourra changer la configuration du lecteur que 5 fois ! Ensuite c’est terminé ! Donc ça sera vite impossible de copier des DVD venant de différentes régions. Dans la suite de la commande on a
Would you like to change the region setting for this drive? [y/n]: y
Enter the new region number for your drive [1..8]: 2
New RPC bitmask is 0xFD, ok? [y/n]: y
Region code set successfully.
On met donc 2 pour le code Europe et pour le bitmask, et là magique ça marche !