Aller au contenu principal
SubtitleMatrix

Convertir SBV en SSA

Ou collez le texte d'un sous-titre

Ce que cette conversion change

1 élément perdu ou à décider

  • Précision

    la précision du minutage — l'horloge de la sortie est plus grossière, chaque code temporel est donc arrondi au 10 ms le plus proche

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 SBV en SSA (SubStation Alpha v4.00). Le SBV ne porte que des blocs de texte et deux temps ; le SSA ajoute un en-tête, une table `[V4 Styles]` et des événements dont la première colonne est `Marked`.

La conversion perd une seule chose : la précision, puisque SSA écrit les instants en centièmes alors que le SBV les écrit en millisecondes. Les timecodes sont arrondis aux 10 ms les plus proches, avec au plus 5 ms d’écart. La liste affichée en haut de page est calculée à partir de ce que chaque format sait exprimer, et non de votre fichier : elle reste donc identique quel que soit le contenu déposé.

Le fichier produit est un SSA complet, avec `ScriptType: v4.00` et `[V4 Styles]`. Le fichier est traité dans le navigateur, sans envoi ni inscription. Un lot complet peut être déposé d’un coup : la file travaille dans l’ordre, l’opération est annulable et les résultats reviennent dans une archive ZIP.

Exemples

Un fichier SBV courant converti en SSA

Entrée

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

Sortie

[Script Info]
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
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,The quick brown fox.
Dialogue: 0,0:00:04.00,0:00:06.25,Default,,0,0,0,,Jumps over the lazy dog.
Dialogue: 0,0:00:07.00,0:00:09.00,Default,,0,0,0,,Two lines here.\NAnd a second one.

Perdue dans cette sortie : la précision au millième. Le fichier gagne l’en-tête SSA, sa table de styles et des dialogues avec la colonne Marked.

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

Entrée

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

Sortie

[Script Info]
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
Dialogue: 0,0:00:02.00,0:00:04.00,Default,,0,0,0,,Carriage-return line endings.
Dialogue: 0,0:00:06.00,0:00:08.00,Default,,0,0,0,,Indented timecode, no final newline.

Retours chariot, espaces parasites et bloc sans fin de ligne : les blocs valides sont convertis, les réparations de durée sont signalées dans le rapport.

Questions fréquentes

Pourquoi les horodatages changent-ils d’un SBV vers un SSA ?

SSA écrit `0:00:04.13`, en centièmes, là où le SBV écrit `0:00:04.126`, en millisecondes. Chaque timecode est donc arrondi aux 10 ms les plus proches, ce qui déplace un bloc de 5 ms au maximum. Rien n’est étiré ni réordonné, mais l’exactitude au millième disparaît.

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

À un script SSA : `[Script Info]` avec `ScriptType: v4.00`, une table `[V4 Styles]` avec sa ligne `Format:`, puis `[Events]` où chaque sous-titre est un `Dialogue:` commençant par `Marked=0`. Un bloc SBV donne un dialogue, dans le même ordre.

Comment un bloc SBV sur deux lignes sort-il en SSA ?

Les deux lignes sont jointes par `\N`, l’échappement que SSA utilise pour un saut de ligne dur. Elles restent un seul dialogue, donc un seul sous-titre à l’affichage, exactement comme dans le fichier SBV d’origine.

Les blocs SBV conservent-ils leur ordre dans la sortie SSA ?

Oui, avec un tri par heure de début au passage. Un fichier SBV dont les blocs se chevauchaient ressort rangé par début croissant ; c’est un changement de structure assumé, qui ne touche ni le texte ni les durées.

Que perd le retour du SSA vers le SBV ?

Le SSA vers SBV perd le style, la position, le karaoké et les constructions propres au SSA — `[Script Info]`, table `[V4 Styles]`, lignes `Comment:`, polices intégrées. Cette page-ci, dans l’autre sens, ne perd que la précision du temps.

Le SSA produit conserve-t-il l’encodage du fichier SBV ?

Non. La sortie est en UTF-8, avec des fins de ligne Unix et sans BOM, quel que soit l’encodage d’entrée. Le fichier SBV peut arriver en UTF-16 ou dans un encodage Windows : il est décodé à la lecture et le panneau de résultat le signale.

Outils associés