Subtitrare WebVTT (.vtt)

W3C Standard

Web Video Text Tracks (WebVTT) este standardul web oficial W3C pentru subtitrări, subtitrări explicative și descrieri de capitole, integrat nativ în elementele video HTML5 (<track>) și în streamingul live HTTP modern (HLS).

Convertește din SRT în VTT

Convertor gratuit din SRT în VTT direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.

Inspectare și metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele WebVTT prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele WebVTT prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

57 45 42 56 54 54

REPREZENTARE ASCII: WEBVTT

Standardizare: W3C WebVTT Recommendation

Specificații tehnice

Arhitectură containerFișier text UTF-8 care începe cu semnătura „WEBVTT”, urmat de blocuri opționale STYLE și NOTE și de blocuri cue în ordine secvențială
CompresieText simplu necomprimat (de obicei comprimat prin HTTP cu Gzip sau Brotli)
Ordinea octețilorFlux de text UTF-8
Spații de culoareSuport complet pentru modulul CSS Color nivelul 4 în stilurile cue-urilor
Canale și structurăCue-uri cu marcaje temporale, nivelul de încredere al recunoașterii vorbirii, stiluri CSS și setări pentru poziția pe ecran
Dimensiuni maximeNumăr nelimitat de cue-uri secvențiale
TransparențăSuport complet pentru opacitate și transparență alfa CSS prin pseudo-elementul „::cue”
Streaming și progresivStreaming nativ în elementele HTML5 <video> și în manifestele video live HLS / DASH

Matrice de comparație tehnică: WebVTT vs. concurenți

Atribut tehnicWebVTT (Curent)SRTASSSUB
Integrare web HTML5WebVTT este folosit pentru piste de text sincronizat în videoclipurile din browser și în unele liste de redare pentru streaming; compatibilitatea depinde de formatul de livrare.Necesită conversie JSNecesită WebAssemblyNecesită conversie
Stilizare CSSStilizare CSS nativă completă (::cue)Doar etichete HTML de bazăEtichete de suprascriere proprietareNiciuna
Streaming HLS / DASHWebVTT este folosit pentru piste de text sincronizat în videoclipurile din browser și în unele liste de redare pentru streaming; compatibilitatea depinde de formatul de livrare.Acceptat prin multiplexareSuport limitat pentru streamingNiciuna
Cerință de antetLinia 1 text magic strict 'WEBVTT'Nu necesită antetSecțiunea [Script Info]Nu necesită antet

Moduri comune de corupție și ghid de recuperare hexazecimală

Eroare în consola browserului: 'Malformed WebVTT file: Missing WEBVTT signature'.

Cauză principală: Lipsește șirul 'WEBVTT' de pe linia 1 sau există linii goale înainte de antet.

Recuperare: Adaugă 'WEBVTT\n\n' la începutul fișierului utilizând File2File.app Subtitle Converter.

Analiză de securitate și vectori de atac asupra parserului

Analizoarele WebVTT din browserele web procesează intrări de subtitrare neverificate, care pot duce la atacuri de tip Cross-Site Scripting (XSS) dacă sunt inserate în DOM fără sanitizare.

Vectori de atac cunoscuți

  • Injecție XSS prin inserarea în DOM-ul playerului video web a conținutului HTML neverificat al intrărilor de subtitrare.
  • Falsificare de cereri de pe server (SSRF) în timpul generării automate pe server a miniaturilor pentru subtitrări.
  • Atac de refuz al serviciului prin selectori CSS malformați pentru intrările de subtitrare.

Cele mai bune practici de securitate: Folosește randarea nativă a elementului <track> din browser și curăță conținutul cue-urilor înainte de a-l insera manual în DOM.

Origini istorice și repere

2019W3C promovează oficial WebVTT: Formatul Web Video Text Tracks spre stadiul de Recomandare Propusă.
2011Redenumit din WebSRT în WebVTT pentru a stabili un standard W3C distinct, separat de clasicul SubRip.
2010WHATWG introduce WebVTT pentru a rezolva subtitrarea nativă pentru etichetă HTML5 <video>.

Avantaje cheie și beneficii

  • Elementul HTML <track> folosește WebVTT pentru subtitrări și subtitrări pentru persoane cu deficiențe de auz. Browserele afișează temporizarea și stilurile cue-urilor prin playerul video, iar funcțiile acceptate pot varia.
  • Stilizare CSS avansată: personalizează culorile, fonturile, fundalurile și pozițiile cu pseudo-elementul CSS nativ „::cue”.
  • Serviciile HLS și MPEG-DASH pot livra piste de subtitrare WebVTT alături de segmentele video. Verifică dacă playerul vizat acceptă modul de includere a subtitrărilor în playlist și pistele lingvistice.

Limitări tehnice și dezavantaje

  • Cerință strictă de antet: fișierul trebuie să înceapă cu textul exact 'WEBVTT' pe prima linie, altfel browserele îl resping.
  • Separatorul de milisecunde cu punct ('00:01:20.500') necesită conversie din fișierele vechi SRT separate prin virgulă.
  • Playerele hardware mai vechi care nu sunt browsere (cum ar fi playerele media USB ieftine) nu dispun adesea de suport nativ WebVTT.

Curiozități tehnice interesante

  • Fiecare fișier WebVTT valid trebuie să înceapă cu cuvântul exact 'WEBVTT' pe prima linie; orice altceva determină browserele să ignore fișierul.
  • WebVTT s-a numit inițial 'WebSRT' deoarece a fost conceput în mod deliberat să arate aproape identic cu subtitrările clasice SRT.
  • WebVTT poate fi utilizat și pentru capitole video și indicii grafice interactive sub formă de miniaturi la trecerea cursorului peste barele de navigare video.

Întrebări tehnice frecvente

Pentru ce este folosit WebVTT?

WebVTT este formatul standard web oficial pentru adăugarea de subtitrări, texte pentru persoane cu deficiențe de auz, capitole și descrieri la elementele <video> HTML5 de pe site-uri.

Cum pot converti o subtitrare SRT în WebVTT?

Poți converti fișierele SRT în fișiere WebVTT curate dintr-un singur clic, folosind File2File.app direct în browserul tău.

De ce nu apar subtitrările mele WebVTT în browser?

Asigură-te că fișierul tău începe cu „WEBVTT” pe linia 1, are o linie goală după acesta, iar serverul tău web îl servește cu antetul „Content-Type: text/vtt”.