Extraction
Extraction des sous-titres

Comment ça marche ?

Dans un DVD, les fichiers de sous-titres sont en réalité des images qui viennent s'incruster en transparence sur la vidéo, et non du texte comme on les affiche la plupart du temps avec les MPEG4 (DivX ou XviD).
L'inconvénient de ces images, c'est leur poids bien supérieur à celui de données de texte. Mais l'avantage, notamment pour un lecteur de DVD, c'est qu'il n'a pas besoin de connaître toutes les polices de caractères comme le ferait un ordinateur pour pouvoir les afficher.

Les formats

Pour l'affichage des sous-titres à la lecture des MPEG4, quel que soit le lecteur, 2 solutions sont possibles :

• Le format VobSub, qui conserve les images telles qu'elles sont sur le DVD.
Ce format a l'avantage d'être fidèle au DVD car il reproduit les sous-titres à l'identique.
Pour toutes les langues utilisant d'autres alphabets ou des idéogrammes, ce format est pratique car il n'oblige pas à installer sur l'ordinateur des polices spéciales.
Pour être lu, ce format nécessite l'installation de DirectVobSub. Il se présente sous la forme de 2 fichiers avec les extensions .idx et .sub. Ces fichiers doivent avoir le même nom que le fichier .avi pour être reconnus automatiquement par le plug-in.

• Les formats textes, qui sont les plus utilisés.
Ils sont une interprétation des images transformées en texte par un procédé d'OCR (reconnaissance de caractères).
Ils ont l'avantage d'être ensuite éditable, donc modifiables à souhait, et offrent une bien plus grande souplesse d'affichage (choix de la police, de la couleur, du style, de l'emplacement à l'écran...).
De nombreux formats existent mais les plus courants demeurent le SubRip (.srt) et le format MicroDVD (extension .sub ou .txt).

Le rip

A l'instar de la vidéo et des pistes sonores, les sous-titres sont intégrés au DVD dans des fichiers de type Vob.
La plupart des DVD intégrant diverses protections contre la copie, il faut les contourner de la même façon qu'on le fait pour riper un film.
Quelquefois, et même la plupart du temps, le simple fait de lancer la lecture une fois du DVD avec un logiciel adéquat (WinDVD ou PowerDVD) suffit à autoriser la lecture des sous-titres pour les extraire. Quand ça n'est pas le cas, l'utilisation de logiciels tels que DVD Region Free, DVD X Ghost, ou AnyDVD peut rendre les choses beaucoup plus simples, car ils sont conçus pour contourner toutes les protections existantes sans qu'on ait davantage à y penser. Dans le pire des cas, avec des sous-titres particulièrement récalcitrants, il pourra être nécessaire de riper tout le DVD sur le disque dur pour ensuite travailler sereinement. Mais dans ce cas, il faut pouvoir disposer d'une place suffisante pour tout accueillir, une bonne dizaine de Go sont recommandés, même si un peu moins peut aussi suffire.
Les logiciels conçus pour riper les DVD, tels que DVD Decrypter ou SmartRipper permettent également de ne riper que les sous-titres si on le souhaite, sous forme d'images, et non de texte. Mais le logiciel spécialisé pour cette opération est VobSub, que l'on installe avec le plugin DirectVobSub... Ce dernier sert en fait à l'affichage de tous les formats de sous-titres (pas seulement les VobSubs) à partir de n'importe quel player n'intégrant pas cette fonction en interne.

L'OCR

L'OCR, c'est la reconnaissance de caractères nécessaire au passage des formats images (extensions .ifo+.vob ou .idx+.sub) dans des formats texte (extensions .srt .sub .txt etc.) plus souples et plus légers, surtout utilisés à des fins d'édition.
La référence des logiciels d'OCR est SubRip, et on trouve également un logiciel plus simple, SubResync qui est installé avec le package VobSub. Il peut arriver que l'un ou l'autre soit plus à même d'extraire certains sous-titres récalcitrants, donc il peut être utile d'essayer SubResync lorqu'on ne parvient pas à grand chose avec SubRip.
SubRip permet le passage aux formats texte soit depuis les fichiers d'images rippés (fichiers vobsub .idx+.sub ou alors .ifo+.vob), soit directement à partir du DVD, sans passer préalablement par une extraction des images. Mais cette opération d'une part ne fonctionne pas dans tous les cas, et d'autre part n'est pas trop recommandée aux débutants, et particulièrement aux personnes qui n'ont pas encore l'habitude d'éditer et de corriger les sous-titres. Car si l'OCR est une opération qui parait et qui est vraiment rapide et très simple au prime abord, certaines précautions logiques sont indispensables pour ne pas provoquer par la suite des pertes de temps importantes à corriger tout un cortège d'erreurs qui sont malheureusement inévitables quoi qu'il advienne...

 


VobSub

* Première chose à faire, introduire le DVD dans un lecteur, et si possible en faire une lecture avec PowerDVD ou WinDVD.
La plupart du temps ça suffit pour passer les premières protections et être en mesure d'extraire les sous-titres... Néanmoins en règle générale, je ne saurais que trop recommander l'utilisation de logiciels tels que AnyDVD, DVD Region Free, ou DVD X Ghost (liste non exhaustive). Ces logiciels se mettent en résidents dans le système et entrent en fonction sans intervention particulière dès qu'on introduit un DVD dans le lecteur. Ils décryptent toutes les protections de façon transparente, et permettent par ailleurs de faire des copies de DVD avec les logiciels du commerce qui ne savent passer outre ces protections seuls d'habitude. Nul besoin de prendre des risques non plus en modifiant les firmwares des lecteurs pour les dézoner, puisqu'ainsi on passe toutes les protections y compris celle scandaleuse des zones. Et encore un détail, certaines opérations comme celle consistant à faire "next track" lors de l'affichage pénible du disclaimer FBI ou autre devient possible aussi...

* On lance "VobSub Configure" qui se trouve dans le menu "Démarrer"
C'est l'un des programmes inclus dans le package VobSub.

 

* Il faut aller ouvrir les fichiers .IFO se trouvant sur le DVD, afin d'extraire nos .idx et .sub
Pour cela, il faut faire défiler le menu déroulant de la fenêtre "Ouvrir" pour avoir l'option :
"Ifo and Vobs, for creating idx/sub (.ifo)"

 

* Dans l'arborescence du DVD, on trouve toujours un répertoire "VIDEO_TS". C'est lui qui contient tout ce qui nous intéresse.
Hélas, on ne sait jamais quel va être le bon fichier .IFO à ouvrir, donc il faut quelquefois en essayer plusieurs avant de trouver le bon... La plupart du temps, il y en a de 3 à 5, mais d'autres fois, comme sur l'illustration ci-dessous, on peut se retrouver avec une vingtaine ou une trentaine de fichiers.
Le premier (VIDEO_TS.IFO) peut être sauté d'emblée. Ce sont les fichiers VTS qu'il faut ouvrir.

 

* A l'ouverture du fichier .IFO, le programme demande un emplacement où il pourra créer les fichiers .idx et .sub.
Selon le nombre de langues disponibles et le contenu des sous-titres, ces fichiers peuvent prendre de 1 Mo à 30 Mo, ainsi qu'il est indiqué en haut de la fenêtre.

 

* Une fois le répertoire de sauvegarde indiqué, une nouvelle fenêtre s'ouvre, contenant en principe (s'il s'agit bien du bon fichier .IFO) dans la lucarne de droite en haut, les langues disponibles sur le DVD. Sur la gauche, ce sont tous les emplacement disponibles dans les fichiers .IFO/.SUB, mais où aucun sous-titre n'a été détecté.
Il faut bien choisir les langues que l'on veut extraire à droite, et reléguer à gauche les langues non voulues.
Il faut savoir que les fichiers .SUB sont très facilement compressibles avec Winrar en particulier, mais ils pèsent néanmoins très lourd et ce poids est directement dépendant du nombre de langues sauvegardées. Donc en fonction de la destination finale de ces fichiers, certaines langues peuvent facilement être supprimées. En revanche, si l'archive doit être par la suite diffusée à l'international, il est de bon ton d'y inclure un maximum de langues.
Autre donnée à prendre en compte : il y a souvent la même langue indiquée plusieurs fois... Cela peut être dû à des différences d'affichage pour du plein écran (4/3) ou du 16/9, ou il peut s'agir de commentaires du réalisateur. Dans tous les cas, comme il n'y a pas moyen à ce moment là de les visionner, mieux vaut toutes les prendre. Il est ensuite possible de refaire un nouveau VobSub à partir du premier plus sélectif et de retirer certains sous-titres. (cf. Optimiser la taille des vobsubs)

 

* Selon le fichier VTS sélectionné il est possible que le ou les premiers ne soient pas les bons, et ne présentent par exemple qu'une seule langue. Dans ces cas là, il faut aborter le processus en fermant la fenêtre (il n'y a pas de bouton "Annuler"), et passer au VTS suivant.

 

* Une fois qu'on est sûr de son coup, on peut lancer l'extraction en cliquant sur "OK". Une petite viendra alors s'afficher pour indiquer que le programme cherche la clé pour décrypter les fichiers.

 

* Si tout se passe bien, le VobSub sera alors créé dans le répertoire indiqué. Cette opération prend quelques minutes, la durée étant assez variable en fonction des DVD et du nombre de langues sélectionnées.

 

* Avec moins de chance en revanche, l'indéxation peut échouer... Dans ce cas là, il faut regarder si l'opération peut ou non fonctionner avec un autre fichier VTS. Si aucun fichier n'accepte de se faire indéxer, alors il faut faire des essais avec DVDDecrypter ou SmartRipper. Avec ces programmes, il est possible soit de ne ripper que le "stream" des sous-titres, soit de ripper la totalité des vobs pour ensuite retenter l'opération avec VobSub Configure sur les fichiers VTS déjà décrytés sur disque dur.

 

 

 

Optimiser un VobSub

Une fois les fichiers idx et sub créés, on peut vérifier leur contenu avec SubResync. Un simple clic droit sur le fichier idx permet d'ouvrir les sous-titres.

 

* Les langues disponibles apparaissent dans le menu de gauche et peuvent être visualisées une par une.
On peut ainsi repérer sur certaines langues récurrentes, quelles sont les versions qu'on ne souhaite pas conserver...
Le poids occupé par chaque langue n'étant pas neutre, on peut ainsi économiser beaucoup de Mo sur l'archive finale.

 

* Pour supprimer des langues, il faut éditer le fichier idx avec n'importe quel éditeur de texte... Mais avant même d'ouvrir le fichier, il est conseillé d'en faire une copie de sauvegarde quelquepart, pour le cas où on ferait des bêtises (!).
Le fichier contient toutes sortes d'informations qu'il n'est pas nécessaire de lire ou de comprendre pour mener l'opération à bien : il faut simplement repérer dans ce fichier les pavés de textes avec les "timestamp" correspondant aux langues qu'on souhaite retirer. Elles sont numérotées comme on le voit dans SubResync, avec le même ordre chronologique. Donc pour supprimer la deuxème occurrence de langue française qui contient des commentaires par exemple, on fera défiler le fichier jusqu'à ce qu'on tombe une deuxième fois sur "# français" avec en dessous le numéro d'index correspondant (ici, langue 05).
Il faut alors simplement retirer tout le texte correspondant à cette langue, jusq'à ce qu'il y ait un saut de ligne et qu'on passe à l'index suivant.

# English
id: en, index: 4
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: English
# Vob/Cell ID: 1, 3 (PTS: 17017)
timestamp: 00:00:39:472, filepos: 000058800
timestamp: 00:01:39:966, filepos: 000118000
...
timestamp: 01:41:21:075, filepos: 00264f000
# Vob/Cell ID: 1, 89 (PTS: 6101006)
timestamp: 01:46:42:729, filepos: 002650000
timestamp: 01:46:45:232, filepos: 002651000
timestamp: 01:46:47:200, filepos: 002651800

# Francais
id: fr, index: 5
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: Francais
# Vob/Cell ID: 1, 3 (PTS: 17017)
timestamp: 00:00:39:439, filepos: 000057800
timestamp: 00:01:39:933, filepos: 000117000
timestamp: 00:02:20:740, filepos: 0001a5800
...
timestamp: 01:41:19:339, filepos: 00264d000
timestamp: 01:41:20:774, filepos: 00264e000
# Vob/Cell ID: 1, 89 (PTS: 6101006)
timestamp: 01:46:42:763, filepos: 002650800

# English
id: en, index: 7
# Decomment next line to activate alternative name in DirectVobSub / Windows Media Player 6.x
# alt: English
# Vob/Cell ID: 1, 3 (PTS: 17017)
timestamp: 00:00:19:552, filepos: 000028800
timestamp: 00:00:19:686, filepos: 000029800
...

 

Lorsque les chapitres non voulus sont ainsi supprimés, il suffit de sauver le fichier idx, et de l'ouvrir à nouveau avec SubResync. La langue en question n'apparait plus dans le menu.

               

En revanche, le fichier sub, qui lui pèse bien plus lourd, contient toujours les images de sous-titres relatifs à cette langue.
Il faut donc faire "save as" dans SubResync afin de créer une nouvelle paire de fichiers idx + sub. Et cette fois, l'archive aura perdu un poids non négligeable avant même sa compression avec WinRar.

 

 

A suivre (SmartRipper et DVD Decrypter)

...