Friskription → Блог → SRT или VTT
SRT или VTT: что выбрать
Они несут одни и те же строки в одно и то же время и различаются символа на три. Разница важна потому, что несколько мест принимают ровно один из двух.
Короткий ответ
- Берите SRT для видеоредакторов, настольных плееров и загрузки субтитров на YouTube. Этот формат принимают везде.
- Берите VTT, когда субтитры идут на веб-страницу, потому что элемент
<track>в HTML5 читает WebVTT и больше ничего. - Если не уверены, берите SRT. Поддержка шире, а конвертация в VTT потом — это строка заголовка и одна замена по всему файлу.
- Реальные различия: VTT начинается со строки
WEBVTT, а в его метках времени перед миллисекундами стоит точка там, где в SRT запятая. - VTT может ещё нести оформление и позиционирование, которых нет в SRT, — это почти никому не нужно, и часть плееров всё равно их игнорирует.
Одни и те же три реплики в обоих форматах
SRT
1
00:00:01,200 --> 00:00:04,600
So today we are finally opening the
box everyone has been asking about.
2
00:00:04,600 --> 00:00:07,900
I have not looked inside. Not once,
I promise.
3
00:00:08,300 --> 00:00:11,400
Right — let us do this properly.
VTT
WEBVTT
1
00:00:01.200 --> 00:00:04.600
So today we are finally opening the
box everyone has been asking about.
2
00:00:04.600 --> 00:00:07.900
I have not looked inside. Not once,
I promise.
В обычном файле это действительно вся разница: строка заголовка и точка там, где была запятая. Оба — простой текст в UTF-8, оба нумеруют реплики, оба ставят --> между временем начала и конца, и оба пишут текст на строках ниже.
Что различается на самом деле
| SRT (SubRip) | VTT (WebVTT) | |
|---|---|---|
| Заголовок файла | Нет | WEBVTT в первой строке, обязательно |
| Разделитель миллисекунд | Запятая — 00:00:01,200 |
Точка — 00:00:01.200 |
| Номера реплик | Обязательны | Необязательны и могут быть именами, а не числами |
| Позиционирование | Не входит в формат | Позиция, выравнивание и размер для каждой реплики |
| Оформление | Простые строчные теги, поддержка неровная | CSS-подобный блок STYLE и классы реплик |
| Комментарии и метаданные | Нет | Блоки NOTE, а также дорожки глав и метаданных |
<track> в HTML5 |
Не поддерживается | Единственный формат, который он читает |
| Всё остальное | Принимается практически везде | Принимается широко, изредка нет |
Что выбрать в зависимости от назначения
| Куда идут субтитры | Берите | Почему |
|---|---|---|
| Видеоредактор — Premiere, DaVinci Resolve, Final Cut, CapCut | SRT | Формат, который любой редактор импортирует без лишних вопросов. |
| Настольный плеер — VLC, IINA, mpv | SRT | Положите рядом с видео под тем же именем — и он подхватится сам. |
| Загрузка субтитров на YouTube | SRT | YouTube принимает оба, но с SRT меньше всего трения. |
HTML5-<video> на веб-странице |
VTT | Элемент <track> читает WebVTT и только WebVTT. |
| Стриминг HLS или DASH | VTT | Обе спецификации задают WebVTT как формат субтитров. |
| Видео в соцсетях — Instagram, TikTok, LinkedIn | SRT | Там, где загрузка субтитров вообще есть, это почти всегда SRT. |
| Пока не решили | SRT | Поддержка шире, а конвертировать потом элементарно. |
Конвертация между ними
Из SRT в VTT — две правки: добавить сверху WEBVTT и пустую строку и заменить запятую в каждой метке времени на точку. Больше ничего двигать не нужно.
# SRT → VTT
{ echo -e "WEBVTT\n"; sed 's/,/./g' subtitles.srt; } > subtitles.vtt
sed намеренно грубый.
Он заменяет каждую запятую в файле, включая запятые в репликах, — для меток времени это нормально, для текста неверно. Для файла, который вы кому-то отдаёте, преобразуйте только строки с временем — или просто сразу выгрузите нужный формат, это ничего не стоит.
Из VTT в SRT — то же самое наоборот плюс удаление всего, чему в SRT нет места: блоков NOTE, блоков STYLE, настроек после метки времени и реплик с именами вместо номеров.
Как получить файл в любом из форматов
Если вы здесь потому, что вам нужны субтитры, а не чтобы закрыть спор о форматах: медиастудия принимает видео- или аудиофайл — MP4, WebM, MP3, M4A или WAV, — читает его в браузере, расшифровывает и переводит речь и в конце отдаёт результат в любом из двух форматов. Сам файл никогда не покидает ваш компьютер.
Тридцать минут каждую неделю бесплатны, тарифицируется только речь, и в обеих загрузках одни и те же строки — так что выбор в конце ровно тот, о котором эта страница. Есть подробная инструкция.
Вопросы
В чём разница между SRT и VTT?
В обычном файле — в двух вещах: файл VTT начинается со строки WEBVTT, а в его метках времени миллисекунды отделяются точкой там, где в SRT стоит запятая. Кроме того, VTT поддерживает позиционирование реплик, оформление, комментарии и метаданные, для которых в SRT нет места.
Что использовать для YouTube?
SRT. YouTube принимает оба, но именно с SRT его загрузка работает проще всего, и его же примет любой другой инструмент в цепочке.
Что использовать для сайта?
VTT, и выбора тут нет: элемент <track> в HTML5 читает WebVTT и больше ничего. Стриминг HLS и DASH тоже задаёт WebVTT.
Умеет ли VLC воспроизводить файл VTT?
Как правило да, но для настольных плееров надёжнее SRT. Назовите файл субтитров так же, как видео, положите в ту же папку — и он загрузится автоматически.
Один из них точнее другого?
Нет. Это контейнеры для одних и тех же строк с одним и тем же таймингом. Точность зависит от того, что породило субтитры, а не от формата, в котором вы их сохранили.
Может ли файл субтитров содержать сразу два языка?
Не в виде двух отдельных дорожек, но одна реплика может нести обе строки. Перед генерацией включите показ исходных слов под переводом — и каждая реплика будет записана так: сначала переведённая строка, под ней оригинал в скобках. Тогда любой плеер покажет обе, и два файла не нужны.
А как же ASS и SSA?
Это другой класс форматов, созданный для сложного оформления, позиционирования и вёрстки — того, чем занимается фансаб. Они оправданы, когда субтитр выполняет дизайнерскую работу. Для переведённой расшифровки с таймингом SRT и VTT — инструмент подходящего размера.
Сделайте файл субтитров для того, что у вас уже есть
Тридцать бесплатных минут каждую неделю. Ничего не нужно устанавливать, и файл остаётся на вашем компьютере.
Открыть медиастудию