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

W3C Стандарт

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

Конвертувати з SRT у VTT

Безкоштовний конвертер з SRT у VTT у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли WebVTT, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності з нульовою передачею мережею: 0 байт завантажено на зовнішні сервери. Уся обробка виконується локально в пісочниці вашого браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли WebVTT, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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
Інтеграція у веб HTML5100% нативний стандарт (<track>)Потребує конвертації через JSПотребує WebAssemblyПотребує конвертації
Стилізація CSSПовна нативна стилізація CSS (::cue)Лише базові теги HTMLПроприєтарні теги перевизначенняВідсутня
Потокове мовлення HLS / DASHУніверсальний стандарт трансляції потокового відеоПідтримується через мультиплексуванняОбмежена підтримка трансляційВідсутня
Вимога до заголовкаСуворий службовий текст 'WEBVTT' у рядку 1Заголовок не потрібенСекція [Script Info]Заголовок не потрібен

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Помилка в консолі браузера: 'Malformed WebVTT file: Missing WEBVTT signature'.

Першопричина: Відсутній рядок 'WEBVTT' на першому рядку або наявність порожніх рядків перед заголовком.

Відновлення: Додайте 'WEBVTT\n\n' на початок файлу за допомогою конвертера субтитрів File2File Subtitle Converter.

Аналіз безпеки та векторів атак на парсери

Аналізатори WebVTT у веббраузерах обробляють недовірені підписи, що може призвести до міжсайтового скриптингу (XSS), якщо вони виводяться в документ без очищення.

Відомі вектори атак

  • XSS-ін'єкція через неочищений вміст HTML-підписів, вставлений у DOM відеоплеєра.
  • Підробка запитів на сервері (SSRF) під час автоматизованої генерації мініатюр субтитрів на серверах.
  • Відмова в обслуговуванні за допомогою неправильно сформованих селекторів підписів CSS.

Захисні найкращі практики:

Історичне походження та віхи

2019W3C офіційно просуває формат WebVTT: The Web Video Text Tracks Format до статусу запропонованої рекомендації (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 — це офіційний вебстандарт для додавання субтитрів, підписів, глав та описів до елементів <video> HTML5 на вебсайтах.

Як конвертувати субтитри SRT у WebVTT?

Ви можете конвертувати файли SRT у чисті файли WebVTT в один клік за допомогою File2File.app безпосередньо у своєму браузері.

Чому мої субтитри WebVTT не відображаються у браузері?

Переконайтеся, що ваш файл починається з рядка 'WEBVTT' у рядку 1, після нього є порожній рядок, а ваш вебсервер віддає його із заголовком 'Content-Type: text/vtt'.