Субтитри WebVTT (.vtt)
W3C СтандартWeb Video Text Tracks (WebVTT): це офіційний вебстандарт W3C для субтитрів, текстових підписів і описів розділів, інтегрований у відеоелементи HTML5 (<track>) та сучасну технологію потокового мовлення через HTTP (HLS).
Конвертувати з SRT у VTT
Безкоштовний конвертер з SRT у VTT у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли WebVTT, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли WebVTT, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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 (Поточний) | SRT | ASS | SUB |
|---|---|---|---|---|
| Інтеграція у веб HTML5 | 100% вбудований стандарт (<track>) | Потребує конвертації через JS | Потребує WebAssembly | Потребує конвертації |
| Стилізація CSS | Повна вбудована підтримка стилів CSS (::cue) | Лише базові теги HTML | Власні пропрієтарні теги для перевизначення стилів | Відсутня |
| Потокове мовлення HLS / DASH | WebVTT використовують для доріжок синхронізованого тексту у відео браузера та деяких потокових списках відтворення; підтримка програвача залежить від формату доставлення. | Підтримується через мультиплексування | Обмежена підтримка трансляцій | Відсутня |
| Обов’язковий заголовок | Точний службовий текст «WEBVTT» у першому рядку | Заголовок не потрібен | Секція [Script Info] | Заголовок не потрібен |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка в консолі браузера: 'Malformed WebVTT file: Missing WEBVTT signature'.
Першопричина: Відсутній рядок 'WEBVTT' на першому рядку або наявність порожніх рядків перед заголовком.
Відновлення: Додайте 'WEBVTT\n\n' на початок файлу за допомогою конвертера субтитрів File2File.app Subtitle Converter.
Аналіз безпеки та векторів атак на парсери
Засоби розбору WebVTT у браузерах обробляють недовірені репліки субтитрів. Якщо вставити їх у DOM без очищення, це може призвести до міжсайтового скриптингу (XSS).
Відомі вектори атак
- XSS-ін'єкція через неочищений HTML-вміст реплік субтитрів, вставлений у DOM відеоплеєра.
- Підробка запитів на сервері (SSRF) під час автоматизованої генерації мініатюр субтитрів на серверах.
- Відмова в обслуговуванні через неправильно сформовані CSS-селектори реплік субтитрів.
Рекомендації щодо захисту: Покладайтеся на вбудоване відтворення в браузері за допомогою <track> та очищуйте вміст реплік субтитрів перед ручним вставленням у DOM.
Історичне походження та віхи
Основні переваги
- Елемент HTML <track> використовує WebVTT для субтитрів і підписів. Браузери відображають час і стилі cue через відеопрогравач, хоча підтримувані функції можуть відрізнятися.
- Потужна підтримка стилів 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'.
Пов'язані пари конвертації WebVTT
Перетворення файлів SubRip Text у формат WebVTT перетворює звичайні текстові субтитри на сучасні текстові доріжки з часовою прив'язкою, сумісні з HTML5, для вебвідеоплеєрів.
Перетворення файлів WebVTT у SubRip Text забезпечує безперебійне відтворення субтитрів HTML5-відео в старих настільних медіаплеєрах та застарілому обладнанні для редагування.