Italiano

Video e sottotitoli · Toolkit sottotitoli

Spiegazione di WebVTT: da WebSRT al formato didascalia W3C per video HTML5

· Sfondo

sottotitoli webvtt formati di file elaborazione del browser

Un semplice file cue che ottiene un'intestazione WebVTT, impostazioni e connessione di traccia del browser
Illustrazione vettoriale originale ToolAcre

WebVTT è stato creato in modo che i browser potessero mostrare i sottotitoli in modo nativo. Questo post illustra le sue origini come WebSRT, le sue differenze da SRT, cosa aggiunge la specifica e dove viene utilizzato oggi.

Perché il browser aveva bisogno di un proprio formato di sottotitoli: l'arrivo del video nativo e l'assenza di un formato di traccia standard

Il video nativo dava a una pagina web un elemento multimediale, ma il testo temporizzato necessitava comunque di una rappresentazione di file interoperabile che i browser potessero recuperare e analizzare. Un file SRT informale non era sufficiente per una funzionalità del browser che necessitava di sintassi, comportamento dei segnali e hook definiti per la presentazione. WebVTT fornisce quel contratto rivolto al web mantenendo la forma riconoscibile di cue e timestamp.

Quel contesto del browser spiega sia la sua familiarità che la sua struttura extra. Un VTT minimo sembra simile a SRT, ma non è SRT con un'altra estensione. La firma, la punteggiatura del timestamp e la grammatica dei segnali contribuiscono a decidere se il browser ha ricevuto WebVTT.

WebSRT e la ridenominazione in WebVTT: i primi lavori su WHATWG e il passaggio a W3C

Il formato è stato discusso con il precedente nome WebSRT prima di diventare WebVTT o Web Video Text Tracks. Questo lignaggio comunica il percorso di progettazione: iniziare con una forma di blocco di sottotitoli ampiamente compresa, quindi definire il comportamento aggiuntivo richiesto dai media web. Questo articolo evita date, editori nominati e una cronologia dettagliata degli standard perché tali fatti non sono verificati dai materiali del repository utilizzati per le dichiarazioni di implementazione.

Per uno sviluppatore front-end, la lezione duratura è che WebVTT è un input specificato per le funzionalità multimediali del browser piuttosto che una convenzione specifica del giocatore. L'implementazione dovrebbe mirare alla sua sintassi attuale e testarla nel lettore consumatore invece di dipendere da etichette storiche.

Ciò che la specifica aggiunge a SRT: l'intestazione WEBVTT, gli identificatori delle cue, le impostazioni delle cue e gli hook di stile

WebVTT aggiunge una firma WEBVTT richiesta e consente identificatori di segnali che non devono essere numerici. Le impostazioni delle cue possono seguire l'ora di fine per esprimere l'allineamento e il posizionamento, mentre i blocchi NOTE, STYLE e REGION forniscono metadati e strutture di presentazione oltre un semplice elenco di cue SRT. Gli hook di stile del browser possono quindi indirizzare i segnali visualizzati senza bruciare testo nel video.

ToolAcre implementa un sottoinsieme focalizzato. Conserva le impostazioni trovate dopo il timestamp di fine, ma elimina gli identificatori di cue e salta i blocchi NOTE, STYLE e REGION al caricamento. Ciò è sufficiente per la conversione ordinaria e volutamente non è un editor senza perdite per il modello WebVTT completo.

Il punto, l'intestazione e UTF-8: le piccole differenze che impediscono a un file SRT di essere un file VTT valido

Tre piccoli dettagli separano un minimo VTT da SRT. La prima riga deve contenere la firma WEBVTT, i timestamp utilizzano un punto prima dei millisecondi e il testo deve essere UTF-8. ToolAcre rileva VTT testando la firma tollerando un contrassegno dell'ordine dei byte facoltativo e uno spazio bianco iniziale; il testo senza quella firma viene impostato per default su SRT.

Il serializzatore scrive la firma e la punteggiatura invece di preservare qualunque cosa la fonte abbia utilizzato. L'input del file viene letto come UTF-8. Un SRT con codifica legacy può quindi mostrare caratteri sostitutivi prima della conversione e la modifica della sintassi del contenitore non può recuperare byte già decodificati in modo errato.

Dove viene utilizzato WebVTT: l'elemento traccia HTML5, i sottotitoli HLS e molte piattaforme video

WebVTT è il formato sidecar associato all'elemento traccia video HTML e viene visualizzato nei sistemi di distribuzione Web che utilizzano testo temporizzato. Anche alcuni flussi di lavoro di streaming e piattaforma utilizzano WebVTT, ma i dettagli di accettazione appartengono alla destinazione e devono essere controllati lì anziché dedotti dall'estensione. Un file VTT valido può comunque essere offerto con il tipo di supporto errato o bloccato dalle regole di distribuzione multiorigine.

Il toolkit produce una rappresentazione del file; non configura una pagina HTML, intestazioni del server o un manifest di streaming. Tratta la conversione come una fase della consegna e testa il player reale con le stesse URL, intestazioni e relazione di origine che il pubblico utilizzerà.

Ciò che questo non copre: lo stile completo e il modello regionale, che la maggior parte dei file di didascalie non utilizza mai

Lo stile completo e il modello regionale non sono inclusi in questo convertitore. Selettori di segnali complessi, layout delle regioni e politiche di presentazione meritano uno strumento di creazione compatibile con WebVTT e test del browser. Il parser salta i blocchi STYLE e REGION, quindi l'invio di un master di questo tipo attraverso questo percorso li rimuove da entrambi gli output anziché preservarli in modo invisibile.

Lo strumento porta anche un'impostazione di segnale nell'output SRT anche se SRT non ha un meccanismo definito per agire su di esso. Questo limite documentato è un motivo per mantenere il master VTT originale ogni volta che il posizionamento è importante, non un motivo per presumere che ogni destinazione ignorerà il testo aggiuntivo allo stesso modo.

Conclusione: un vero standard per il web: come il Subtitle Toolkit produce WebVTT che lo segue

WebVTT trasforma un modello di testo temporizzato familiare in input web definito. La firma lo identifica, la grammatica del timestamp è canonica e il modello di indicazione può contenere più di un semplice testo sequenziale. Subtitle Toolkit produce il file canonico minimo da SRT analizzando i tempi in millisecondi interi, quindi scrivendo un'intestazione WEBVTT, separatori di punti e segnali senza linee identificative.

Confronta i conteggi dei segnali di origine e di output e leggi tutti i problemi di analisi prima di allegare il risultato a un lettore. Se la fonte si basa su commenti, regioni, blocchi di stile o identificatori, scegli un flusso di lavoro che preservi tali funzionalità; un convertitore mirato dovrebbe affermare tale confine piuttosto che implicare una completa fedeltà di andata e ritorno.