Comment convertir les sous-titres SRT en WebVTT
Chargez le fichier dans Subtitle Toolkit – le format est détecté automatiquement – et téléchargez-le dans l’autre format. Les timings sont conservés en interne sous forme de millisecondes entières, de sorte que la conversion est exacte et que l'aller-retour n'accumule pas de dérive.
Renommer le fichier ne fonctionne pas. Un fichier WebVTT doit commencer par la ligne littérale WEBVTT et doit utiliser un point plutôt qu'une virgule avant les millisecondes. Un navigateur qui reçoit un SRT renommé n'affiche généralement rien du tout, sans aucune erreur expliquant pourquoi.
Les trois différences qui interrompent réellement la lecture
Tout d’abord, l’en-tête. Un fichier WebVTT commence par le mot WEBVTT sur sa propre première ligne. SRT n'a pas d'en-tête et commence par le premier signal. Cette seule ligne manquante est la raison la plus courante pour laquelle un fichier converti échoue silencieusement dans un navigateur.
Deuxièmement, le séparateur de millisecondes. SRT écrit 00:00:01 500 avec une virgule ; WebVTT écrit 00:00:01.500 avec un point. Un joueur qui attend l'un et étant donné l'autre rejette généralement le signal.
Troisièmement, la numérotation des repères. SRT place classiquement un entier sur sa propre ligne avant chaque horodatage. Dans WebVTT, cet identifiant est facultatif et, lorsqu'il est présent, il peut s'agir de n'importe quelle chaîne plutôt que d'un nombre.
Il existe des différences plus petites qui comptent moins souvent. WebVTT permet d'omettre le composant heures, donc 01:30.000 signifie quatre-vingt-dix secondes. Il prend également en charge les paramètres de repère après l'horodatage, tels que line:90% align:center.
Ce qui survit à la conversion et ce qui ne survit pas
- Les timings survivent exactement, dans les deux sens. Les deux formats expriment des millisecondes entières.
- Les sauts de ligne à l’intérieur d’une réplique survivent. Ils sont importants pour la lisibilité et sont préservés.
- Les paramètres de repère tels que la ligne et l'alignement survivent dans VTT et sont supprimés dans SRT, car SRT n'a aucun moyen de les exprimer.
- Les blocs WebVTT STYLE et REGION sont ignorés plutôt que convertis, pour la même raison.
- Les numéros de repères sont renumérotés de manière contiguë à partir de 1 lors de l'exportation, ce qui corrige les lacunes et les doublons accumulés par les fichiers édités manuellement.
La validation a lieu au chargement
Chaque fichier est vérifié lors de son chargement et les résultats apparaissent au-dessus de l'aperçu. Chaque message nomme un numéro de cue spécifique, car "ce fichier n'est pas valide" est inutile dans un fichier de neuf cents cues.
Les erreurs sont de véritables casses : une cue se terminant avant d'avoir commencé, une cue commençant avant la précédente, un horodatage qui n'a pas pu être lu. Les avertissements sont techniquement valides mais généralement involontaires : un signal de durée nulle qui n'apparaîtra jamais, ou deux signaux qui se chevauchent pour s'afficher tous les deux en même temps.
Un signal mal formé n’abandonne pas le fichier. Le bloc défectueux est signalé et le reste se charge toujours, vous voyez donc l'ampleur du problème en un seul passage au lieu de corriger les erreurs un crash à la fois.
Supprimer le formatage pendant que vous y êtes
Les fichiers de sous-titres comportent souvent des balises : des balises de type HTML telles que l'italique et le gras, les balises de classe et vocales WebVTT et les blocs de remplacement SubStation qui contrôlent le positionnement.
L'action de suppression de formatage supprime tout cela tout en préservant les sauts de ligne à l'intérieur de chaque repère. Les entités de caractères telles que & sont délibérément laissées seules, car elles sont du contenu plutôt que du formatage.
Exemple concret : légendes pour un élément vidéo HTML5
Vous disposez de episode-01.srt d'un service de transcription et avez besoin de sous-titres pour une vidéo sur une page Web. La page utilise un élément de suivi, qui nécessite WebVTT.
Le fichier SRT commence ainsi :
1 / 00:00:02,000 --> 00:00:04,500 / Bienvenue dans la série.
- Chargez episode-01.srt dans la boîte à outils de sous-titres. Le format est détecté ; le nombre de cues et les éventuels messages de validation apparaissent.
- Corrigez tout ce qui est signalé comme une erreur. Les avertissements concernant les chevauchements valent le détour mais bloquent rarement la lecture.
- Télécharger en VTT.
Résultat : Un fichier commençant par la ligne WEBVTT, suivi de signaux dont l'horodatage est 00:00:02.000 --> 00:00:04.500 avec des points. Les repères sont renumérotés à partir de 1, le texte et ses sauts de ligne internes sont inchangés et les timings sont identiques à la milliseconde.
Ouvrez l'outil
Convertir les sous-titres dans la boîte à outils des sous-titres
Analyse et réécrit dans votre navigateur, ce qui est important pour les sous-titres sous embargo. Il ne transcrit ni ne traduit.
Ce que cela ne couvre pas
- SRT et WebVTT uniquement. Les formats ASS et SSA, TTML, SAMI et les sous-titres de diffusion intégrés ne sont ni lus ni écrits.
- Le positionnement des repères est conservé pour la sortie VTT uniquement ; l'exportation vers SRT le supprime.
- Les blocs STYLE et REGION sont ignorés plutôt que convertis.
- Cet outil transforme les fichiers de sous-titres que vous possédez déjà. Il ne transcrit pas l'audio et ne traduit pas.
- Les numéros de cue sont toujours renumérotés lors de l'exportation, donc un fichier dont la numérotation était délibérément non contiguë le perdra.