C'est un des tous premiers outils que j'ai découvert et qui ne m'a jamais laissé tomber - ou alors quand c'est arrivé, j'ai travaillé avec l'auteur pour résoudre le problème. vStrip est tout simplement le rippeur le plus efficace. Nombreux sont ceux qui utilisent ou ont utilisé MPEGUtils à cause de son interface graphique mais ce programme n'arrive pas à la cheville de vStrip. Contrairement à vStrip qui dépouille depuis le tout premier jusqu'au dernier tous les bits de chaque fichier VOB, MPEGUtils est seulement capable de manipuler les VOB qui commencent par une entête valide (c'est à dire habituellement le premier) ce qui aboutit à louper un certains nombre de bits au début de chaque fichier qui doivent ensuite être récupérés en calculant la différence de taille et en utilisant DVDTool pour extraire les bits manquants à partir des fichiers sources. Si celà vous est déjà arrivé, vous comprendrez pourquoi je n'utilise pas MPEGUtils.
Aux alentours de la version 0.5, le support du CSS a été ajouté et celà nous a simplifié grandement la vie puisque qu'on peut dorénavant découper les fichiers VOB par VOB ID directement depuis le DVD, ce qui nous permet donc d'économiser de la place et du temps. La version 0.6 s'est vu dotée de l'analyse des fichiers IFO basée sur les sources de LiVid. C'est d'autant plus intéressant que vous pouvez ainsi ripper vos DVD de la façon dont Flask les convertit, c'est à dire que vous pouvez choisir le bon flux et seul celui-ci sera convertit. En d'autres termes, tous les problèmes liés aux multiangles, aux multilangages et autres problèmes liés à la structure du DVD appartiennent aujourd'hui au passé. Et contrairement à FlaskMpeg, l'analyse des fichiers IFO fonctionne aussi sur les cas difficiles comme 'T2 ultimate edition'. La toute dernière version nous offre aussi une gestion complète des multiangles (pour les titres Disney R1 et proches) ainsi qu'un support de l'UDF complet (pour des fichiers VOB de 1.00GB).
Mais passons aux choses sérieuses. Comme d'habitude, j'utiliserai 'Matrix' pour illustrer ce que l'on peut faire. De plus ce DVD a des multiangles, c'est à dire une structure complexe et constitue donc un bon exemple.
Si vous préférez voir comment celà fonctionne avec l'interface graphique (GUI) vous pouvez sauter la description de l'utilisation de la ligne de commande, même si je vous recommande fortement de la lire. Celà pourra vous aider à mieux comprendre. De plus l'interface graphique dans son état actuel récupère les informations sur les fichiers en s'addressant directement à Windows et non à vStrip, ce qui peut causer des problèmes avec un petit nombre de DVD.
Tout d'abord, il faut trouver quels PGC (chaînes de groupe de programme, c'est la façon dont fonctionne la navigation sur le DVD, pour plus d'informations consultez le manuel de Scenarist NT) sont sur le disque. Tapez "vstrip f:\video_ts\vts_02_1.vob -if:\video_ts\vts_02_0.ifo"
Parsing "f:\video_ts\vts_02_0.ifo"...
0. Length: 02:22:19:201 in 106 cell(s).
1. Length: 00:00:18:193 in 1 cell(s).
2. Length: 00:00:50:193 in 1 cell(s).
3. Length: 00:00:00:213 in 1 cell(s).
4. Length: 00:00:00:213 in 1 cell(s).
5. Length: 02:22:19:201 in 106 cell(s).
6. Length: 00:00:50:213 in 3 cell(s).
7. Length: 00:02:68:225 in 3 cell(s).
8. Length: 00:01:16:213 in 1 cell(s).
9. Length: 00:01:01:213 in 1 cell(s).
10. Length: 00:03:50:229 in 2 cell(s).
11. Length: 00:01:19:213 in 1 cell(s).
12. Length: 02:22:19:201 in 106 cell(s).
13. Length: 02:22:19:201 in 106 cell(s).
14. Length: 02:22:19:201 in 106 cell(s).
15. Length: 00:00:00:213 in 1 cell(s).
16. Length: 00:00:00:213 in 1 cell(s).
17. Length: 00:00:00:213 in 1 cell(s).
Scanning for stream id's, press control-c to quit...
Found 0xBF = Private Stream 2 [@LBA 0]
Found VOB-ID: 01/CELL-ID: 01 [@LBA 0]
Encountered encrypted sector, attempting key recovery
A ce stade, vous pouvez annuler en appuyant sur Control-C.
La premier argument de la ligne de commande indique le fichier VOB qui est lu, l'argument précéde de '-i' indique le fichier IFO qui doit être analysé. Si vous avez déjà utilisé FlaskMpeg 0.594 (ou une version plus récente) vous reconnaîtrez cette liste car c'est la même que celle trouvée par Flask. Quand vous lisez le DVD normalement, c'est le title 1 qui sera joué, si vous utilisez le mode 'suivez le lapin blanc' (on parle toujours du DVD de Matrix là) c'est le title 6 qui sera joué. Comme vous le savez peut-être, en informatique on commence à compter à partir de 0, donc le PGC que l'on veut analyser est le PGC 0 (et celui du 'Lapin blanc' le PGC 5).
Pour ripper le film, tapez "vstrip @streamlist.lst -if:\video_ts\vts_02_0.ifo -p0 -$1024 -omatrix.vob". Comme vous l'avez probablement deviné, streamlist.lst est un fichier listant les fichiers VOB (vous devriez TOUJOURS utiliser une streamlist). @ indique que le fichier lu est une liste et non un fichier VOB, -p0 indique qu'il faut analyser le PGC 0, -$1024 dit au programme de regrouper et découper les fichiers de sortie en morceaux de 1024 Mo. Si vous ne le précisez pas, le fichier rippé sera un seul et unique gros fichier que certains programmes (et certains systèmes d'exploitation ... quelqu'un à dit Win9x ?) ne seront pas capables de lire. -omatrix.vob indique enfin de ripper les fichiers sous le nom de matrix.vob. Le deuxième VOB sera nommé matrix_1.vob, etc. Le @ qui indique que le fichier lu est une streamlist n'est pas nécessaire si l'extension de votre streamlist est '.lst'.
Un mot au sujet de la recherche de la clef ('keysearch') : vStrip possède un algorithme de décryptage très avancé qui autorise de nombreux paramétrages. Normalement, le premier fichier de la streamlist sera scanné et la clef trouvée sera réutilisée pour tous les autres VOB de la streamlist. Il inclut dorénavant l'algorithme de décryptage DeCSS+ ce qui le rend encore plus efficace. Les commandes pour changer les paramètres de décryptage sont les suivants : -mX, -nX, -qX et -rX. -mX définissent dans quelle mesure une clef déduite du flux de remplissage ('padding stream') peut être valide (c'est le principe de VobDec), -nX définit la fréquence avec laquelle l'algorithme DeCSS+ va rechercher la clef, -qX enfin paramètre le pourcentage de clefs apparement valides qui pourront être utilisées comme clefs de décryptage. Les valeurs par défaut pour -m, -n et -q sont respectivement 8, 8 et 75. La commande -rX, enfin vous permet d'ajuster la recherche de clé sur la structure du fichier VOB. -r1 cherchera la clef tous les VOB id, -r2 toutes les cellules, mais en utilisant la même clef pour chaque cellule. Imaginons que le VOB id 1 ait 3 cellules, alors les VOB id 2 cellules 1 à 3 ne subiront pas de recherche de clé, par contre le VOB id 2 cellule 4 si. Pour finir -r3 recherche la clef pour chaque cellule, sans tenir compte du VOB id.
Pour ripper un film et le découper selon le VOB id, il suffit d'ajouter -v avant le nom du fichier de sortie. Celà créera des fichiers nommés fichier_VXX__.vob où XX représente le nombre du VOB id. Pour ripper selon le Cell id, ajouter -c à la place de -v avant le nom du fichier de sortie et vous obtiendrez des fichiers nommés fichier_VXXCYY.vob où XX représente le numéro du VOB id et YY représente le numéro de la cellule. Il est aussi possible de combiner des commandes qui ne nécessitent pas d'arguments comme par exemple -c/v ; ainsi vous pouvez écrire -comatrix.vob au lieu de -c -omatrix.vob.
Mais peut-être voulez vous juste extraire la piste vidéo en morceaux de 30MB ? No problemo : "vstrip @streamlist.txt -if:\video_ts\vts_02_0.ifo -p0 -$30 -!domatrix.m2v 0xe0" pour vous servir. Le -! empêche de tout ripper et le -d active le mode demultiplexage (c'est à dire le mode qui permet de sauver les flux directement et pas dans un fichier VOB). 0xe0 enfin est le code désignant le flux vidéo (dans le cas du flux vidéo, c'est presque toujours 0xe0). Si vous n'en êtes pas sûr, tapez 'vstrip @streamlist.txt' et vous obtiendrez quelque chose comme ceci :
Scanning for stream id's, press control-c to quit...
Found 0xBF = Private Stream 2 [@LBA 0]
Found VOB-ID: 01/CELL-ID: 01 [@LBA 0]
Encountered encrypted sector, attempting key recovery
Deduced key: 0xE169080299
Found 0xE0 = Video Stream 0 [@LBA 1]
Width = 720
Height = 480
Aspect-ratio = [3] 16:9 display
Frame-rate = [4] 29.97 (30000/1001) fps [NTSC video frame rate]
Found 0xBD = Private Stream 1, substream 0x80 (AC3 #0) [@LBA 6]
Found 0xBD = Private Stream 1, substream 0x81 (AC3 #1) [@LBA 7]
Found 0xBE = Padding Stream [@LBA 22]
Found VOB-ID: 02/CELL-ID: 01 [@LBA 4262]
Found 0xBD = Private Stream 1, substream 0x82 (AC3 #2) [@LBA 4267]
Comme vous pouvez le voir à la 6ème ligne, vStrip a trouvé un flux vidéo et indique son id, puis sur les 4 lignes suivantes les propriétés de ce flux. Vous voulez démultiplexer une piste audio ? No problemo : "vstrip @streamlist.txt -if:\video_ts\vts_02_0.ifo -p0 -$30 -!domatrix2.ac3 0xBD 0x81" rippe la 2ème piste audio (id 0x81) et la découpe en fichiers de 30 MB (bien que ce ne soit pas très utile ici). Vous pouvez voir les pistes audio, elles sont au nombre de trois : 0x80 (la principale en 5.1), 0x81 (le commentaire) et 0x82 (la piste contenant uniquement la musique).
Passons maintenant à quelque chose d'un peu plus compliqué : "vstrip @streamlist.txt -if:\video_ts\vts_02_0.ifo -p0 -$30 -omatrix.vob 0xe0 0xBD 0x81 =0x80"' va ripper le film en fichiers VOB (comme d'habitude) qui seront découpés mais la piste audio 0x81 sera réaffectée à la piste numéro 0x80.
Vous pouvez aussi rajouter '-l' qui permet de lister les cells id trouvés par vStrip.
Pour gérer les multiangles vous pouvez ajouter la commande -jX qui spécifie l'angle à utiliser. -j0 désactive le multiangle, -j1 rippera le premier angle (celui qui nous intéresse dans 'Matrix et dans les films Disney R1), etc.
Si vous préférez spécifier la clef vous même, vous pouvez utiliser le paramètre -k1234567890 qui utilisera donc la clef 1234567890 pour décrypter sans chercher d'autre clef. C'est utile pour les VOB pour lesquels VobDec ne peut pas trouver de clef. L'option '-g' permet de ne conserver que les groupes d'images (GOP) mais en produisant quand même des fichiers VOB (il ne faut donc pas utiliser -! ou -d en même temps), de manière à obtenir des petits fichiers VOB ne contenant qu'une piste audio qui pourront être utilisés par Graphedit. Celà dit vous pouvez aussi garder les fichiers VOB et utiliser le filtre 'multiple VOB source' dans Graphedit. -sX recherche la position LBA X et commence à ripper à partir de là (1 LBA = 2048 octets). Enfin vous pouvez changer le nombre d'images par seconde ('frame rate') et la proportion L/H ('aspect ratio') de la piste MPEG, mais ce n'est probablement pas une bonne idée.
Un mot au sujet des nouvelles options de la version 0.8 :
"vstrip d:\ -u" vous donnera la liste complète des LBA de tous les fichiers du DVD (d:\ étant le nom du lecteur). Voici un aperçu du résultat :
VIDEO_TS/ [@LBA: 240 - 240]
VIDEO_TS.BUP [@LBA: 224407 - 224413]
VIDEO_TS.IFO [@LBA: 224400 - 224406]
VTS_01_0.BUP [@LBA: 539725 - 539739]
VTS_01_0.IFO [@LBA: 224415 - 224429]
VTS_01_0.VOB [@LBA: 224430 - 2321581]
VTS_01_1.VOB [@LBA: 224430 - 539724]
VTS_02_0.BUP [@LBA: 3504211 - 3504287]
VTS_02_0.IFO [@LBA: 539740 - 539816]
VTS_02_0.VOB [@LBA: 539817 - 612458]
VTS_02_1.VOB [@LBA: 612459 - 1136745]
VTS_02_2.VOB [@LBA: 1136746 - 1661032]
VTS_02_3.VOB [@LBA: 1661033 - 2054294]
VTS_02_4.VOB [@LBA: 2054295 - 2578581]
VTS_02_5.VOB [@LBA: 2578582 - 3102868]
VTS_02_6.VOB [@LBA: 3102869 - 3504210]
VTS_03_0.BUP [@LBA: 4097642 - 4097669]
VTS_03_0.IFO [@LBA: 3504288 - 3504315]
VTS_03_0.VOB [@LBA: 3504316 - 5601467]
VTS_03_1.VOB [@LBA: 3504316 - 4028602]
VTS_03_2.VOB [@LBA: 4028603 - 4097641]
L'option '-t' permet de choisir la bibilothèque d'entrée/sortie à utiliser. Dans la version 0.8, la gestion de l'ASPI a été ajoutée et est utilisée par défaut. -t1 sélectionne la librairie C 'clib' (l'ancien) puis l'ASPI (en supposant que 'clib' ait échoué, ce qui est souvent le cas avec des fichiers de 1.00 GB), -t2 sélectionne l'inverse, et -t3 uniquement 'clib' .
-e enfin sert à gérer les fichiers autres que les VOB. Donc si vous voulez démultiplexer un fichier mpg (dont la taille n'a pas besoin d'être un multiple de 2ko = 2^11 = 2048 octets) vous aurez besoin d'activer cette option.
La partie interface graphique (GUI)
Lancez l'interface graphique, cliquez sur 'Add...' et choisissez les fichiers VOB de votre film principal (théoriquement ceux qui sont les plus nombreux à être numérotés séquentiellement, ou bien les fichiers VOB ayant le même vts_xy dans leur nom que le plus gros fichier IFO du DVD).
Si vous ne voyez aucun fichier quand vous appuyez sur 'Add...' voici une petite astuce. C'est souvent le cas avec les DVD pirates d'extrème orient qui semblent n'avoir aucun fichier sur le disque. Cependant le même problème m'est arrivé avec le DVD (officiel) R1 de Matrix. Jusqu'en juin 2000 je n'arrivais pas à voir autre chose que le fichier autorun.exe sur le DVD. Dans la boîte de dialogue 'Add...' vous pouvez entrer le chemin pointant vers votre lecteur DVD. Mon lecteur ayant la lettre F: j'ai entré f:\video_ts\ comme nom de fichier et tout à coup j'ai eu la liste des fichiers disponibles. Ajoutez alors le premier fichier, puis fermez la fenêtre et recliquez sur 'Add...', et ainsi de suite. Au final vous avez donc tous les fichiers. Si ça ne fonctionne toujours pas, vous pouvez utiliser l'analyse UDF en cliquant sur 'UDF...'.
vStrip
pourra sembler être planté lorsque vous aurez appuyé sur
UDF. Mais vous verrez la LED de votre lecteur qui s'allume : tout est OK.
Un fois que vous avez obtenu la liste, double-cliquer sur un fichier de la
liste de gauche va l'ajouter dans celle de droite. Une fois que vous avez sélectionné
tous les fichiers, cliquez sur OK.
Cliquez ensuite sur 'Run'. Une fois que le programme commence à afficher
VOB-ID: XY... vous pouvez annuler. Vous avez maintenant la liste des flux audio
et sous-titres. Le flux 0xE0 est généralement le flux vidéo,
0xBD 0x8x les pistes AC3 ou DTS (en général pour le DTS c'est
0x88 ou 0x89). 0x80 correspond à la langue par défaut. Les flux
0xAx sont en général des pistes audio PCM et les flux 0xC0 sont
des pistes audio MP2. Les flux 0xBD 0x20 - 0x3F correspondent aux sous-titres.
0xBF enfin correspond au 'padding stream'. (tout çelà est montré
sur la première capture d'écran, fenêtre du bas).
Assurez vous que la case 'Is VOB?' est cochée quand vous travaillez sur des fichiers VOB. 'Start LBA' et 'End LBA' ne sont pas important car on utilise l'analyse IFO. Attention, si vous avez des films dont certaines parties sont toujours cryptées après rippage (c'est ce qu'on appelle une mauvaise conception, une autre clef CSS est utilisée pour la deuxième couche du DVD) vous allez devoir changer la fréquence de la recherche de clef :
Habituellement
'Each VOB-ID' est suffisant, mais si vous préférez être
bien sûr, vous pouvez choisir 'Each VOB- & CELL-ID' qui trouvera tous
les changements de clef.
Et pour être encore plus sûr, vous pouvez mettre 'Mult' et 'Treshold'
tous les deux à 1.
Passons ensuite à l'onglet 'IFO' :
Cliquez sur le bouton '...' et choisissez le plus gros fichier IFO de votre DVD. Choisissez ensuite le PGC approprié. En général, le PGC 0 correspond au film principal, mais dans le cas de certains films à structure particulière vous aurez plusieurs PGC avec des longueurs différentes. Dans ce cas, sélectionnez juste celui qui correspond à la version que vous voulez effectivement ripper (par exemple, 'Independence Day' a 4 PGC dont 2 ayant la même longueur ; le plus long correspond à la version du réalisateur et le plus court à la version projetée en salle, mais personne ne sait pourquoi il y a 2 PGC pour chaque version). Si vous ne voulez ripper que certains VOB ou CELL ID, sélectionnez simplement le VOB ID correspondant et décochez toutes les cellules que vous ne voulez pas (si vous décochez tout, celà ignore ce VOB ID). Mais dans la pratique cette fonction n'est pas très utile. Si vous avez un multiangle, vous pouvez sélectionnez Angle 1 ce qui ne rippera pas les autres angles (utile par exemple dans le cas des films Disney où il y a à la fois un générique pour les voix anglaises et un générique pour les voix françaises).
Dans les deux petites fenêtres en bas à droite, vous obtenez la liste des flux audio et sous-titres avec les langues correspondantes et leurs propriétés.
Si vous voulez extraire juste certains VOB ID ou Cells, sélectionnez le point de départ approprié puis cliquez y avec le bouton droit de la souris :
Au point
de départ, choisissez 'Set Start LBA'. Puis cliquez sur la dernière
cellule que vous voulez inclure dans votre sélection et choisissez 'Set
End LBA'. Ces valeurs seront ainsi entrées dans les champs LBA de l'onglet
'Input'. Eventuellement nous devrions sélectionner les chapitres ici
mais pour le moment celà fera l'affaire
Passons ensuite à l'onglet 'Output' :
Choisissez un nom pour les fichiers de sortie, puis la taille maximale des fichiers rippés ('Split File Size (MB)'). Je vous recommande très fortement 1024Mo. Grâce à l'analyse IFO, il n'est pas nécessaire de découper ('Split') 'by VOB' ou 'CELL-ID'. Pour un rip standard, c'est tout ce que vous avez à faire : vous pouvez cliquer sur 'Run'.
Si vous voulez récupérer juste certains flux, vous pouvez vous intéressez aux options avancées. Si vous cochez 'Demux' celà activera ce mode. Ensuite, dans la partie de droite cochez 'SubStreams' et sélectionnez les flux que vous voulez ripper (vous vous rappelez qu'il y en a une liste dans l'onglet 'Input'). Si vous cochez 'Only GOP-Headers' vous pouvez créer des VOB audio en choisissant simplement les pistes audio. La capture d'écran suivante montre comment ripper les pistes AC3 0x80 et 0x81 pour en créer un VOB audio.
Il existe une autre fonctionnalité. Disons que vous voulez extraire ces deux pistes audio et qu'en même temps, vous voulez extraire la piste vidéo dans un autre fichier. Après avoir configuré l'extraction de l'audio comme expliqué ci-dessus, cliquez sur 'Output 1' que vous pouvez configurer de la même façon que 'Output 0'. Voici comment démultiplexer la piste vidéo :
Une dernière chose : vous parviendrez plus facilement à vous débrouiller avec l'interface graphique si vous avez bien compris les options de la ligne de commande. C'est un peu difficile d'expliquer toutes les focntionnalités de l'interface graphique sans comprendre leur fonctionnement en ligne de commande.
Conclusion : Si vous rencontrez un cas difficile, si vous voulez ripper une piste AC3 en soyant sûr qu'elle ait la même longueur que la vidéo que vous avez obtenu avec Flask, si vous utilisez un encodeur qui ne peut pas analyser les fichiers IFO, vous devriez utiliser l'analyse IFO de vStrip. De cette façon vous éviterez les logos des studios, les publicités, etc., lesquels sont souvent à l'origine de problèmes de synchronisation. vStrip est de plus le seul programme qui peut appréhender les disques qui contiennent des erreurs de conception.
>> RETOUR
Traduction par DonHora | Last update : ![]() |
Dernière mise à jour : ![]() |