Convertire ASS in SBV
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
4 elementi vengono scartati o richiedono una decisione
- Stile
tutto lo stile (grassetto, corsivo, colore, contorno, ombra)
- Posizionamento
il posizionamento sullo schermo (ogni blocco torna alla posizione predefinita)
- Karaoke
la temporizzazione karaoke (evidenziazione per sillaba)
- Contenuto specifico del formato
il contenuto che il formato di partenza tiene fuori dai suoi blocchi (blocchi non-cue, testo di intestazione, impostazioni per blocco, eventi commentati) — il formato di destinazione non ha un posto per esso
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 copione ASS in SBV, il formato che YouTube usava per i propri sottotitoli. La struttura è semplice: un tempo di inizio, una virgola, un tempo di fine, poi il testo, con una riga vuota tra un blocco e l’altro.
Non esistono numeri di blocco né un’intestazione, quindi spariscono sia i numeri sia la tabella di stile; i tempi vengono riscritti in notazione SBV — 0:00:01.000, una cifra per le ore e un punto prima dei millisecondi — e indicano gli stessi istanti, al millisecondo. Ciò che appartiene a un pezzo di testo resta nel testo: grassetto, corsivo, sottolineato e colore escono come tag. Si perdono invece la tabella di stile globale, il posizionamento, i tempi del karaoke, il resto di [Script Info], le righe Comment: e le sezioni [Fonts] e [Graphics], che SBV non ha.
Un blocco di due righe resta di due righe. Un file o un’intera stagione, con un solo ZIP e nessun caricamento.
Esempi
Un file ASS tipico, convertito in SBV
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
0:00:01.000,0:00:04.000
Hello there.
0:00:05.000,0:00:08.500
<i>Italic</i> and <b>bold</b> text.
0:00:09.000,0:00:12.000
Positioned
0:00:13.000,0:00:16.000
<c>ka</c><c>ra</c><c>o</c><c>ke</c>
0:00:17.000,0:00:20.000
Line one
Line two
0:00:21.000,0:00:24.000
Top left
In questo output si perdono: lo stile, il posizionamento, il karaoke e i contenuti specifici del formato. Il resto corrisponde 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
0:00:01.000,0:00:04.000
Hello, world
0:00:05.000,0:00:08.000
{\fad(300,300)}Unmodelled override
0:00:09.000,0:00:12.000
Both, wrong order
0:00:13.000,0:00:16.500
One decimal centisecond
0:00:17.000,0:00:20.000
Soft
break
Il copione irregolare porta una riga Comment: e un evento senza stile: l’output SBV conserva solo i dialoghi, con i tempi riparati e in ordine.
Domande frequenti
Grassetto e corsivo sopravvivono da ASS a SBV?
L’enfasi sì, la tabella di stile no: grassetto, corsivo, sottolineato e colore vengono scritti nel testo SBV come tag, mentre carattere, corpo, contorno, ombra e margini si perdono.
Che fine fa la posizione sullo schermo da ASS a SBV?
SBV non sa collocare un sottotitolo: `\pos`, `\an` e `\move` vengono scartati e ogni blocco torna alla posizione predefinita del lettore.
Che fine fa il karaoke da ASS a SBV?
Il tempo sparisce, le parole restano: `\k`, `\kf` e `\ko` non hanno corrispondente e le sillabe arrivano come testo SBV normale.
Che fine fanno [Script Info] e il resto del copione nell’SBV?
Solo le righe `Dialogue:` diventano sottotitoli: `[Script Info]`, tabella di stile, `Comment:` e sezioni incorporate vengono scartati.
Che aspetto ha l’output quando ASS diventa SBV?
Ha l’aspetto di SBV: niente numeri di blocco e niente intestazione, solo una riga con i due tempi e poi il testo. Ogni blocco ASS diventa un blocco SBV, nello stesso ordine.
I tempi ASS sono esatti nel file SBV?
Sì, al millisecondo: ASS scrive `0:00:04.13` e SBV scrive `0:00:04.126`. Nulla viene arrotondato e un blocco visibile per 2,9 secondi resta tale.
Come esce un blocco ASS di due righe in SBV?
Come due righe, una sotto l’altra. Le due righe restano un solo sottotitolo.
Gli eventi ASS restano in ordine nell’SBV?
Sì, e l’ordine è quello dei tempi di inizio: un copione sbilanciato viene riordinato prima di essere scritto in SBV.
Posso riconvertire l’SBV in ASS?
Sì, e quella direzione ha una lista propria: da SBV ad ASS si perde la precisione, perché l’ASS arriva ai centesimi. Le due liste differiscono perché i formati conservano cose diverse.
L’output SBV mantiene la codifica del file ASS?
No: il file SBV esce in UTF-8, con fine riga Unix e senza BOM. Se il copione non era UTF-8, viene decodificato in lettura e il pannello lo dice.