Andare al contenuto principale
SubtitleMatrix

Convertire VTT in SRT

Oppure incollare il testo dei sottotitoli

Cosa cambia questa conversione

2 elementi vengono scartati o richiedono una decisione

  • Stile

    tutto lo stile (grassetto, corsivo, colore, contorno, ombra)

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

WebVTT e SRT trasportano gli stessi sottotitoli in contenitori diversi, e questa pagina sposta un file dall’uno all’altro. La timeline, il testo dei blocchi, le interruzioni di riga e la formattazione in linea restano; cambia la sintassi che li circonda.

Ogni tempo WebVTT nella forma 00:00:01.250 diventa 00:00:01,250, perché SRT scrive una virgola dove WebVTT scrive un punto, e i codici indicano lo stesso istante al millisecondo. L’intestazione WEBVTT, i blocchi NOTE, STYLE e REGION e le impostazioni per blocco come align o position vengono scartati: SRT non ha né una riga di intestazione né una sintassi a blocchi. Gli identificatori liberi non passano e i blocchi vengono rinumerati, perché il contatore SRT è numerico per convenzione.

Anche un input irregolare va bene: un BOM, fine riga di Windows, un campo delle ore a una cifra o un blocco dal testo vuoto vengono letti senza errori. Un file o un’intera stagione, in coda, con un solo ZIP finale.

Esempi

Un file WebVTT tipico, convertito in SRT

Ingresso

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

Uscita

1
00:00:01,000 --> 00:00:04,000
Hello there.

2
00:00:04,500 --> 00:00:08,000
Second line with <i>italics</i>.

In questo output si perdono: lo stile e i contenuti specifici del formato. Il resto corrisponde riga per riga.

La stessa conversione su un input irregolare

Ingresso

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

Uscita

1
00:00:01,000 --> 00:00:02,000
No header, two lines before the timecode.

L’input irregolare mostra che un BOM e le fine riga miste non arrivano nell’output e che i blocchi vengono rinumerati da uno.

Domande frequenti

I tempi WebVTT vengono modificati nel passaggio a SRT?

No. `00:00:01.250` di WebVTT e `00:00:01,250` di SRT sono lo stesso istante scritto in due modi: ogni inizio e ogni fine vengono copiati al millisecondo. Cambia solo il carattere tra secondi e millisecondi.

Che fine fanno l’intestazione WEBVTT e i blocchi NOTE, STYLE e REGION?

Vengono scartati. SRT non ha riga di intestazione né sintassi a blocchi, quindi non c’è dove metterli. Il caso più delicato è STYLE, che spesso contiene le regole di impaginazione del documento: se il lettore ci contava, quello stile va spostato altrove.

Che fine fanno le impostazioni per blocco, come align o position, nel file SRT?

Vengono scartate anche quelle: SRT non sa posizionare un blocco sullo schermo. Se la posizione conta nell’output, conviene convertire in ASS, dove vive in codici di override come `\an7` e `\pos` e viaggia con il testo.

Gli identificatori dei miei blocchi sopravvivono in SRT?

No. WebVTT ammette identificatori liberi come `intro` o `sign-1`, e il convertitore li legge, ma il contatore SRT è numerico per convenzione: l’output viene rinumerato 1, 2, 3. I parser SRT rigorosi rifiutano un file con contatore non numerico, ed è per questo che gli identificatori non passano così come sono.

Posso usare questa conversione VTT → SRT su un file riservato?

Il file non lascia mai la macchina: lettura e scrittura avvengono nel browser, nessuna richiesta trasporta i sottotitoli e la pagina funziona anche senza rete una volta caricata.

Strumenti correlati