Aller au contenu principal
SubtitleMatrix

Convertir SSA en VTT

Conversion de formatsSubStation Alpha (SSA)
Ou collez le texte d'un sous-titre

Ce que cette conversion change

4 éléments perdus ou à décider

  • Style

    tout le style sauf le gras et l'italique (couleur, contour, ombre, marges)

  • Positionnement

    le positionnement à l'écran (chaque bloc revient à la position par défaut)

  • Karaoké

    le minutage karaoké (surlignage par syllabe)

  • 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 fichier SSA en WebVTT, le format des sous-titres HTML5. La sortie commence par `WEBVTT`, puis chaque bloc porte ses deux timecodes séparés par `-->` ; un identifiant de bloc peut précéder le timecode, mais aucun lecteur ne l’affiche.

Dans ce sens, le style global, la position, le karaoké et les constructions propres au SSA sont perdus — y compris les blocs `[Script Info]`, `[Fonts]` et `[Graphics]` qui intègrent polices et images. La liste affichée en haut de page vient de ce que chaque format sait exprimer, pas de votre fichier : elle ne change donc pas selon ce que vous déposez.

Le traitement se fait dans le navigateur, sans envoi de fichier ni inscription. Plusieurs fichiers peuvent être déposés d’un coup : la file les traite dans l’ordre et les résultats repartent ensemble dans une archive ZIP.

Exemples

Un fichier SSA courant converti en WebVTT

Entrée

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Sortie

WEBVTT

00:00:01.000 --> 00:00:04.000
Hello there.

00:00:05.000 --> 00:00:08.000
<i>Italic</i> line.

00:00:09.000 --> 00:00:12.000
Two
lines

Perdus dans cette sortie : le style global, la position, le karaoké et les constructions propres au SSA. Le texte et les temps sont inchangés.

La même conversion sur une entrée abîmée

Entrée

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

Sortie

WEBVTT

00:00:01.000 --> 00:00:04.000
<b>Bold</b> and <u>underlined</u>.

00:00:05.000 --> 00:00:08.000
A soft
break and a {\p1}mystery{\p0} code.

Fins de ligne mélangées, BOM et champs vides : le WebVTT produit reste valide, les balises inline sont normalisées et les réparations sont signalées.

Questions fréquentes

Quel style survit d’un SSA vers un WebVTT ?

L’accentuation du texte, rendue par `<b>`, `<i>`, `<u>` et `<font color="…">`, que les navigateurs appliquent. La table de styles du SSA, elle, ne passe pas : police, taille, contour, ombre et marges disparaissent, et la page qui intègre le fichier VTT applique sa propre CSS.

Où passe la position à l’écran lors d’une conversion SSA vers VTT ?

Le WebVTT ne sait pas où dessiner un sous-titre : les codes `\pos`, `\an` et `\move` sont abandonnés. Chaque bloc revient à la position par défaut choisie par le lecteur, en bas et centré dans la majorité des cas.

Que devient le karaoké d’un SSA dans un fichier WebVTT ?

Le minutage interne disparaît, les mots restent. Les codes `\k`, `\kf` et `\ko` décrivent l’allumage de syllabes à l’intérieur d’une ligne, ce que le VTT ne modélise pas : les marques sont retirées et les syllabes arrivent en texte ordinaire.

Que deviennent `[Script Info]` et les polices intégrées dans le WebVTT ?

Seuls les `Dialogue:` deviennent des blocs. `[Script Info]`, son titre, la table de styles, les lignes `Comment:` et le contenu de `[Fonts]` et `[Graphics]` sont abandonnés. Le WebVTT ne transporte pas de police et ne garde pas de réglages globaux de script.

À quoi ressemble la sortie quand un SSA devient un WebVTT ?

À du WebVTT : l’en-tête `WEBVTT`, puis un bloc par sous-titre avec `00:00:04.130 --> 00:00:07.000` et le texte en dessous. Un dialogue SSA sur deux lignes reste deux lignes dans le même bloc.

Les temps du SSA sont-ils exacts dans le fichier WebVTT ?

Oui. SSA écrit `0:00:04.13`, soit 4 130 ms, et le WebVTT écrit `00:00:04.130` : même instant, même durée, aucun arrondi. La milliseconde est la finesse maximale des deux formats, et elle est atteinte sans perte.

Outils associés