Andare al contenuto principale
SubtitleMatrix

Convertire MicroDVD in SSA

Oppure incollare il testo dei sottotitoli

Opzioni

La frequenza dei fotogrammi in cui sono contati i tempi. Nelle pagine di formato è quella che serve a MicroDVD, perché memorizza i tempi come numeri di fotogramma. Nelle pagine della frequenza dei fotogrammi è la cadenza con cui è stato temporizzato il file — la versione per cui sono stati creati i sottotitoli — e il secondo riquadro della pagina accetta la frequenza del video con cui verranno usati. 23,976, 24, 25, 29,97, 30, 50, 59,94 e 60 sono quelle comuni. Sbagliarla sposta l’intera timeline, e nelle pagine della frequenza dei fotogrammi la sposta di un rapporto anziché di un importo fisso.

Cosa cambia questa conversione

2 elementi vengono scartati o richiedono una decisione

  • Frequenza dei fotogrammi

    la sorgente memorizza i tempi come numeri di fotogramma — ogni timestamp dipende dalla frequenza dei fotogrammi fornita

  • 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.

SSA conserva i sottotitoli come righe `Dialogue:` nella sezione `[Events]`, con un campo `Marked` dove l’SRT tiene il numero. MicroDVD arriva con coppie di fotogrammi, quindi la conversione deve prima ricavare gli orari dalla frequenza dei fotogrammi, nel browser e senza caricare file.

Il campo della frequenza vince; se resta vuoto vale la dichiarazione della prima riga del file, altrimenti 25 fps. L’SSA scrive i tempi al centesimo (`0:00:04.13`), quindi ogni timecode viene arrotondato ai 10 ms più vicini: 00:00:04,126 esce come 4,13 secondi, senza scarti superiori a 5 ms.

Si perdono frequenza dei fotogrammi e precisione. La barra verticale del testo diventa `\N`. L’elenco in cima nasce dalle capacità dei due formati, non dal file, quindi è lo stesso per ogni conversione. Più file si elaborano in coda e arrivano in un unico ZIP.

Esempi

Un file MicroDVD tipico, convertito in SSA

Ingresso

{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the 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:04.00,0:00:06.00,Default,,0,0,0,,The quick brown fox jumps over the lazy dog.
Dialogue: 0,0:00:08.00,0:00:10.40,Default,,0,0,0,,Faster than\Nthe last one.

In questa conversione si perdono la frequenza dei fotogrammi e la precisione. Tutto il resto resta identico, riga per riga.

La stessa conversione su un input difficile

Ingresso

{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.   

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:04.00,0:00:06.00,Default,,0,0,0,,Leading zeros in the frame numbers.
Dialogue: 0,0:00:12.00,0:00:13.60,Default,,0,0,0,,An unrecognized line above was kept in place.
Dialogue: 0,0:00:16.00,0:00:18.00,Default,,0,0,0,,Trailing spaces are kept.   

Fini di riga misti, spazi superflui e campi lasciati vuoti: il file è sporco ma legale, e il confronto con l’esempio ordinato mostra fin dove arriva la tolleranza del parser.

Domande frequenti

Quale frequenza dei fotogrammi si applica leggendo MicroDVD per l’SSA?

Il campo in alto ha la precedenza; se è vuoto vale la frequenza dichiarata nella prima riga del file e, in mancanza, 25 fps. Il valore scelto determina ogni tempo dell’SSA, quindi va impostato sulla frequenza del video di destinazione.

Perché i timecode si sono spostati passando da MicroDVD a SSA?

L’SSA scrive il tempo come `0:00:04.13` e MicroDVD conta i fotogrammi, quindi ogni timecode viene arrotondato ai 10 ms più vicini: 00:00:04,126 esce come 4,13 secondi. Nulla viene allungato o riordinato e nessun cue si muove di più di 5 ms, ma è l’unico punto in cui la conversione perde esattezza.

Che aspetto ha l’output quando MicroDVD diventa SSA?

Ha l’aspetto dell’SSA: nessun numero di cue, ogni sottotitolo è una riga `Dialogue:` nella sezione `[Events]`, con un campo `Marked` dove l’SRT tiene il numero. Ogni cue MicroDVD diventa un cue SSA, nello stesso ordine e con lo stesso testo.

Come esce in SSA un cue MicroDVD su due righe?

Come due righe separate da `\N`, il modo in cui l’SSA scrive un a capo forzato. L’accoppiamento resta: le due righe MicroDVD appartengono ancora a un solo sottotitolo nell’output SSA, e il lettore le mostra insieme.

I cue MicroDVD mantengono l’ordine nell’output SSA?

Sì, e lungo la strada vengono ordinati per tempo di inizio: prima i più antichi, come si aspetta ogni formato di questo sito. Se il file MicroDVD elencava i cue fuori sequenza, l’SSA li rimette in ordine: è la struttura a cambiare, non il contenuto.

Posso riconvertire l’SSA in MicroDVD?

Sì, e ha un elenco suo: convertire SSA in MicroDVD perde formattazione, posizionamento, karaoke, frequenza dei fotogrammi e contenuti specifici del formato. Quell’elenco è diverso da quello qui sopra perché i due formati conservano cose diverse.

L’output SSA conserva la codifica del file MicroDVD?

No: l’output è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il file MicroDVD. Un file in UTF-16 o in una codifica a byte singolo di Windows viene decodificato in ingresso, e il pannello lo segnala; ciò che esce è sempre lo stesso SSA in UTF-8.

Strumenti correlati