SRT и VTT: в чём разница и какой формат выбрать?
SRT и VTT — два самых распространённых формата субтитров, но они не взаимозаменяемы. Разбираемся, в чём их реальные отличия и как выбрать подходящий.
Если вы когда-нибудь скачивали субтитры для видео и получали файл, который просто не работал, скорее всего, дело было в несовпадении SRT и VTT. Оба формата хранят, по сути, одно и то же — текст с привязкой по времени (так называемые cue), — но появились в разные эпохи веба и ведут себя по-разному в зависимости от того, где вы их используете.
Что такое SRT
SRT (SubRip Text) — более старый и простой формат. Он создавался для настольных видеоплееров, а не для браузеров. Cue выглядит так:
1
00:00:01,000 --> 00:00:04,000
Привет, и добро пожаловать на передачу.
Просто номер по порядку, время начала и конца, разделённые запятой, и сам текст. Никакого заголовка, стилей или метаданных. Именно эта простота — причина того, что SRT до сих пор встречается повсюду: его умеет читать почти любой медиаплеер, инструмент для монтажа и стриминговая платформа.
Что такое VTT
VTT (WebVTT) был создан специально для элемента <track> в HTML5, то есть это формат, который браузеры ожидают по умолчанию для субтитров в вебе. Файл VTT требует строки заголовка WEBVTT и использует точки вместо запятых в временных метках:
WEBVTT
1
00:00:01.000 --> 00:00:04.000
Привет, и добро пожаловать на передачу.
Помимо заголовка и синтаксиса временных меток, VTT поддерживает и то, чего в SRT никогда не было: позиционирование cue, базовое оформление (жирный, курсив, цвет через классы) и голосовые теги для различения говорящих. Если вы встраиваете субтитры прямо на веб-страницу, почти всегда нужен именно VTT.
Практические различия, которые реально создают проблемы
- Запятая и точка во временных метках. Это самая частая причина, по которой SRT-файл «не работает» после переименования в
.vtt, и наоборот: разделитель временной метки другой, и большинство парсеров не исправляют это автоматически. - Заголовок
WEBVTT. Файл VTT без него считается некорректным, даже если все остальные строки написаны правильно. - Требования платформ. YouTube, Vimeo и большинство видеоредакторов принимают SRT. Нативный элемент
<track>в браузерах и многие JavaScript-видеоплееры требуют VTT. Потоковые/HLS-сценарии также обычно требуют VTT. - Поддержка оформления. Если нужно расположить субтитры в определённом месте экрана или оформить реплики конкретных говорящих, SRT с этим просто не справится. Понадобится VTT (или более продвинутый формат, например ASS).
Какой формат выбрать?
- Для загрузки субтитров на YouTube, монтажа в Premiere/Final Cut или работы с большинством настольных инструментов → SRT.
- Для встраивания субтитров на веб-страницу с помощью элемента
<video>/<track>, или для работы с HLS/веб-стримингом → VTT. - Если нужно продвинутое оформление или позиционирование → лучше рассмотреть ASS, а не эти два формата.
Если у вас есть один формат, а нужен другой, переписывать всё вручную не придётся: конвертация чисто механическая (формат временных меток, заголовок, нумерация cue). Наш конвертер SRT в VTT делает всё это прямо в браузере — без загрузки на сервер, без регистрации, и ваш файл никогда не покидает устройство.