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

W3C Стандарт

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

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

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

Проверка и метаданни

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

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

Поверително - файловете никога не напускат устройството ви

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

Байтов подпис на заглавката (сигнатурни байтове)

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

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

57 45 42 56 54 54

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

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

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

Контейнерна архитектураUTF-8 текстов файл, започващ със сигнатурата 'WEBVTT', последвана от незадължителни блокове STYLE и NOTE и последователни блокове със субтитри
КомпресияНекомпресиран обикновен текст (обикновено се компресира по HTTP с Gzip или Brotli)
Поредност на байтовете (Endianness)Текстов поток UTF-8
Цветови пространстваПълна поддръжка на цветовете от CSS Color Module Level 4 в стиловете на субтитрите
Канали и структураРеплики с времеви маркери, увереност на разпознаването на реч, CSS стилове и настройки за позиция на екрана
Максимални размериНеограничен брой последователни реплики
ПрозрачностПълна поддръжка на CSS непрозрачност и алфа прозрачност чрез псевдоелемента '::cue'
Поточно предаване и прогресивно зарежданеНативно поточно предаване в HTML5 елементите <video> и манифести за видео на живо HLS / DASH

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

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

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

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

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

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

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

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

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

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

Най-добри практики за защита: Разчитайте на вграденото визуализиране чрез <track> в браузъра и санирайте полезния товар на субтитрите преди ръчно вмъкване в DOM.

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

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

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

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

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

  • Стриктно изискване за заглавен ред: файлът трябва да започва с точния текст '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'.