Convertire ASS in SRT
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 come file SRT. I due formati non concordano su cosa sia un sottotitolo: ASS è un copione con tabella di stile, codici di override e tempi di karaoke, SRT è un elenco di blocchi con due tempi e null’altro. Ogni riga Dialogue diventa quindi un blocco SRT, e i tempi passano alla notazione SRT: 00:00:01,000 invece di 0:00:01.00, perché SRT conta i millisecondi.
La formattazione viene tradotta dove possibile: il corsivo e il grasso, attivati da un codice o da uno stile, diventano tag nel testo. Tutto il resto non ha un equivalente e viene scartato: il posizionamento sullo schermo, il carattere e il corpo, il colore, il contorno, l’ombra, i margini e i tempi del karaoke. Le sezioni fuori dagli eventi — [Script Info], la tabella di stile, le righe Comment:, i caratteri in [Fonts] e i disegni in [Graphics] — spariscono insieme a loro.
Un copione con molti stili si converte esattamente come uno con un solo stile, perché ogni riga viene letta singolarmente. Un file o una stagione intera, sempre nel browser.
Esempi
Un file ASS tipico, convertito in SRT
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
1
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:05,000 --> 00:00:08,500
<i>Italic</i> and <b>bold</b> text.
3
00:00:09,000 --> 00:00:12,000
Positioned
4
00:00:13,000 --> 00:00:16,000
<c>ka</c><c>ra</c><c>o</c><c>ke</c>
5
00:00:17,000 --> 00:00:20,000
Line one
Line two
6
00:00:21,000 --> 00: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
1
00:00:01,000 --> 00:00:04,000
Hello, world
2
00:00:05,000 --> 00:00:08,000
{\fad(300,300)}Unmodelled override
3
00:00:09,000 --> 00:00:12,000
Both, wrong order
4
00:00:13,000 --> 00:00:16,500
One decimal centisecond
5
00:00:17,000 --> 00:00:20,000
Soft
break
Il secondo copione porta un BOM, una riga Comment: e un evento senza stile: l’output SRT contiene solo i dialoghi, con i tempi riparati.
Domande frequenti
Dove è finito il posizionamento ASS nell’SRT?
SRT non ha modo di collocare un blocco sullo schermo: decide il lettore. Una riga con una posizione esplicita esce quindi come blocco normale, e le coordinate non possono comparire nell’output. È una delle voci della lista qui sopra.
Che fine ha fatto il karaoke ASS nell’SRT?
Il karaoke per sillaba è un’istruzione di tempo, non testo, e SRT non ha un’istruzione corrispondente. Le sillabe restano, segnalate perché si possano ritrovare, ma le durate che le accendevano una dopo l’altra spariscono: SRT mostra l’intero blocco in una volta.
Come vengono convertiti i tempi ASS nell’SRT?
ASS scrive ore, minuti, secondi e centesimi; SRT scrive ore, minuti, secondi e millisecondi. I centesimi vengono moltiplicati per dieci e cambia il separatore, quindi la timeline è conservata al centesimo di secondo, con la precisione con cui la sorgente l’aveva memorizzata.
Che fine fanno gli stili del copione ASS nell’SRT?
Vengono letti e ciò che SRT sa esprimere passa: le impostazioni di corsivo e grasso attivate dallo stile di un blocco diventano tag nell’output. Tutto il resto di uno stile — carattere, corpo, colori, contorno, margini — viene scartato, perché in SRT non c’è posto.
Conta se il copione ASS usa molti stili nell’SRT?
No. Ogni riga Dialogue viene letta singolarmente e lo stile a cui punta viene cercato per quella riga, quindi un copione con una dozzina di stili si converte esattamente come uno con un solo stile.