Convertir VTT en SRT
Ou collez le texte d'un sous-titre
Ce que cette conversion change
2 éléments perdus ou à décider
- Style
tout le style (gras, italique, couleur, contour, ombre)
- Contenu propre au format
le contenu que le format source garde hors de ses blocs (blocs hors sous-titres, texte d'en-tête, réglages par bloc, événements commentés) — le format cible n'a nulle part où le mettre
Ce rapport de pertes vient de la matrice de capacités de ces deux formats, pas du fichier particulier que vous avez chargé. Un fichier précis peut perdre davantage s'il utilise des fonctionnalités que le format autorise mais que la matrice ne modélise pas.
Cette page convertit un WebVTT en SRT. Les deux formats portent les mêmes sous-titres, donc le texte, les retours à la ligne et les temps passent à la milliseconde. La syntaxe change : chaque code temporel VTT de la forme 00:00:01.000 devient 00:00:01,000, car le SRT écrit une virgule là où le WebVTT écrit un point, et la ligne d'en-tête WEBVTT disparaît, car un fichier SRT n'a pas d'en-tête.
Ce qui ne passe pas, c'est tout ce que le WebVTT stocke en dehors des blocs : le commentaire éventuel de l'en-tête, les blocs NOTE, STYLE et REGION, et les réglages qui suivent un code temporel comme align:start ou position:10%. La syntaxe du SRT n'a aucune case pour eux, donc ils sont écartés au lieu d'être réinterprétés, et les identifiants de blocs deviennent des numéros séquentiels, car le compteur du SRT doit rester numérique.
Une entrée abîmée passe sans erreur : en-tête absent, fins de ligne Windows, ligne parasite avant un code temporel ou BOM. Un fichier ou une saison, avec un ZIP à la fin.
Exemples
Un fichier VTT typique, converti en SRT
Entrée
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
Sortie
1
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:04,500 --> 00:00:08,000
Second line with <i>italics</i>.
Les pertes annoncées sont le style et le contenu propre au VTT : le texte se compare ligne par ligne.
La même conversion sur une entrée mal formée
Entrée
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
Sortie
1
00:00:01,000 --> 00:00:02,000
No header, two lines before the timecode.
C'est le genre de dégâts que portent les vrais fichiers : fins de ligne mélangées, espaces parasites, champs vides. Comparez avec l'exemple propre ci-dessus pour voir ce que l'analyseur pardonne.
Questions fréquentes
Les temps du WebVTT changent-ils en passant au SRT ?
Non : 00:00:01.250 en VTT et 00:00:01,250 en SRT nomment le même instant, et chaque début et chaque fin sont recopiés à la milliseconde. Seul le caractère entre les secondes et les millisecondes change.
Que deviennent l'en-tête WEBVTT et les blocs NOTE, STYLE et REGION dans le SRT ?
Ils sont écartés : le SRT n'a ni en-tête ni syntaxe de bloc. STYLE est le plus coûteux, car il porte souvent les règles de mise en page de tout le document ; si le lecteur s'y appuyait, ce style doit être déplacé ailleurs.
Que deviennent les réglages align:start ou position:10% dans le SRT ?
Ils sont perdus : le SRT ne place pas un bloc à l'écran. Si la position compte dans le résultat, il faut convertir vers ASS, où le placement vit dans des codes de surcharge comme \an7 et \pos et suit le texte.
Les identifiants de blocs du VTT survivent-ils dans le SRT ?
Non : le WebVTT accepte un identifiant libre comme intro ou sign-1, mais le compteur du SRT doit être numérique. La sortie est donc renumérotée 1, 2, 3, comme l'attendent les analyseurs SRT stricts.
Le SRT produit peut-il être relu par tous les lecteurs ?
Oui : la sortie est un SRT ordinaire, numéroté, avec des codes temporels à virgule et aucun en-tête. Elle est écrite en UTF-8, avec des fins de ligne Unix et sans BOM.
Peut-on convertir un VTT confidentiel par cette page ?
Oui : l'analyse et l'écriture se font dans l'onglet du navigateur. Aucune requête ne transporte les sous-titres, et la page continue de convertir réseau coupé une fois chargée.