← Блог

Конвертация SRT в VTT: пошаговая инструкция

· 5 мин чтения

Как перевести SRT в VTT в браузере или вручную: заголовок WEBVTT, точки в тайм-кодах, UTF-8, проверка файла, подключение дорожки к видео на сайте и обратная конвертация VTT в SRT.

Конвертация SRT в VTT без ошибок: девушка держит листы с файлами SRT и VTT, рядом тайм-коды и заголовок WEBVTT

Чтобы конвертировать SRT в VTT, недостаточно изменить расширение файла. Нужно добавить заголовок WEBVTT, заменить запятые в тайм-кодах точками и сохранить документ в кодировке UTF-8.

Быстрее всего сделать это в редакторе субтитров, а небольшой файл можно поправить и вручную. Если вы ещё выбираете формат, сначала прочитайте сравнение SRT или VTT: какой формат выбрать.

Как конвертировать SRT в VTT в Captions Space

Готовый файл конвертируется в редакторе файлов субтитров. Он бесплатный, работает без регистрации, а файл не уходит на сервер — всё происходит в браузере.

  1. Откройте редактор файлов субтитров.
  2. Перетащите на страницу исходный SRT.
  3. Проверьте текст и временные границы реплик.
  4. При необходимости исправьте ошибки или сдвиньте всю дорожку.
  5. Выберите формат VTT и скачайте файл.

Редактор открывает SRT, VTT и ASS и сохраняет в любой из трёх форматов. Кодировка на выходе — UTF-8. Если исходный SRT был в Windows-1251 и вместо букв видны «кракозябры», редактор перекодирует его при открытии.

Конвертация не переводит текст на другой язык — она меняет только технический формат документа. Для перевода есть отдельная инструкция как перевести SRT-файл на другой язык.

Экспорт VTT из проекта Captions Space: проект с видео, окно «Экспорт видео» и выбор формата субтитров VTT для веб-плееров

Если субтитры создаются в Captions Space из видео, VTT выбирается прямо в окне экспорта

Если исходного SRT нет и субтитры ещё предстоит сделать, загрузите ролик в генератор субтитров: он распознает речь, а в окне экспорта можно сразу выбрать VTT. Файлы субтитров из проекта скачиваются на тарифах Lite и Pro или после покупки одного проекта за 149 ₽.

Как перевести SRT в VTT вручную

Создайте резервную копию и откройте SRT в текстовом редакторе — Блокноте, Notepad++ или Visual Studio Code.

1. Добавьте заголовок

Первая строка документа должна содержать WEBVTT. После неё оставьте пустую строку.

2. Измените тайм-коды

В SRT миллисекунды отделяются запятой: 00:00:01,000 --> 00:00:04,500. В VTT нужна точка: 00:00:01.000 --> 00:00:04.500.

При массовой замене следите, чтобы запятые не исчезли из текста самих реплик: заменяйте только запятую между секундами и миллисекундами.

3. Сохраните файл

Выберите кодировку UTF-8 и укажите имя с расширением .vtt, например subtitles-ru.vtt. WebVTT обязан использовать UTF-8 — это требование спецификации W3C.

Пример готового преобразования

Исходный SRT:

1
00:00:01,000 --> 00:00:04,200
Покажем, как преобразовать файл.

2
00:00:04,700 --> 00:00:07,500
Проверим текст и тайм-коды.

Результат в формате VTT:

WEBVTT

1
00:00:01.000 --> 00:00:04.200
Покажем, как преобразовать файл.

2
00:00:04.700 --> 00:00:07.500
Проверим текст и тайм-коды.

Числовые идентификаторы блоков можно оставить. Между соседними репликами должна быть пустая строка.

Как проверить VTT

Проверка VTT: файл subtitles-ru.vtt в Visual Studio Code с заголовком WEBVTT и точками в тайм-кодах, кодировка UTF-8; видео в браузере показывает русские субтитры

WEBVTT в первой строке, точки в тайм-кодах, UTF-8 — и проверка в плеере

Не ограничивайтесь проверкой расширения. Откройте готовый документ и убедитесь, что:

  • первая строка содержит WEBVTT;
  • файл сохранён в UTF-8;
  • в тайм-кодах используются точки;
  • между блоками есть пустые строки;
  • документ не получил расширение .vtt.txt;
  • русский текст отображается правильно.

Затем откройте видео с новой дорожкой и проверьте первую, среднюю и последнюю реплики. Смена формата не исправляет ошибки синхронизации исходного SRT — если текст расходится с голосом, смотрите разбор субтитры не совпадают со звуком.

Как подключить VTT к видео на сайте

WebVTT подключается к HTML5-видео элементом <track>:

<video controls>
  <source src="/video/example.mp4" type="video/mp4">
  <track
    kind="subtitles"
    src="/subtitles/example-ru.vtt"
    srclang="ru"
    label="Русский"
    default
  >
</video>

Элемент <track> предназначен для синхронизированных текстовых дорожек HTML-видео (документация MDN).

Сервер должен отдавать VTT с MIME-типом text/vtt. Если дорожка не появляется, откройте прямую ссылку на файл и убедитесь, что сервер не возвращает вместо него страницу ошибки. Если файл лежит на другом домене, плееру понадобятся заголовки CORS и атрибут crossorigin у <video>.

Почему VTT не открывается

Наиболее частые причины:

  • отсутствует строка WEBVTT;
  • в тайм-кодах остались запятые;
  • документ сохранён не в UTF-8;
  • нарушены пустые строки между блоками;
  • файл называется subtitles.vtt.txt;
  • сервер передаёт неправильный MIME-тип;
  • браузер показывает закешированную версию.

При повреждённой кириллице вернитесь к исходной копии, откройте её в правильной кодировке и только затем сохраните в UTF-8 — подробно в статье неправильно отображается SRT: кодировка и кракозябры.

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

Конвертация VTT в SRT: исходный VTT с блоками NOTE, STYLE и REGION, выбор SRT при экспорте и готовый SRT с запятыми в тайм-кодах и нумерацией реплик

Блоки STYLE, REGION и NOTE уходят, текст и тайм-коды остаются

Для обратного преобразования откройте VTT в редакторе файлов субтитров и сохраните как SRT. При ручной конвертации:

  1. Удалите заголовок WEBVTT.
  2. Замените точки перед миллисекундами запятыми.
  3. Пронумеруйте реплики.
  4. Удалите неподдерживаемые блоки STYLE, REGION и NOTE.
  5. Сохраните документ с расширением .srt.

При конвертации VTT в SRT стили и параметры положения теряются — SRT их не хранит. Текст и временные границы реплик сохраняются. Если оформление нужно сохранить, используйте ASS: чем три формата отличаются, разобрано в статье SRT, VTT и ASS.

Частые вопросы

Можно ли просто изменить расширение SRT на VTT?

Нет. Переименование не добавит заголовок WEBVTT и не исправит формат тайм-кодов.

Нужно ли загружать видео?

Нет, для преобразования достаточно файла субтитров. Видео понадобится, чтобы проверить синхронизацию.

Изменится ли текст?

При обычной конвертации содержание реплик не меняется — преобразуются только служебные элементы документа.

Почему вместо русских букв появились символы?

Скорее всего, дело в кодировке. Откройте исходную копию с подходящей кодовой страницей и сохраните результат в UTF-8.

Итог

Чтобы преобразовать SRT в VTT, добавьте строку WEBVTT, замените запятые в тайм-кодах точками и сохраните документ в UTF-8 с расширением .vtt.

Если реплик много, удобнее открыть SRT в редакторе файлов субтитров, проверить текст и скачать готовый VTT. После конвертации обязательно проверьте синхронизацию и работу файла в целевом плеере.

Конвертировать SRT в VTT →