Convertire VTT in TTML
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
1 elemento viene scartato o richiede una decisione
- 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 WebVTT in TTML, il formato XML usato dalle piattaforme di streaming e dalle norme di accessibilità. Ogni blocco diventa un elemento <p> con gli attributi begin ed end, annidato in un <body>, con una dichiarazione XML sopra il documento.
I tempi non cambiano: entrambi i formati scrivono un istante come 00:00:04.126, quindi i codici escono carattere per carattere come sono entrati. Le due righe di un blocco restano due, separate da <br/>. Ciò che WebVTT tiene fuori dai blocchi — intestazione, NOTE, STYLE, REGION e impostazioni come align o position — non ha un equivalente in TTML e viene scartato, e il testo non cambia.
Un file o un’intera stagione, con l’ordine dei blocchi ripristinato per tempo di inizio; la conversione gira nel browser e l’output è sempre UTF-8 senza BOM.
Esempi
Un file WebVTT tipico, convertito in TTML
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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:04.000">Hello there.</p>
<p begin="00:00:04.500" end="00:00:08.000">Second line with <span tts:fontStyle="italic">italics</span>.</p> </body>
</tt>
In questo output si perdono: 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
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
<body>
<p begin="00:00:01.000" end="00:00:02.000">No header, two lines before the timecode.</p> </body>
</tt>
Il secondo esempio contiene un BOM, commenti e un tempo malformato: il parser li segnala e produce comunque un documento TTML ordinato.
Domande frequenti
Che fine fanno i blocchi NOTE, STYLE e REGION di VTT nel TTML?
Vengono scartati: intestazione, commenti, blocco di stile, regioni e impostazioni per blocco non hanno posto in un documento TTML che conserva solo gli elementi dei sottotitoli.
Che aspetto ha l’output quando VTT diventa TTML?
Ha l’aspetto di TTML: niente numeri di blocco, ogni sottotitolo è un elemento `<p>` con `begin` ed `end`, annidato in un `<body>` e di solito in un `<div>`, con una dichiarazione XML sopra il documento.
I tempi VTT sono esatti nel file TTML?
Sì, al millisecondo: entrambi scrivono un istante come `00:00:04.126`, quindi i codici escono carattere per carattere come sono entrati.
Come esce un blocco VTT di due righe in TTML?
Come due righe separate da `<br/>`. Le due righe restano un solo sottotitolo e il lettore le mostra insieme.
I blocchi WebVTT mantengono l’ordine nell’output TTML?
Sì, l’output è sempre cronologico: se il VTT elencava i blocchi fuori sequenza, il documento TTML li riporta nell’ordine dei tempi di inizio, senza toccare il testo.
Posso riconvertire il TTML in VTT?
Sì, e quella direzione perde stile, posizionamento e contenuti specifici del formato. Le due liste differiscono perché i due formati conservano cose diverse.
L’output TTML mantiene la codifica del file VTT?
No: il documento TTML esce in UTF-8 con fine riga Unix e senza BOM. Se il VTT era in UTF-16 o in una codifica Windows a byte singolo, viene decodificato durante la lettura e la conversione lo segnala.