Bonjour,
Je ne sais pas si ces scripts vont être utiles à beaucoup de monde mais comme je les utilise plusieurs fois par semaine, on ne sait jamais 😛
Donc, j'explique ici comme produire un fichier de sous-titres SRT pour les films diffusés en VM sur Arte capturés sur la TNT (dans mon cas via une freebox, ça ne fonctionnera pas pour les films diffusés par l'ADSL mais ça fonctionnera certainement pour les tous les enregistrements *.ts ).
Le but de la manœuvre étant de créer des fichiers Xvid à partir des fichiers *.ts
AVEC des sous-titres incrustés, comme au bon vieux temps où Arte diffusait ses films directement en VOST...
A. PREPARATIFS
Nécessite ProjectX, gocr (dans les dépôts) et un script son2srt de Niko Mikkilä que je joint à l'archive.
Dézipper l'archive
http://wlourf.free.fr/son2srt/subs.tar.gz dans le dossier de son choix.
Cette archive contient les scripts python + la base de caractères pour l'OCR d'Arte.
Chez moi, les dossiers seront :
$HOME/subs
et
$HOME/subs/arte_db
arte_db contient la base de caractères d'Arte
Dans chaque fichier python, il y a un paramètre qui contient tous les dossiers des films
main_dir="/home/ll/films"
A adapter à votre config donc.
B. DEMUXER LE FILM
1. Renommer le fichier *.ts avec un nom simple sans espaces et sans accents, on va dire
film.ts
2. Placer ce fichier dans un dossier portant le même nom du film (sans .ts), soit dans mon exemple
/home/ll/films/film/film.ts
3. lancer projectX, dans le menu PreSettings (Ctrl+S) :
onglet output : cocher Mpg Video, Mpg Audio et Subpicture
onglet subtitle : subtitle export format, choisir "SON"

et
4. Sélectionner le début et la fin du film,cliquer sur + pour valider la fin et le début du film
Attention aux passages 4/3 à 16/9, ne conserver qu'un seul format dans la sélection
5. Démuxer le film avec QuickStart
C. PREPARER LES FICHIERS
Lorsque c'est fini, dans le dossier film, on a
- un fichier video : film.m2v
- 2 pistes audio *.mp2 (virer celle qu'on ne veut pas garder)
- plein de fichiers *.bmp qui sont les sous-titres, attention, il peut y avoir des sous-titres pour malentendants ou même des sous-titres allemands...
- 1 ou plusieurs fichiers film*.son qui listent les sous-titres,
S'il y a plusieurs fichiers *.son, donc plusieurs sous-titres, il faut conserver celui qui va bien avec la langue choisie, il suffit de l'ouvrir pour vérifier (ce fichier contient tous les noms des bmp, il suffit de voir si ça concorde) et le renommer en
film.son mais la plupart du temps, il est déjà nommé comme ça.
D. Exécuter les scripts
1. se placer dans le dossier des scripts:
cd ~/subs
2. lancer le script python n°1 avec comme argument le nom du film
python 1-lanceur.py film
Ce script lance le script son2srt qui génére un fichier de sous-titres et corrige les erreurs de l'ocr les plus communes --> fichier de sortie :
/home/ll/films/film/subs/film.srt
3. lancer le script python n°2 avec comme argument le nom du film
python 2-strCorr.py film
Ce script va afficher et appliquer d'autres corrections à l'ocr par rapport aux corrections définies dans le fichier liste.txt. Par exemple, "Oul." sera remplacé par "Oui." --> fichier de sortie :
/home/ll/films/film/subs/film-2.srt
4. Utiliser son traitement de texte favori et appliquer une vérification orthographique sur film-2.srt pour chasser les dernières fautes ... Là, c'est un peu pénible quand il y a plein de noms propres (personnellement, je les ajoute au dictionnaire) --> sauver le fichier avec le même nom
/home/ll/films/film/subs/film-2.srt
5. lancer le script python n°3 avec comme argument le nom du film
python 3-srtCompteur.py film
Ce script calcule les temps de chaque sous-titres et affiche les temps les plus courts et les plus longs.
Ça aide à corriger les imperfections des subs, qui ne sont pas fréquentes, mais un sub inférieur à 0.5 s peut être dur à lire.
Par contre la correction doit se faire à la mimine !
--> sauver le fichier avec le même nom
/home/ll/films/film/subs/film-2.srt
6. lancer le script python n°4 avec comme argument le nom du film
python 4-srt3lines.py film
Ce script affiche toutes les lignes n'ayant qu'un seul caractère (qu'il faudra corriger à la main) et formate les sous-titres sur 3 lignes pour avoir un alignement vers le bas avec avidemux
--> fichier de sortie :
/home/ll/films/film/subs/film-3.srt
7. Voilà, c'est fini, on a son beau fichier SRT qu'on peut utiliser dans avidemux (hors demuxage, la manip prend 10-15 minutes avec l'habitude).
E. REMARQUES
Tous les commentaires sont les bienvenus, surtout que le python n'est pas mon dada !
Je sais que avidemux à un outil pour utiliser les VOB des DVD mais ça ne fonctionne pas avec les fichiers TS, de toutes façons, il faut toujours demuxer les fichiers TS si on ne veut avoir l'audio synchro avec la vidéo.