Convertir ASS en SSA
Ou collez le texte d'un sous-titre
Ce que cette conversion change
Rien n'est perdu dans ce sens — chaque fonctionnalité du format source a un équivalent dans le format cible.
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 ASS en SSA. Les deux formats décrivent le même genre de script, donc la conversion est sans perte : les Dialogue, la table de styles et les codes de surcharge restent, et les temps ne bougent pas puisque les deux comptent au centième de seconde.
La syntaxe change à trois endroits. Le champ ScriptType de [Script Info] passe de v4.00+ à v4.00. La section [V4+ Styles] devient [V4 Styles]. Et la colonne OutlineColour, propre à l'ASS, devient TertiaryColour dans le SSA. Les autres colonnes sont appariées selon la liste déclarée dans l'en-tête, ce qui évite de décaler une valeur quand un fichier omet un champ.
Un fichier ou une saison entière, traité dans le navigateur, avec un seul ZIP à la fin.
Exemples
Un fichier ASS typique, converti en SSA
Entrée
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Sortie
[Script Info]
Title: Example
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,0,0,1,2,2,2,10,10,10,,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,,&H00000000,-1,0,1,2,2,2,10,10,10,,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:21.00,0:00:24.00,Default,,0,0,0,,Top left
Aucune perte n'est annoncée ici : rien ne se compare, tout est conservé.
La même conversion sur une entrée mal formée
Entrée
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeSortie
[Script Info]
Title: Dirty sample
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,-1,0,1,2,2,2,10,10,10,,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.50,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\Nbreak
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
Que perd un ASS en devenant un SSA ?
Rien : les deux formats décrivent le même modèle de script. Les Dialogue, la table de styles, les codes de surcharge et les temps restent, et aucune information n'est écartée au passage.
Pourquoi la section [V4+ Styles] devient-elle [V4 Styles] ?
Parce que c'est le nom de section du SSA. Le contenu est le même, seule l'étiquette change ; un lecteur SSA qui ne reconnaît pas [V4+ Styles] lirait un fichier vide, donc la section est renommée pendant l'écriture.
Que devient la colonne OutlineColour d'un ASS dans le SSA ?
Elle devient TertiaryColour, qui est le nom de cette colonne dans le SSA. La valeur ne change pas : c'est la même couleur de contour, écrite sous l'étiquette attendue par la cible.
Les codes temporels changent-ils entre ASS et SSA ?
Non : les deux comptent au centième de seconde et écrivent 0:00:04.13. La conversion ne fait donc aucun arrondi, aucun décalage et aucune conversion d'unité entre les deux formats.
Le champ ScriptType du script est-il modifié ?
Oui : v4.00+ devient v4.00, car c'est ainsi qu'un SSA se déclare. Sans ce changement, un lecteur pourrait interpréter le fichier comme un ASS et attendre des colonnes qui ne sont pas là.
Les colonnes de style sont-elles appariées par position ou par nom ?
Par nom, selon la liste déclarée dans l'en-tête. Un fichier qui omet une colonne ne décale donc pas les valeurs suivantes, ce qui est le risque principal d'une conversion écrite à la main.
Peut-on convertir un script confidentiel par cette page ?
Oui : l'analyse et l'écriture se font dans l'onglet du navigateur, sans requête portant le texte ou les styles. La page continue de convertir réseau coupé une fois chargée.