Andare al contenuto principale
SubtitleMatrix

Convertire SMI in SSA

Oppure incollare il testo dei sottotitoli

Cosa cambia questa conversione

2 elementi vengono scartati o richiedono una decisione

  • Precisione

    la precisione della temporizzazione — l’orologio dell’uscita è più grossolano, quindi ogni timestamp è arrotondato al 10 ms più vicino

  • 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 converte SAMI in SSA: trascini un file, o incolli il testo, e riottieni la versione SSA. La conversione gira interamente nel browser, quindi nessun file viene caricato e non serve un account.

I due formati non conservano le stesse cose, e la differenza non è estetica: precisione e contenuti propri di SAMI non hanno posto in SSA. L’elenco qui sopra deriva da ciò che ciascuno dei due formati sa esprimere, non dal tuo file: la risposta è la stessa prima che tu carichi qualcosa.

Un file va bene, e così un’intera stagione: la coda li elabora in ordine e i risultati arrivano insieme in un unico ZIP.

Esempi

Un file SAMI tipico, convertito in SSA

Ingresso

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

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.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,How are you?\NFine, thanks.

In questa uscita si perdono la precisione e i contenuti propri del formato. Il testo e l’ordine dei blocchi corrispondono riga per riga.

La stessa conversione su un input disordinato

Ingresso

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

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:02.50,0:00:09.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Tom &amp; Jerry

È il tipo di danno che i file reali hanno davvero — fine riga misti, spazi superflui, campi lasciati vuoti. Confrontalo con l’esempio ordinato qui sopra per vedere cosa il parser perdona.

Domande frequenti

Perché i timestamp si spostano da SMI a SSA?

SAMI scrive un istante come `Start=4126`, cioè in millisecondi; SSA arriva soltanto al centesimo di secondo e lo scrive `0:00:04.13`. Ogni tempo viene quindi arrotondato al centesimo più vicino — `00:00:04,126` esce come 4,13 secondi — e nessun blocco si allontana di più di 5 ms dalla posizione originale. Nulla viene allungato né riordinato: è l’unico punto in cui questa conversione smette di essere esatta.

Che fine fanno il blocco `<STYLE>`, il `<TITLE>` e gli attributi `Class=` di SAMI nell’SSA?

Vengono scartati. Il file SSA esce con una tabella `[V4 Styles]` predefinita, non con una traduzione del CSS di SAMI: il carattere, la dimensione, il colore e il punto dello schermo che il blocco `<STYLE>` dichiarava non vengono trasferiti in quella tabella, e il `Class=ENCC` di ogni paragrafo non ha una riga di stile a cui corrispondere. Anche il `<TITLE>` si perde, perché SSA non ha un campo titolo nel proprio modello dei blocchi. L’enfasi scritta dentro il testo del paragrafo, invece, arriva: diventa un tag di override come `{\i1}`.

Che aspetto ha l’uscita quando SAMI diventa SSA?

Ha l’aspetto di SSA: nessun numero di blocco; ogni sottotitolo è una riga `Dialogue:` nella sezione `[Events]`, dove l’SRT tiene il numero qui c’è il campo `Marked`, e in testa compare una tabella `[V4 Styles]` predefinita. Ogni blocco SAMI diventa un blocco SSA, nello stesso ordine, con lo stesso testo.

Come esce in SSA un blocco SAMI su due righe?

Come due righe con `\N` fra loro, che è come SSA scrive un’interruzione di riga forzata. L’abbinamento sopravvive: le due righe SAMI appartengono ancora a un solo sottotitolo nell’uscita SSA, e il lettore le mostra insieme.

I blocchi SAMI mantengono l’ordine nell’uscita SSA?

Sì, e lungo la strada vengono ordinati per istante di inizio — prima il più antico, che è l’ordine atteso da ogni formato di questo sito e quello con cui i lettori li interpretano. Se il tuo file SMI elencava i blocchi fuori sequenza, l’uscita SSA li rimette in ordine: è un cambiamento nella struttura del file, non nel suo contenuto, ed è voluto.

Posso riconvertire l’SSA in SMI?

Sì, e ha un elenco suo: convertendo SSA in SMI si perdono stile, karaoké e contenuti propri del formato. Quell’elenco è diverso da quello qui sopra perché i due formati conservano cose diverse.

L’uscita SSA conserva la codifica del file SMI?

No: l’uscita è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il file SMI. Un file che arriva in UTF-16, o in una codifica Windows a byte singolo, viene decodificato in ingresso (il pannello dei risultati lo segnala quando accade); quello che esce è sempre lo stesso SSA in UTF-8.

Strumenti correlati