Andare al contenuto principale
SubtitleMatrix

Convertire ASS in SBV

Conversione dei formatiAdvanced SubStation Alpha (ASS)
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 timecode

Uscita

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.

Strumenti correlati