Accueil Informatique Le fichier SRT décrypté, et pourquoi le vôtre affiche parfois des «...

Le fichier SRT décrypté, et pourquoi le vôtre affiche parfois des « é »

Téléchargez un fichier .srt au hasard sur le web, et une fois sur trois il affichera « é » à la place des « é ». Ce petit fichier texte de quelques kilo-octets gère pourtant l’intégralité des sous-titres que vous voyez sur YouTube, Netflix ou dans VLC. Je l’ai créé, cassé et réparé des dizaines de fois. Voici ce qui se passe vraiment à l’intérieur, et les deux ou trois détails qui font la différence entre un sous-titrage propre et un charabia illisible.

Trois lignes, une logique : ce que contient vraiment un fichier SRT

Un fichier SRT (pour SubRip Text) est un simple fichier texte. Pas de vidéo, pas d’image, juste du texte horodaté. Ouvrez-le dans le Bloc-notes et vous verrez des blocs qui se répètent, chacun construit sur quatre éléments : un numéro d’ordre, une ligne de timecode , le texte du sous-titre, puis une ligne vide qui sépare le bloc du suivant.

Le timecode suit un format strict : 00:00:10,000 --> 00:00:15,000. Heures, minutes, secondes sur deux chiffres, millisecondes sur trois, et surtout une virgule avant les millisecondes, jamais un point. Le point, c’est la norme WebVTT , pas SRT. Un fichier qui utilise des points fera sauter le sous-titre concerné sur les lecteurs stricts. La flèche --> doit comporter exactement deux tirets et un chevron, avec un espace de chaque côté.

Schéma illustrant la structure d'un fichier SRT avec blocs de sous-titres et timecodes

La ligne vide entre deux blocs n’est pas décorative. Supprimez-la et le lecteur fusionne les sous-titres ou abandonne le fichier. Côté texte, restez à deux lignes maximum par sous-titre : au-delà, l’affichage déborde sur les petits écrans et le spectateur n’a pas le temps de lire.

Le créer soi-même tient en cinq minutes, avec un piège à la sauvegarde

Pas besoin de logiciel payant. Le Bloc-notes sous Windows ou TextEdit sur Mac suffit pour produire un fichier de sous-titres valide. Vous tapez le numéro 1, le timecode, le texte, une ligne vide, puis le bloc suivant, et ainsi de suite jusqu’au bout de la vidéo.

Le piège classique se cache au moment d’enregistrer. TextEdit et le Bloc-notes sauvegardent en .txt par défaut. Il faut forcer l’extension .srt à la main dans le champ du nom de fichier, sinon votre lecteur ne reconnaîtra jamais le fichier comme un sous-titre. Sur Mac, TextEdit ajoute en plus une mise en forme « texte enrichi » qu’il faut désactiver via Format puis « Convertir au format Texte », faute de quoi le fichier embarque des balises invisibles.

Pour une vidéo de plus de dix minutes, taper les timecodes à la main devient vite pénible. À partir de ce volume, un éditeur dédié comme Subtitle Edit (gratuit) ou un générateur automatique par reconnaissance vocale fait gagner un temps considérable, en calant les horodatages sur l’audio. Le manuel reste imbattable pour corriger trois lignes, l’automatique pour transcrire une heure de contenu.

Pourquoi vos accents virent au charabia

C’est l’erreur numéro un, et elle n’a rien à voir avec la synchro. Les « é », « è » et autres symboles bizarres viennent presque toujours d’un problème d’encodage. Le fichier a été enregistré en Windows-1252 ou Latin-1 au lieu de l’UTF-8. Le sournois, c’est que le problème reste invisible dans l’éditeur qui a créé le fichier. Il n’apparaît qu’à la lecture, ou après l’envoi sur une plateforme.

Illustration représentant différents encodages de caractères en conflit, notamment Windows-1252 et UTF-8

La correction prend dix secondes : rouvrez le fichier et réenregistrez-le en UTF-8. Dans le Bloc-notes, choisissez « UTF-8 » dans le menu déroulant d’encodage, et pas « UTF-8 avec BOM ». Ce BOM (un caractère invisible en début de fichier) casse le tout premier sous-titre sur de nombreux lecteurs en ligne. Sur Linux, une seule commande règle l’affaire : iconv -f ISO-8859-1 -t utf-8 ancien.srt > nouveau.srt.

Retenez une asymétrie utile. VLC est extrêmement tolérant : il devine l’encodage, pardonne les virgules manquantes et affiche presque tout. YouTube, Vimeo et la plupart des plateformes en ligne utilisent des analyseurs bien plus stricts. Un fichier qui passe nickel dans VLC peut être rejeté à l’upload. Testez donc toujours sur la plateforme de destination, jamais seulement sur votre lecteur local.

Sous-titres en décalage : la vraie réparation

Quand les sous-titres arrivent avant ou après la voix, le réflexe dans VLC est d’appuyer sur G et H pour les avancer ou les retarder par paliers de 50 millisecondes. Ça dépanne pendant le visionnage, mais le réglage disparaît dès que vous fermez le lecteur. Pour un correctif fin à la milliseconde, passez par Outils puis Synchronisation des pistes.

Avant de bricoler, identifiez le type de décalage, car les deux ne se réparent pas pareil. Un décalage fixe reste constant du début à la fin : il suffit d’ajouter ou de retrancher le même nombre de millisecondes à tous les timecodes, ce que Subtitle Edit fait en un clic. Une dérive progressive , où l’écart grandit au fil de la vidéo, trahit un problème de fréquence d’images (fps). Là, un simple décalage global ne suffit pas, il faut un rééchantillonnage proportionnel des timecodes.

Pour les vidéastes qui veulent tout caler à l’image près, Aegisub propose une synchronisation image par image. Et si vous doutez du fps de votre vidéo, MediaInfo vous le donne en deux secondes : un sous-titre prévu pour du 25 fps appliqué à une vidéo en 23,976 fps dérive d’environ une seconde toutes les dix minutes.

SRT, VTT, ASS : lequel pour quel usage

Le SRT domine parce qu’il est lisible par à peu près tout, de VLC à Premiere Pro en passant par les réseaux sociaux. Sa limite : il ne gère ni la couleur fiable, ni le positionnement précis, ni les polices. Quelques balises de style HTML basiques passent, mais leur affichage varie d’un lecteur à l’autre, donc à éviter pour une diffusion large.

Le format VTT (WebVTT) est le cousin du SRT pensé pour le web et le HTML5. Il accepte le positionnement et un peu de mise en forme, au prix d’une compatibilité moindre sur les lecteurs de bureau. Le format ASS (Advanced SubStation Alpha), lui, gère karaoké, animations et typographies avancées, ce qui en fait le favori du fansub. Pour 90 % des besoins (une vidéo sociale, un film, une formation), le SRT reste le bon choix par défaut. Réservez le VTT au site web et l’ASS aux sous-titrages créatifs.

Autres points

Comment ouvrir un fichier SRT sur téléphone ? Sur smartphone, le fichier seul ne s’ouvre pas comme une vidéo. Placez le .srt dans le même dossier que la vidéo, avec exactement le même nom (par exemple film.mp4 et film.srt), puis lisez la vidéo avec VLC mobile ou MX Player : le sous-titre se charge automatiquement. Pour juste lire le texte, n’importe quel éditeur de notes fait l’affaire.

Peut-on intégrer définitivement les sous-titres dans la vidéo ? Oui, c’est l’incrustation (ou hardcode). Le texte devient une partie de l’image, impossible à désactiver, mais lisible partout sans fichier séparé. Un logiciel comme HandBrake ou un réencodage avec FFmpeg fait le travail. À privilégier quand la plateforme cible ne gère pas les sous-titres externes, à éviter si vous voulez garder la possibilité de couper ou traduire les sous-titres.

En résumé

Un fichier SRT réussi tient à trois réflexes : enregistrer en UTF-8 sans BOM, mettre une virgule (pas un point) devant les millisecondes, et garder la ligne vide entre chaque bloc. Faites ces trois choses bien et 95 % des problèmes d’affichage disparaissent. Pour le reste, gardez toujours une copie du fichier original avant de toucher aux timecodes : un décalage mal corrigé est plus pénible à rattraper qu’un décalage de départ.