Конвертируйте субтитры WebVTT в автономную HTML-расшифровку
Превратите экспорт .vtt из Zoom, Teams или YouTube в аккуратную страницу .html, которую можно открыть прямо в любом браузере, разместить на хостинге или встроить куда угодно. Без тайм-кодов, без загрузки на сервер.
Ваши файлы никогда не попадают на сервер. Каждое преобразование на этой странице выполняется локально в вашем браузере с помощью JavaScript API FileReader. Ничего не загружается, не регистрируется и не сохраняется. Подходит для конфиденциальных записей Zoom/Teams, ещё не вышедшего видео и юридических интервью.
Как работает конвертация VTT в HTML
Файл WebVTT (.vtt) начинается с буквального заголовка WEBVTT, а затем перечисляет реплики как диапазон тайм-кодов, за которым следует одна-две строки текста субтитров. Это формат, который экспортируют при скачивании расшифровки большинство платформ для встреч, включая Zoom, Microsoft Teams и автоматические субтитры YouTube, — он создан для синхронизации субтитров с видео, а не для того, чтобы самостоятельно служить читаемой веб-страницей.
Конвертер VTT в HTML от SubToolDesk разбирает заголовок WEBVTT и блоки реплик локально в вашем браузере, отбрасывает заголовок, тайм-коды и любые голосовые теги, собирает фрагменты обратно в естественные абзацы и оборачивает результат в минимальный корректный HTML-документ с тегом <p> на каждый абзац — готовый к тому, чтобы открыть его прямо в браузере, разместить на сервере или добавить на статический сайт.
Как конвертировать VTT в HTML (пошагово)
- Перетащите файл
.vttв конвертер выше или нажмите «Загрузить файл», чтобы выбрать его. - Убедитесь, что значок автоматически определённого формата показывает VTT.
- Оставьте «Объединять в абзацы» включённым для связного текста или выключите, чтобы сохранить по одной реплике на строку.
- Включите «Удалять метки говорящих», если в экспорте встречи каждая строка помечена именем (обычное дело для Zoom и Teams).
- Нажмите «Скачать», чтобы сохранить автономный файл
.html.
Зачем конвертировать WebVTT в HTML
Файл .vtt создан для синхронизации субтитров с видеоплеером, а не для того, чтобы самостоятельно служить веб-страницей. Превращение его в HTML почти всегда связано с тем, что должно произойти с расшифровкой дальше:
- Публикация расшифровки встречи из Zoom или Teams как страницы внутренней вики, на которую команда сможет ссылаться, искать по ней и читать её, не открывая запись заново.
- Встраивание субтитров учебной сессии в документацию как отдельную страницу без дополнительной сборки.
- Передача расшифровки по ссылке, а не вложением
.vtt, которое большинство людей просто не знает, чем открыть. - Оформление расшифровки в стиле интранета или сайта, поскольку обычные семантические теги
<p>можно стилизовать таблицей стилей, а сырой VTT — нет. - Превращение видео с субтитрами в индексируемый и доступный контент в виде отдельной читаемой страницы для тех, кто предпочитает читать, а не смотреть.
- Архивирование расшифровки встречи в виде страницы, которая по-прежнему корректно откроется в любом браузере спустя долгое время после того, как сама запись исчезнет.
Что на самом деле содержится в HTML-файле
Это полноценный минимальный HTML-документ: декларация <!DOCTYPE html>, <head> с кодировкой UTF-8 и заголовком страницы, а также <body>, содержащий один элемент <p> на каждый абзац. Ни заголовок WEBVTT, ни голосовые теги, ни параметры реплики в результат не попадают — только семантическая разметка, которую можно открыть как есть или вставить в более крупную страницу и оформить собственным CSS.
До и после: реальный пример
Короткий экспорт в стиле Zoom — с голосовыми тегами, параметрами реплики и блоком NOTE — конвертированный с включёнными «Объединять в абзацы», «Удалять метки говорящих» и «Удалять теги форматирования» (состояние по умолчанию на этой странице):
WEBVTT NOTE Расшифровка создана Zoom 00:00:01.200 --> 00:00:03.900 align:start position:10% <v Jordan>Всем привет, спасибо, что подключились к сегодняшнему звонку. 00:00:03.900 --> 00:00:06.450 <v Priya>Конечно! Давайте начнём. 00:00:06.450 --> 00:00:09.800 <v Jordan>Отлично, первое в повестке — дорожная карта на третий квартал.
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <title>Transcript</title> </head> <body> <p>Всем привет, спасибо, что подключились к сегодняшнему звонку. Конечно! Давайте начнём. Отлично, первое в повестке — дорожная карта на третий квартал.</p> </body> </html>
Заголовок WEBVTT, блок NOTE, каждая строка тайм-кода с параметрами реплики и оба голосовых тега <v Jordan> исчезли. Осталась корректная минимальная разметка с произнесённым текстом, обёрнутым в один элемент <p>, готовая к открытию в любом браузере.
Почему HTML, а не обычный текст?
Файл обычного текста требует ещё чего-то, чтобы открыть его осмысленно; файл HTML открывается прямо в любом браузере с уже готовым корректным межабзацным интервалом. Это важно, когда расшифровке встречи или интервью нужно жить в вебе — например, быть опубликованной во внутренней вики, на сайте документации или переданной по ссылке, а не вложением.
Приватность за счёт архитектуры, а не политики
Расшифровка встречи часто оказывается самым конфиденциальным файлом в комнате. Разбор VTT и сборка HTML-файла происходят в JavaScript, который выполняется прямо во вкладке вашего браузера. У этой функции попросту нет адреса для загрузки файлов.
Типичные сценарии использования VTT в HTML
- Страницы внутренней вики: публикуйте расшифровку встречи из Zoom или Teams как страницу, на которую команда сможет ссылаться, искать по ней и читать её без повторного открытия исходной записи.
- Сайты документации: превратите субтитры записанной учебной сессии в отдельную HTML-страницу, которая встраивается в папку контента статического генератора сайта.
- Публичные архивы расшифровок: предложите читаемую, индексируемую HTML-расшифровку рядом с опубликованным видео — полезно для SEO и доступности.
- Быстрый локальный просмотр: откройте скачанный файл прямо из файловой системы в любом браузере, без сервера.
Нестандартные случаи, которые обрабатывает парсер
Парсер отбрасывает заголовок WEBVTT и пропускает метаданные в блоках NOTE, STYLE и REGION, которые встречаются в некоторых экспортах. Символы, которые могли бы сломать корректность HTML, например буквальные &, < или >, оставшиеся в очищенном тексте диалога, экранируются автоматически, так что результат всегда остаётся корректной разметкой.
Что этот конвертер сохраняет и что удаляет
Сохраняется:
- Каждое слово произнесённого текста диалога, в исходном порядке и с исходной пунктуацией.
- Структура абзацев, теперь в виде настоящих элементов
<p>: либо один на каждую исходную реплику, либо абзацы по предложениям, если включено «Объединять в абзацы». - Корректный, полноценный HTML-документ — doctype, заголовок с UTF-8 и тело, — так что файл корректно открывается в любом браузере.
Удаляется:
- Строка заголовка
WEBVTTи метаданные в блокахNOTE,STYLEиREGION. - Строки-идентификаторы реплик, все диапазоны тайм-кодов и параметры реплики вроде
align:start position:10%. - Голосовые теги вроде
<v Speaker Name>, если включена «Удалять теги форматирования». - Текстовые префиксы говорящих вроде
Jordan:, если включена «Удалять метки говорящих». - Любые CSS, скрипты или оформление — ничего не добавляется, и ничего не переносится из исходного файла.
Частые проблемы и способы их решения
- Скачанный файл открывается с видимыми тайм-кодами или стрелками
-->: проверьте, что значок формата над конвертером показывает VTT, а не Unknown; неудачно обрезанная вставка может нарушить определение реплик. - Теги
<v Speaker Name>по-прежнему видны внутри абзацев: включите «Удалять теги форматирования» — она выключена по умолчанию, только если вы это изменили. - Текстовые имена вроде
Jordan:по-прежнему стоят перед строками внутри HTML: это отдельный переключатель, «Удалять метки говорящих», включите и его — он ловит другой шаблон, чем удаление голосовых тегов выше. - Вся расшифровка рендерится как один сплошной абзац: это ожидаемо, когда много коротких и частых реплик сливается вместе; выключите «Объединять в абзацы», чтобы получить один
<p>на каждую исходную реплику. - Буквы с диакритикой или нелатинский текст отображаются как искажённые символы вроде
é: исходный.vttне был сохранён в кодировке UTF-8; экспортируйте или пересохраните его в UTF-8 и загрузите заново. - Вы хотите, чтобы расшифровка выглядела в стиле вашего сайта: конвертер намеренно не добавляет CSS; добавьте
<link>на собственную таблицу стилей в<head>или вставьте абзацы<p>в уже существующую страницу.
Чего этот инструмент намеренно не делает
Он не добавляет CSS-оформление, шаблон макета или брендинг — результат намеренно минимален, чтобы аккуратно встроиться в любой уже существующий сайт или таблицу стилей. Он также не исправляет ошибки расшифровки, уже присутствующие в исходном файле субтитров: он переформатирует и оборачивает то, что есть, но не переписывает содержимое.
Часто задаваемые вопросы
Как конвертировать файл VTT в HTML-страницу?
Перетащите файл .vtt в конвертер выше или вставьте его содержимое в левую панель. Как только значок формата подтвердит VTT, нажмите «Скачать». Автономный файл .html будет сгенерирован прямо в вашем браузере и сохранён с именем, соответствующим исходному файлу.
Работает ли это с экспортами VTT из Zoom, Microsoft Teams и YouTube?
Да. Все три экспортируют стандартный WebVTT, который этот парсер читает нативно. Переключатель «Удалять метки говорящих» особенно полезен для экспортов Zoom и Teams, которые обычно добавляют имя говорящего перед каждой репликой.
Можно ли открыть скачанный HTML-файл напрямую, без сервера?
Да. Это полноценный самодостаточный HTML-документ. Дважды щёлкните по нему (или откройте через меню браузера «Файл» → «Открыть») — он отобразится сразу, без сервера и подключения к интернету.
Содержит ли HTML-файл тайм-коды или форматирование WebVTT?
Нет. Заголовок WEBVTT, тайм-коды, параметры реплики и голосовые теги полностью удаляются. В HTML-разметку оборачивается только очищенный текст диалога.
Загружается ли моя расшифровка встречи куда-либо для создания HTML?
Нет. Разбор VTT и сборка HTML-файла происходят полностью внутри JavaScript-движка вашего браузера. Ничего не отправляется на сервер — это важно для файла, который может содержать конфиденциальное содержание встречи.
Можно ли разместить или встроить скачанный HTML-файл на собственном сайте?
Да. Это полноценный автономный HTML-документ без зависимостей — загрузите его на любой веб-хостинг как есть или скопируйте его абзацы в уже существующую страницу и примените собственный CSS вашего сайта.