Le WebVTT est le format de sous-titres qu’un navigateur sait lire. Et c’est le seul : branchez un SRT sur une vidéo HTML5 et il ne se passe absolument rien. Ni erreur, ni avertissement, ni sous-titre.
Son extension est .vtt et, à l’intérieur, il ressemble beaucoup à un SRT. Trois choses changent : il porte un en-tête obligatoire, il met un point là où un SRT met une virgule, et il sait exprimer considérablement plus qu’un SRT n’y parvient.
Ce qu’il y a dedans
WEBVTT
1
00:00:04.120 --> 00:00:06.480
Avant d'entrer dans les chiffres,
revoyons où nous en sommes.
2
00:00:06.600 --> 00:00:09.000 line:90% align:start
Ce que je n'attendais pas,
c'était la chute de la deuxième semaine.
Cette première ligne est obligée de dire WEBVTT. Si elle n’apparaît pas, si une marque d’ordre des octets se place devant elle, ou si une ligne vide la précède, le navigateur se débarrasse du fichier entier.
À partir de là, les mêmes blocs qu’avant. Avec deux différences qui se voient d’un coup d’œil : le point devant les millisecondes, et la possibilité d’accrocher des réglages au bout de la ligne de temps.
Ce qu’il ajoute par rapport à un SRT
Position et alignement. line:90% fait descendre le sous-titre, align:start le colle à gauche et position:20% le décale sur le côté. Pratique pour ne pas recouvrir une incrustation déjà présente dans l’image.
Style. Un bloc STYLE avec du vrai CSS en tête de fichier, et des classes semées dans le texte au moyen de <c.narrateur>. Couleurs, tailles, ombres.
Qui parle. Une étiquette <v Marta>Bonjour</v> est la façon dont la voix est marquée. Les lecteurs capables de la reconnaître peuvent la peindre d’une autre couleur ; les autres passent devant sans s’arrêter. Sur un entretien ou une réunion, c’est la frontière entre un mur de texte et quelque chose de lisible.
Notes et régions. Les blocs NOTE gardent des commentaires que personne ne voit, et REGION délimite des zones de l’écran avec leur propre défilement, comme les incrustations qui remontent sur un direct.
Identifiants de réplique. Au-dessus de la ligne de temps, chaque bloc accepte un nom — intro, question-3 — pour le désigner depuis JavaScript.
Quand il vous faut un VTT
Chaque fois que la vidéo se lit dans un navigateur. Si votre page contient une <video> avec son <track>, ce fichier doit être du WebVTT :
<video controls>
<source src="reunion.mp4" type="video/mp4" />
<track src="reunion.vtt" kind="subtitles" srclang="fr" label="Français" default />
</video>
Et de même avec les lecteurs web d’aujourd’hui (Video.js, Plyr, Shaka) et avec la diffusion HLS, qui distribue les sous-titres sous forme de segments WebVTT.
Passé la porte du navigateur, presque personne ne le réclame : les logiciels de montage de bureau, les lecteurs que tout le monde a toujours utilisés et presque tous les formulaires d’envoi attendent encore un SRT.
Deux choses qui cassent et qui ne sont pas la faute du fichier
Le serveur est obligé de l’envoyer en text/vtt. Remis en text/plain ou en application/octet-stream, certains navigateurs le jettent. Cela se règle dans la configuration du serveur, jamais dans le fichier.
Et il doit venir de la même origine, ou apporter CORS. Un .vtt hébergé sur un autre domaine sans l’en-tête Access-Control-Allow-Origin ne se charge jamais, même si l’adresse marche à merveille quand vous l’ouvrez à la main. C’est la première cause du classique « la vidéo se lit, les sous-titres non ».
Aucun des deux n’est un problème de contenu et aucun ne laisse d’erreur visible sur la page. Ils apparaissent dans l’onglet réseau des outils du navigateur, et seulement si vous savez qu’il faut aller y regarder.
Le convertir
Le trajet du SRT vers le VTT est simple : poser l’en-tête, mettre un point là où était la virgule, et échapper ces caractères & et < qu’un SRT garde comme du texte et que le WebVTT prendrait pour du balisage. Notre convertisseur SRT en VTT règle les trois dans votre navigateur, sans que le fichier en sorte.
En sens inverse, tout ce qu’un SRT ne sait pas dire reste dehors — la position, le style, les régions —, et le convertisseur VTT en SRT l’écarte donc et transforme les étiquettes de voix en un « Marta : » qui ouvre la ligne, la façon dont un SRT sait le montrer. Lequel choisir et pour quoi.
Si ce que vous avez, c’est la vidéo et pas les sous-titres
Importez-la et nous vous remettons la transcription avec ses minutes, chaque voix séparée et nommée, et un résumé. Le VTT en tombe déjà assemblé et avec les voix marquées. Sans compte pour commencer.