Convertire ASS in SSA
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
In questa direzione non si perde nulla: ogni caratteristica del formato di partenza ha un posto dove andare nel formato di destinazione.
Questo elenco deriva dalla matrice delle capacità di questi due formati, non dal particolare file caricato. Un file specifico può perdere di più se usa caratteristiche che il formato consente ma la matrice non modella.
Questa pagina converte un copione Advanced SubStation Alpha nel dialetto più vecchio, SubStation Alpha. È la stessa famiglia di formato a una versione di distanza: cambiano l’intestazione, il tipo di script dichiarato e l’elenco delle colonne della tabella di stile, mentre le righe Dialogue e i loro tempi restano identici.
Il caso che di solito spinge a questa conversione è un lettore o un editor che conosce SSA ma non ASS. In quella direzione i nomi delle colonne seguono il dialetto di destinazione: il colore del contorno passa da OutlineColour a TertiaryColour, e le colonne che il dialetto vecchio non prevede vengono ricomposte secondo il suo schema. Ciò che entrambi i dialetti sanno esprimere — testo, tempi, codici di override, karaoke e stile per evento — sopravvive interamente.
L’output è UTF-8 senza BOM, con fine riga Unix, qualunque cosa usasse il copione in ingresso; un file o una stagione intera vengono elaborati in coda e scendono come un solo ZIP.
Esempi
Un file ASS tipico, convertito in SSA
Ingresso
[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
Uscita
[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
Qui non si perde nulla: confrontare le due parti riga per riga.
La stessa conversione su un input irregolare
Ingresso
[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 timecodeUscita
[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
L’input irregolare porta fine riga miste e una riga vuota di troppo: il copione SSA esce comunque con la tabella e gli eventi nell’ordine previsto.
Domande frequenti
Che cosa cambia davvero tra ASS e SSA?
L’elenco delle colonne della tabella di stile, la riga del tipo di script e l’intestazione della sezione degli stili. Righe Dialogue, codici di override e sintassi dei tempi sono condivisi: per questo un copione si converte tra i due dialetti senza toccare un solo blocco.
Il colore del contorno ASS sopravvive nell’SSA?
Sì. La colonna `OutlineColour` di V4+ e la colonna `TertiaryColour` di SSA contengono lo stesso tipo di valore nello stesso tipo di posto: cambia solo il nome nell’intestazione. Il convertitore le mappa l’una sull’altra invece di scartarne una.
L’output SSA funzionerà ancora in un lettore più vecchio?
Di solito è proprio il motivo per cui si converte così. L’output dichiara il tipo di script più vecchio e usa la sezione degli stili più vecchia, che è ciò che quei renderer si aspettano. Un file più recente caricato da un lettore vecchio di solito mostra i dialoghi ma ignora tutto lo stile.
I tempi ASS vengono toccati nell’SSA?
No. Entrambi i dialetti scrivono il tempo come ore, minuti, secondi e centesimi, quindi ogni codice viene copiato invariato e i sottotitoli restano sincronizzati con lo stesso video.
E se il mio copione ASS usa colonne del dialetto SSA?
Viene letto in base all’elenco di colonne dichiarato nel file, non per posizione. Qualunque sia l’ordine delle colonne, i valori vengono abbinati ai ruoli giusti e l’output viene scritto nell’ordine previsto dal dialetto di destinazione.