VTT

Che cos’è un file VTT?

Il formato di sottotitoli che il video HTML5 si aspetta. Un SRT con un’intestazione e con opzioni di stile.

Che cos’è VTT

VTT è un formato di testo semplice che si apre in qualsiasi editor. Si usa per i sottotitoli e il web.

L’estensione è .vtt e il nome per esteso è WebVTT. Contano entrambi meno di ciò che il file può contenere, ed è di questo che parla il resto della pagina.

Da dove viene VTT

W3C lo ha pubblicato nel 2010. La specifica è WebVTT.

L’età serve saperla per un motivo pratico: più un formato è vecchio, più programmi hanno avuto tempo di impararlo.

La specifica è pubblica

È pubblicata per intero, quindi la si può implementare partendo dal documento invece che per osservazione: è per questo che il formato compare in così tanti programmi, ed è per questo che file scritti vent’anni fa si aprono ancora. Una specifica pubblicata però non è la stessa cosa di una esente da royalty: dove un formato incapsula un codec, le licenze sui brevetti restano una questione a parte che lo standard non risolve.

Non si butta via niente

VTT conserva il suo contenuto esattamente. Risalvarlo non cambia nulla, quindi puoi aprirlo, modificarlo e risalvarlo quante volte vuoi senza accumulare danni: è questo che ne fa un formato di lavoro e non di consegna.

Che cosa apre VTT

VLC e Subtitle Edit lo leggono, e così fanno quasi tutti i programmi dello stesso tipo.

Quando un file non si apre, il formato è raramente il problema: più spesso è il programma a essere più vecchio di lui. Convertire in qualcosa di più vecchio è la via d’uscita affidabile, ed è a questo che serve il resto di questo sito.

Aprirlo nel browser

Qualsiasi browser attuale lo legge.

Puoi quindi metterlo su una pagina o allegarlo a un messaggio senza chiederti che cosa abbia installato chi lo riceve.

È un formato di lavoro

VTT è pensato per essere aperto e modificato. Tieni il file in questo formato per tutto il tempo in cui il lavoro va avanti, ed esporta da lì ogni volta che serve una copia finita.

L’unico formato di sottotitoli che il browser accetta

Il video HTML riceve i sottotitoli tramite un elemento track che punta a un file VTT, e non ammette nessun altro formato. Né SRT né ASS: se gli date uno dei due, il browser li ignora. Questo unico fatto spiega quasi tutto il traffico verso questa pagina, perché qualcuno ha dei sottotitoli, li ha messi accanto a un video su un sito e non compare nulla.

Il formato è stato progettato apposta molto vicino a SubRip perché convertire fosse banale. I cue sono numerati facoltativamente invece che obbligatoriamente, le marche temporali separano i millisecondi con un punto invece che con una virgola, e il file deve iniziare con la parola WEBVTT da sola sulla prima riga. Questa intestazione non è un ornamento: un file senza di essa viene semplicemente rifiutato.

Quattro motivi per cui non compare nulla, in ordine

Manca la riga WEBVTT, di solito perché il file è stato creato rinominando un SRT. Le marche temporali portano ancora una virgola, per lo stesso motivo. All’elemento track mancano gli attributi kind e srclang, oppure non ha default e chi guarda non ha mai attivato i sottotitoli. Oppure — quella che fa perdere più tempo — il file viene servito da un altro dominio senza le intestazioni di origine incrociata corrette e il browser lo scarta in silenzio.

Quest’ultimo caso merita un paragrafo perché non produce alcun errore visibile. Il video si riproduce, il menu dei sottotitoli appare vuoto e nulla nella pagina suggerisce perché. Servire il VTT dalla stessa origine della pagina lo evita completamente, ed è il motivo più semplice per ospitare i sottotitoli accanto al video invece che su un dominio di risorse separato.

Le impostazioni di cue: posizione, allineamento e larghezza

Ogni cue può portare impostazioni dopo la sua marca temporale: una posizione verticale, un allineamento orizzontale, una larghezza, un numero di riga. È ciò che l’SRT non ha modo di esprimere, ed è il motivo pratico per preferire il VTT per qualsiasi cosa più elaborata di una trascrizione lineare.

L’applicazione tipica è spostare una scritta. I sottotitoli vanno in basso di default, esattamente dove le TV mettono le loro sovrimpressioni e dove il lettore mette i propri controlli. Un’impostazione di riga che sposti il cue in alto durante quei secondi sono due parole nel file e risolve un problema che nessun foglio di stile esterno può toccare.

Ciò che si può disegnare e ciò che conviene non dare per scontato

Il VTT ammette poche etichette dentro il testo — grassetto, corsivo, sottolineato — ed etichette voce con il nome di chi parla, il modo in cui una trascrizione distingue due persone senza scriverne i nomi sulla riga. Un blocco di stile dentro il file stesso, o CSS nella pagina che punta allo pseudo-elemento del cue, permettono di fissare font, colore e sfondo.

Ciò che ogni browser rispetta davvero varia, ed è la parte della specifica con l’implementazione più debole. Date per certi il corsivo e la distinzione delle voci, e trattate tutto il resto come un miglioramento. Un sottotitolo che diventa illeggibile quando lo stile viene ignorato è progettato contro il formato invece che con esso.

Capitoli, audiodescrizione e cue che non si vedono

Un file VTT non deve necessariamente contenere sottotitoli. L’elemento track porta un attributo kind, e gli altri valori sono davvero utili: chapters produce un elenco navigabile di sezioni nei lettori che lo supportano, descriptions trasporta il testo di audiodescrizione per i lettori di schermo, e metadata trasporta cue arbitrari a cui il JavaScript della pagina può reagire mentre il video avanza.

Quest’ultimo è la base delle trascrizioni interattive, delle diapositive sincronizzate e delle annotazioni temporizzate. I cue si attivano quando la testina di riproduzione li raggiunge, la pagina ne fa ciò che vuole e non compare nulla salvo che la pagina lo mostri. È un piccolo pianificatore nascosto dentro un formato di sottotitoli.

Sottotitolare e sottotitolare per non udenti non è la stessa cosa

L’elemento track distingue captions da subtitles, e la distinzione non è pignoleria. I sottotitoli presumono che chi guarda senta e abbia bisogno solo della traduzione del dialogo. Il sottotitolaggio accessibile presume che non senta, e per questo include informazioni non parlate: una porta che si chiude, la musica che entra, chi parla fuori campo.

Per le pubbliche amministrazioni e per un numero crescente di aziende questo è un obbligo e non una cortesia, per le WCAG e per la normativa sull’accessibilità che le richiama. Una traccia contrassegnata come captions che contenga solo dialogo tradotto soddisfa il markup e non soddisfa l’obbligo, e questa differenza gli audit la vedono.

Da dove vengono i file VTT

Soprattutto dalla trascrizione automatica. Tutte le grandi piattaforme e la maggior parte dei servizi di trascrizione esportano WebVTT, e l’output automatico è abbastanza buono da meritare una correzione e non abbastanza da pubblicarlo senza leggerlo: nomi propri, voci sovrapposte e vocabolario tecnico sono dove fallisce, e sono spesso proprio le parole che portano il significato.

L’altra via è la conversione. Modificare i sottotitoli è molto meglio gestito in SRT dal software desktop, quindi un flusso abituale è correggere e sincronizzare in SRT e convertire in VTT al momento della pubblicazione. È una divisione sensata finché uno dei due file resta il master e l’altro viene generato, invece di due copie che divergono poco a poco.

Cosa si conserva e cosa si perde convertendo un VTT qui

Vale la pena essere espliciti, perché riguarda proprio ciò che rende speciale il formato. Il convertitore lavora con tre dati per riga: momento di ingresso, momento di uscita e testo, in millisecondi interi. Tutto ciò che non entra in questa forma sparisce per costruzione, e in un VTT ciò che non entra sono proprio le impostazioni di cue — line, position, align, size — e gli identificatori di cue.

La conseguenza concreta è che una scritta posizionata in alto per non coprire un cartello inciso nell’immagine torna centrata in basso, sopra il cartello. Ecco perché le coppie che partono da VTT non sono contrassegnate come conversione esatta, anche se testo e tempi arrivano intatti. Se avete lavorato sul posizionamento, conservate il VTT come master e trattate qualsiasi SRT generato da esso come una copia di lavoro.

Ciò che accade nelle altre direzioni

Da ASS, ogni blocco di override fra parentesi graffe viene eliminato in lettura, inclusa l’etichetta di posizionamento, quindi posizionamento, font, colori, karaoke ed effetti non arrivano. Verso ASS accade il contrario e va saputo altrettanto: viene inventato un unico stile chiamato Default, Arial corpo 48 bianco, perché il file di origine non ne portava nessuno; e le marche temporali vengono troncate ai centesimi di secondo, fino a nove millisecondi per estremo.

MicroDVD, con estensione .sub, conta fotogrammi invece che tempo, quindi la conversione dipende da un frame rate che potrebbe non essere quello corretto; il controllo relativo parte da 25 fps. Tutto questo avviene nel browser, con un motore scritto a mano e senza dipendenze esterne, così nessun file di sottotitoli viene inviato da nessuna parte.

I dati, in un posto solo

Identificativi e provenienza del formato VTT.
Estensione.vtt
Tipo di mediatext/vtt
Pubblicato daW3C
Prima pubblicazione2010
SpecificaWebVTT