WebVTT
Il formato dei sottotitoli del web: ciò che un browser mostra tramite il <track> di HTML. I blocchi di SubRip, con un'intestazione, un punto prima dei millisecondi e uno spazio per stili, posizioni e parlanti.
In breve
| Estensione | .vtt |
|---|---|
| Tipo di media | text/vtt |
| Specifica | W3C, WebVTT: The Web Video Text Tracks Format, una Candidate Recommendation |
| Precisione dei tempi | Millisecondi |
| Codifica del testo | UTF-8, sempre: lo richiede la specifica. Subtitld legge comunque altre codifiche. |
| Stile | Tag di corsivo, grassetto e sottolineato; colori tramite classi e CSS (::cue). Nessun barrato. |
| Posizionamento | Impostazioni del cue (line, position, align, size, vertical) e regioni |
| Parlanti | Tag di voce: <v Thom> |
| Nei contenitori | Matroska come S_TEXT/WEBVTT; MP4 come wvtt (ISO/IEC 14496-30); flussi HLS e DASH |
Anatomia di un cue
Un file è un'intestazione, poi i cue. Ogni cue è un blocco come quello di SubRip, con due parti facoltative.
WEBVTT intro 00:00:23.000 --> 00:00:24.500 line:0 <v Celia>You're a jerk, <i>Thom</i>.
- 1 · Intestazione
WEBVTT, da solo o seguito da uno spazio e da un titolo, poi una riga vuota. Senza di essa, un browser rifiuta l'intero file. - 2 · Identificatore
Facoltativo. Un nome per il cue, su una riga a sé: un numero, come in SubRip, oppure una parola.
- 3 · Tempi
Inizio, la freccia
-->, fine. Un punto prima dei millisecondi. - 4 · Impostazioni
Facoltative. Dove mostrare il cue, dopo l'ora di fine.
- 5 · Testo
Righe di testo, con tag per lo stile e le voci. Una riga vuota chiude il cue, quindi non ce ne sono al suo interno.
Il codice temporale
Le ore si possono omettere. 00:27.000 è lo stesso tempo, e molti file sotto l'ora sono scritti così. Una virgola prima dei millisecondi è un'abitudine di SubRip, non di WebVTT; Subtitld la legge comunque.
Blocchi diversi dai cue
| Blocco | Cosa contiene |
|---|---|
NOTE |
Un commento, per le persone. I player lo saltano. |
STYLE |
CSS per i cue, tramite ::cue. Prima del primo cue. |
REGION |
Un'area con nome dello schermo in cui i cue possono scorrere. |
Testo dei cue
| Tag | Effetto |
|---|---|
<i>…</i>, <b>…</b>, <u>…</u> |
Corsivo, grassetto, sottolineato |
<c.yellow>…</c> |
Una classe, che il CSS (o le classi di colore di WebVTT) può colorare |
<v Thom>… |
La voce: chi parla. La chiusura è facoltativa. |
<lang pt>…</lang> |
La lingua di un tratto di testo |
<ruby>漢<rt>kan</rt></ruby> |
Una lettura sopra il testo, per il giapponese e il cinese |
<00:00:28.500> |
Un tempo all'interno del cue, per il karaoke |
& < > |
Una e commerciale, <, > e uno spazio unificatore, che altrimenti sarebbero letti come markup |
Colori
Otto classi sono colorate senza alcun CSS: white, lime, cyan, red, yellow, magenta, blue e black, e le stesse otto con bg_ per lo sfondo. Ogni altro colore richiede una classe propria e un blocco STYLE:
STYLE
::cue(.gold) { color: #ffd700; }
00:00:30.800 --> 00:00:34.000
<c.gold>Why don't you just admit that</c>
Non tutti i player leggono i blocchi STYLE; le classi di colore proprie di WebVTT sono la scelta più sicura. Subtitld le usa ogni volta che un colore è uno degli otto.
Impostazioni del cue
| Impostazione | Cosa fa |
|---|---|
line:0 |
La riga sullo schermo: un numero conta le righe dall'alto (negativo dal basso), una percentuale dal bordo superiore |
position:10% |
Dove si trova il riquadro del cue sullo schermo |
align:start |
Allineamento del testo nel riquadro: start, center, end, left, right |
size:50% |
La larghezza del riquadro |
vertical:rl |
Testo verticale, da destra a sinistra o da sinistra a destra |
region:fred |
Mostra il cue in una REGION |
Subtitld legge line, position e align come la posizione del sottotitolo sullo schermo, le stesse nove posizioni di {\an1} fino a {\an9} di SubRip, e le riscrive: line:0 per l'alto, line:50%,center per il centro, position:10% align:start e position:90% align:end per i lati.
WebVTT in Subtitld
- Testo e a capo di ogni sottotitolo
- Corsivo, grassetto, sottolineato e colore
- Dove si trova sullo schermo
- Parlanti, come tag di voce
- Inizio e fine, al millisecondo, in ordine
- Barrato: WebVTT non ha un tag per esso
- Volti e colori dei parlanti
- Traduzioni accanto all'originale (una può sostituirlo, oppure stare sotto)
- Doppiaggi e metadati
Salvi un progetto .usfx per conservarli.
Aprire un file WebVTT
Subtitld trova ogni cue dalla sua riga di tempo e legge:
- l'intestazione, i blocchi
NOTE,STYLEeREGIONper ciò che sono, non come sottotitoli, e gli identificatori dei cue come nomi; - tempi con o senza ore, con un punto o con una virgola;
- le voci come parlanti dei sottotitoli, pronti per il doppiaggio;
- le classi di colore di WebVTT, e i colori che un blocco
STYLEassegna alle altre classi; line,positionealigncome posizione sullo schermo;- qualsiasi codifica, anche se WebVTT richiede UTF-8.
Lascia fuori ciò per cui non ha un posto: regioni, la dimensione di un cue, il testo verticale, le letture del ruby e i tempi del karaoke. Il testo resta.
Esportare WebVTT
Esporta, poi Sottotitoli e VTT, offre:
- TestoL'originale, una traduzione, o entrambi, con la traduzione sotto.
- Nomi dei parlantiEsclusi, prima del testo (Thom: …), oppure come tag di voce (
<v Thom>), il modo proprio di WebVTT. - FormattazioneMantenuta, oppure rimossa.
- Sposta i tempiOgni sottotitolo anticipato o ritardato della stessa quantità.
Il file è sempre in UTF-8, come richiede WebVTT: WEBVTT, poi i cue in ordine di inizio, ognuno con il suo tempo completo di ore. I caratteri che sarebbero letti come markup vengono scritti come entità, e i sottotitoli vuoti vengono esclusi.
Su una pagina web
<video controls src="tears-of-steel.mp4">
<track kind="subtitles" src="tears-of-steel.en.vtt"
srclang="en" label="English" default>
</video>
Serva il file come text/vtt. Da un altro dominio, il video richiede crossorigin e il server un'intestazione Access-Control-Allow-Origin, altrimenti il browser non caricherà la traccia.
WebVTT o SubRip?
SubRip per player, editor e caricamenti; WebVTT per i video sul web. La pagina SubRip li mette a confronto.
Curiosità
Nacque come WebSRT, redatto presso il WHATWG per il nuovo elemento <track> di HTML5 e basato su SubRip, prima di prendere il nome WebVTT.
Sei lettere all'inizio di ogni file. Un browser che non le trova rifiuta l'intera traccia.
Colori che un player riconosce senza CSS: white, lime, cyan, red, yellow, magenta, blue e black, per il testo e per lo sfondo.
Formati correlati
Lo apra in Subtitld con il video e lo sincronizzi sulla forma d'onda.