Structure d'un fichier SRT expliquée ligne par ligne
Dans cet article 8 parties
Un fichier SRT est une suite de blocs séparés par une ligne vide. Chaque bloc contient un numéro, une ligne d'horodatage début --> fin et une ou plusieurs lignes de texte.
Exemple annoté
1
00:00:01,000 --> 00:00:03,500
Bonjour à tous !
2
00:00:04,000 --> 00:00:06,000
C'est l'été.
Très chaud, même.
Les quatre éléments d'un bloc
- Le numéro (
1,2…) : un entier, en général croissant de 1 en 1. Il sert d'identifiant et d'ordre de lecture. - L'horodatage :
HH:MM:SS,mmm --> HH:MM:SS,mmm. Heures, minutes et secondes sur deux chiffres, millisecondes sur trois, virgule avant les millisecondes, un espace de chaque côté de la flèche. Le premier est l'instant d'apparition, le second l'instant de disparition. - Le texte : une ou plusieurs lignes juste sous l'horodatage, sans ligne vide entre les deux. Les sous-titres ont en général une à deux lignes.
- La ligne vide : elle ferme le bloc. Elle ne doit apparaître ni entre le numéro et l'horodatage, ni entre l'horodatage et le texte, ni dans le texte.
Règles de cohérence
- La fin d'un sous-titre doit être postérieure à son début.
- Les sous-titres se suivent dans l'ordre chronologique. Un léger chevauchement est toléré par la plupart des lecteurs, mais il est déconseillé.
- Les minutes et secondes vont de 00 à 59.
Encodage et détails pratiques
- Enregistrez en UTF-8 pour que les accents du français s'affichent correctement partout. Si ce n'est pas le cas, voyez accents cassés dans les sous-titres.
- Les balises
<i>,<b>et<u>(italique, gras, souligné) sont souvent reconnues, mais pas par tous les lecteurs. - Le SRT n'a pas d'en-tête, contrairement au WebVTT : comparez dans SRT ou VTT.
Un format sans norme officielle unique
Le SRT s'est imposé par l'usage plutôt que par une spécification officielle unique. Les lecteurs en acceptent donc des variantes plus ou moins larges : un fichier qui passe dans un lecteur peut échouer dans un autre, plus strict. C'est la cause la plus courante du « chez moi ça marche ». Pour repérer ce qui s'écarte de la forme classique décrite ici, utilisez le vérificateur SRT ; pour comprendre chaque écart, lisez les erreurs courantes dans un fichier SRT.
Cas courants dans un même fichier
L'exemple annoté plus haut montre la forme de base. Un fichier réel contient aussi des blocs à deux lignes, des passages en italique et des dialogues. Voici comment ils s'écrivent :
3
00:00:07,200 --> 00:00:09,800
<i>Voix à la radio :</i>
Il fera beau demain.
4
00:00:10,000 --> 00:00:12,400
- Tu viens avec nous ?
- Oui, j'arrive.
- Bloc 3 : deux lignes, dont la première en italique, convention fréquente pour une voix hors champ ou un son venant d'un appareil.
- Bloc 4 : deux répliques de deux personnes, chacune introduite par un tiret. C'est l'usage courant pour un dialogue dans un même sous-titre.
Variantes que l'on rencontre
Parce que le format n'a pas de norme officielle unique, certains logiciels ajoutent des éléments que d'autres ignorent ou rejettent :
- Des codes de position entre accolades, comme
{\an8}en début de texte pour placer un sous-titre en haut de l'écran. Ils viennent d'un autre format (SSA/ASS) ; certains lecteurs les comprennent, d'autres les affichent tels quels. - Des coordonnées après l'horodatage (
X1:… Y1:…) produites par d'anciens outils : à supprimer si la plateforme les refuse. - La balise
<font color="…">pour colorer le texte : reconnue par certains lecteurs de bureau, ignorée par beaucoup de plateformes.
Pour un fichier destiné à plusieurs plateformes, restez sur la forme de base : texte, italique éventuel, rien d'autre.
Questions fréquentes
Un fichier SRT peut-il contenir plusieurs langues ?
Techniquement, rien n'empêche d'écrire deux langues dans un même sous-titre, mais l'usage est d'avoir un fichier par langue. Les plateformes et les lecteurs proposent alors le choix de la langue à l'utilisateur.
Quelle extension et quel nom donner au fichier ?
L'extension est .srt. Beaucoup de lecteurs chargent automatiquement un fichier qui porte le même nom que la vidéo, avec un code de langue avant l'extension, par exemple film.fr.srt.