Convertire SRT in SSA
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
1 elemento viene scartato o richiede una decisione
- Precisione
la precisione della temporizzazione — l’orologio dell’uscita è più grossolano, quindi ogni timestamp è arrotondato al 10 ms più vicino
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 riscrive un file SRT come copione SubStation Alpha. Il risultato somiglia a un ASS per struttura, ma usa il dialetto più vecchio: i tempi si scrivono 0:00:04.13, i sottotitoli diventano righe Dialogue nella sezione [Events] e il numero del blocco finisce nel campo Marked.
Ogni blocco SRT diventa una riga SSA, nello stesso ordine e con lo stesso testo; due righe restano due righe, separate dal codice \N. I tempi vengono arrotondati al centesimo di secondo, quindi si perde la precisione oltre i 10 ms: nessun blocco si sposta di più di 5 ms.
L’output è UTF-8 senza BOM, con fine riga Unix, qualunque cosa usasse il file in ingresso; un file o una stagione intera vengono elaborati in coda e scendono come un solo ZIP.
Esempi
Un file SRT tipico, convertito in SSA
Ingresso
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
Uscita
[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,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,{\i1}Whispering{\i0} now.\NAnd a second line.
Dialogue: 0,0:00:06.00,0:00:09.25,Default,,0,0,0,,{\b1}Bold{\b0} statement.
In questo output si perde: la precisione. Il resto corrisponde riga per riga.
La stessa conversione su un input irregolare
Ingresso
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
Uscita
[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,,{\b1}Bold{\b0} and {\i1}italic{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,
Dialogue: 0,0:00:08.00,0:00:09.00,Default,,0,0,0,,Last one.
Fine riga mescolate, spazi superflui e campi vuoti sono l’usura normale dei file veri; qui si vede quanto il parser riesca a recuperarne.
Domande frequenti
Perché i tempi cambiano forma passando da SRT a SSA?
SSA scrive il tempo come `0:00:04.13`, con i centesimi, mentre SRT usa `00:00:04,126`, con i millisecondi. Ogni codice viene arrotondato ai 10 ms più vicini: `00:00:04,126` diventa 4,13 secondi. Nessun blocco si sposta di più di 5 ms, ma è il punto in cui questa conversione smette di essere esatta.
Che aspetto ha l’output quando SRT diventa SSA?
Ha l’aspetto di SSA: niente numeri di blocco, ogni sottotitolo è una riga `Dialogue:` nella sezione `[Events]`, con un campo `Marked` dove SSA conserva il numero. Ogni blocco SRT diventa un blocco SSA, nello stesso ordine e con lo stesso testo.
Come esce un blocco SRT di due righe in SSA?
Come due righe separate da `\N`, che è il modo in cui SSA scrive un a capo obbligato. L’accoppiamento sopravvive: le due righe SRT restano un solo sottotitolo nell’output SSA e il lettore le mostra insieme.
I blocchi SRT mantengono l’ordine nell’output SSA?
Sì, e lungo il percorso vengono ordinati per tempo di inizio, dal più antico, come ogni formato del sito si aspetta e come i lettori li leggono. Se il file SRT elencava i blocchi fuori sequenza, l’output SSA li rimette in ordine: è un cambiamento alla struttura del file, non al contenuto, ed è voluto.
Posso convertire l’SSA di nuovo in SRT?
Sì, ma quella direzione ha una lista propria e più lunga: da SSA a SRT si perdono stile, posizionamento, karaoke e contenuti specifici del formato. Le due liste differiscono perché i due formati conservano cose diverse.
L’output SSA mantiene la codifica del file SRT?
No: l’output è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il file SRT. Un file in UTF-16 o in una codifica a byte singolo di Windows viene decodificato in ingresso (il pannello dei risultati lo segnala) e l’uscita è sempre lo stesso SSA in UTF-8.