Субтитры WebVTT (.vtt)
Рекомендация СтандартWeb Video Text Tracks (WebVTT): официальный веб-стандарт W3C для субтитров, субтитров для людей с нарушениями слуха и описаний глав. Он встроен в элементы HTML5 <video> (<track>) и современные потоки HTTP Live Streaming (HLS).
Конвертировать из SRT в VTT
Бесплатный конвертер из SRT в VTT прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы WebVTT по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы WebVTT по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
57 45 42 56 54 54ПРЕДСТАВЛЕНИЕ ASCII: WEBVTT
Стандартизация: Рекомендация W3C WebVTT
Технические спецификации
| Архитектура контейнера | Текстовый файл UTF-8, начинающийся с сигнатуры 'WEBVTT', за которой следуют необязательные блоки STYLE и NOTE, а также последовательные блоки реплик |
| Сжатие | Несжатый простой текст (обычно сжимается по протоколу HTTP через Gzip или Brotli) |
| Порядок байтов (Endianness) | Текстовый поток UTF-8 |
| Цветовые пространства | Полная поддержка модуля цветов CSS Color Module Level 4 в стилях реплик |
| Каналы и структура | Реплики с таймкодами, степень уверенности при распознавании речи, стили CSS и настройки положения на экране |
| Максимальные размеры | Неограниченные последовательные реплики |
| Прозрачность | С помощью псевдоэлемента '::cue' поддерживаются полная настройка непрозрачности и альфа-прозрачности в CSS |
| Потоковая передача и прогрессивная загрузка | Нативный стриминг в элементах HTML5 <video> и манифестах живого видео HLS / DASH |
Техническая матрица сравнения: WebVTT с конкурентами
| Технический атрибут | WebVTT (Текущий) | SRT | ASS | SUB |
|---|---|---|---|---|
| Интеграция с HTML5 Web | 100% нативный стандарт (<track>) | Требуется конвертация JS | Требуется WebAssembly | Требуется конвертация |
| Стилизация CSS | Полная нативная стилизация CSS (::cue) | Только базовые теги HTML | Проприетарные теги переопределения | Отсутствует |
| Стриминг HLS / DASH | Универсальный стандарт потокового вещания | Поддерживается через муксинг | Ограниченная поддержка стриминга | Отсутствует |
| Требование к заголовку | Строгая магическая строка 'WEBVTT' на 1-й строке | Заголовок не требуется | Секция [Script Info] | Заголовок не требуется |
Распространенные сценарии повреждения и руководство по восстановлению в HEX
Ошибка в консоли браузера: 'Некорректный файл WebVTT: отсутствует сигнатура WEBVTT'.
Первопричина: Отсутствует строка 'WEBVTT' на 1-й строке или имеются пустые строки перед заголовком.
Восстановление: Добавьте 'WEBVTT\n\n' в начало файла с помощью конвертера субтитров File2File.app.
Анализ безопасности и векторы атак на парсер
Парсеры WebVTT в браузерах обрабатывают недоверенные реплики. Если без очистки вставить их в DOM, это может привести к межсайтовому скриптингу (XSS).
Известные векторы атак
- XSS-инъекция через неочищенное содержимое HTML-реплик, вставленное в DOM веб-видеоплеера.
- Подделка запросов на стороне сервера (SSRF) при автоматической генерации миниатюр субтитров на сервере.
- Отказ в обслуживании (DoS) через некорректные селекторы реплик CSS.
Лучшие практики защиты: Полагайтесь на нативный рендеринг браузера через элемент <track> и очищайте полезную нагрузку реплик перед ручной вставкой в DOM.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Нативный веб-стандарт 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' на первой строке, после него идет пустая строка, а Ваш веб-сервер отдает файл с заголовком 'Content-Type: text/vtt'.
Связанные конвертации для WebVTT
Конвертация файлов SubRip Text в формат WebVTT преобразует простые текстовые субтитры в современные временные дорожки, совместимые с HTML5 и веб-видеоплеерами.
Конвертация файлов WebVTT в SubRip Text обеспечивает бесперебойное воспроизведение субтитров HTML5-видео в старых настольных медиаплеерах и устаревшем оборудовании для монтажа.