Resman says hi.

Procédure d'extraction de sous-titres d'un DVD

Petit aide-mémoire que j'ai écrit pour mon usage personnel.

1) Récupérer la liste des sous-titres disponibles sur le DVD :

Exemple :

$ mplayer dvd://1 -vo null -ao null -frames 0 -v 2>&1 | grep sid
[open] subtitle ( sid ): 0 language: fr

2) Extraire le sous-titre voulu :

  1. Déterminer l'ID du sous titre = 0x20 + sid trouvé en 1)
  2. L'extraire :
    • Depuis le DVD (5~10 minutes) :
      tccat -i /dev/dvd -T 1 -L | tcextract -x ps1 -t vob -a 0x20 > subs
    • Si le sous-titre a été extrait avec DVD::Rip :
      cat rip/avi/001/rip-001-sid00.sub | tccat -T 1 -L | tcextract -x ps1 -t vob -a 0x20 > subs

3) Convertir le fichier obtenu en images .pgm :

subtitle2pgm -o prefixe -c 255,255,0,255 < subs

On obtient une série de fichiers prefixeNNNN.pgm, ainsi qu'un ficher d'index prefixe.srtx. Si nécessaire on peut jouer sur le paramètre -c pour obtenir un bon contraste.

4) Effectuer l'OCR sur les images :

pgm2txt prefixe

Il se peut que les espaces entre mots ou lettres soient mal reconnus, dans ce cas il faut modifier /usr/bin/pgm2txt et changer la ligne GOCR_OPTIONS_AUTO="-s 10 -m 130" :

5) Corriger éventuellement l'orthographe :

ispell -d francais prefixe*.txt

6) Convertir le tout en un fichier .srt :

srttool -s -w < prefixe.srtx > sortie.srt

7) Voilà :)

Il ne reste plus qu'à l'utiliser conjointement avec un lecteur vidéo, ou à l'inclure dans un conteneur approprié.
Share this article :

Comments

Add a new comment :
Name :
Comment :

Answer the following question : Which is the smallest, eleven or twelve ?