WebVTT субтитри (.vtt)

W3C Стандарт

Web Video Text Tracks (WebVTT) е официалният уеб стандарт на W3C за надписи, субтитри и описания на глави, интегриран нативнo в HTML5 видео елементите (<track>) и съвременния HTTP поточно излъчване (HLS).

Конвертиране на SRT към VTT

Безплатен конвертор от SRT към VTT в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Инспектиране и метаданни

Операционните системи и файловите анализатори идентифицират WebVTT файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на хедъра (Magic Bytes)

Операционните системи и файловите анализатори идентифицират WebVTT файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

57 45 42 56 54 54

ASCII ПРЕДСТАВЯНЕ: WEBVTT

Стандартизация: W3C WebVTT Recommendation

Технически спецификации

Контейнерна архитектураUTF-8 text file starting with 'WEBVTT' signature, followed by optional STYLE and NOTE blocks and sequential cue blocks
КомпресияUncompressed plain text (typically compressed over HTTP via Gzip or Brotli)
Поредност на байтовете (Endianness)UTF-8 text stream
Цветови пространстваFull CSS Color Module Level 4 support in cue styles
Канали и структураTimecoded cues, speech recognition confidence, CSS styling, and screen position settings
Максимални размериUnbounded sequential cues
ПрозрачностFull CSS opacity and alpha transparency supported via '::cue' pseudo-element
Стрийминг и прогресивно зарежданеNative streaming in HTML5 <video> elements and HLS / DASH live video manifests

Техническа сравнителна матрица: WebVTT спрямо конкуренти

Технически атрибутWebVTT (Текущ)SRTASSSUB
HTML5 уеб интеграция100% нативен стандарт (<track>)Изисква JS конвертиранеИзисква WebAssemblyИзисква конвертиране
CSS стилизиранеПълно нативно CSS стилизиране (::cue)Само основни HTML таговеПроприетарни тагове за презаписНяма
HLS / DASH стриймингУниверсален стандарт за стрийминг излъчванеПоддържа се чрез муксиранеОграничена поддръжка за стриймингНяма
Изискване за хедърСтриктен 'WEBVTT' магически текст ред 1Не се изисква хедърСекция [Script Info]Не се изисква хедър

Често срещани режими на повреда и ръководство за хекс възстановяване

Грешка в конзолата на браузъра: 'Malformed WebVTT file: Missing WEBVTT signature'.

Първопричина: Липсващ низ 'WEBVTT' на ред 1 или празни редове преди хедъра.

Възстановяване: Добавете 'WEBVTT\n\n' в началото на файла с помощта на File2File Subtitle Converter.

Анализ на сигурността и вектори на атака към парсера

Парсерите на WebVTT в уеб браузърите обработват недоверени субтитри, което може да доведе до Cross-Site Scripting (XSS), ако бъдат визуализирани без саниране в DOM.

Известни вектори на атака

  • XSS инжекция чрез несанирано съдържание на HTML субтитри, вкарано в DOM на уеб видео плейъра.
  • Server-Side Request Forgery (SSRF) по време на автоматизирано генериране на миниатюри за субтитри от страна на сървъра.
  • Отказ от услуга (Denial of Service) чрез деформирани CSS селектори за субтитри.

Защитни добри практики:

Исторически произход и етапи

2019W3C официално придвижва WebVTT: Форматът Web Video Text Tracks към етап на предложена препоръка (Proposed Recommendation).
2011Преименуван от WebSRT на WebVTT с цел създаване на отделен W3C стандарт, независим от класическия SubRip.
2010WHATWG въвежда WebVTT за разрешаване на вградените субтитри за HTML5 тага <video>.

Основни предимства и плюсове

  • Нативен HTML5 уеб стандарт: поддържа се директно от всички уеб браузъри в тага <track> без външни библиотеки.
  • Богата поддръжка на CSS стилове: персонализиране на цветове, шрифтове, фон и позиции с помощта на нативния CSS псевдоелемент '::cue'.
  • Първокласна поддръжка на стрийминг на живо: интегриран в манифестите за стрийминг Apple HLS и MPEG-DASH за телевизионни и излъчвани субтитри.

Технически ограничения и минуси

  • Стриктно изискване за хедър: файлът трябва да започва с точния текст 'WEBVTT' на самия първи ред, иначе браузърите го отхвърлят.
  • Разделителят с милисекунди с точка ('00:01:20.500') изисква конвертиране от по-стари SRT файлове, разделени със запетая.
  • По-старите хардуерни плейъри извън браузърите (като евтини USB мултимедийни кутии) често нямат нативна поддръжка за WebVTT.

Интересни технически факти

  • Всеки валиден WebVTT файл трябва да започва с точната дума 'WEBVTT' на първия ред; всичко друго води до игнориране на файла от браузърите.
  • Първоначално WebVTT се наричаше 'WebSRT', тъй като бе умишлено проектиран да изглежда почти идентично с класическите SRT субтитри.
  • WebVTT може да се използва и за видео глави и интерактивни подсказки с миниатюри при задържане на мишката върху лентата за превъртане на видеото.

Често задавани технически въпроси

За какво се използва WebVTT?

WebVTT е официалният уеб стандартен формат за добавяне на субтитри, надписи, глави и описания към HTML5 <video> елементи в уебсайтове.

Как мога да конвертирам SRT субтитри във WebVTT?

Можете да конвертирате SRT файлове в чисти WebVTT файлове с едно кликване, като използвате File2File.app директно във вашия браузър.

Защо моите WebVTT субтитри не се появяват в браузъра?

Уверете се, че файлът ви започва с 'WEBVTT' на ред 1, има празен ред след него и вашият уеб сървър го предоставя с хедър 'Content-Type: text/vtt'.