SRT vs VTT vs ASS: какой формат субтитров выбрать в 2026 году?
SRT, VTT и ASS: что несёт каждый формат субтитров, где именно он даёт сбой и какой выбрать для YouTube, веба, оформленных субтитров и архивного видео.
SRT — правильный ответ примерно в девяти случаях из десяти. VTT — ответ, когда файл проигрывается веб-страницей. ASS — ответ, когда субтитры не просто показываются, а именно оформляются как часть дизайна. Всё остальное в этом сравнении — детали, но именно из-за деталей файлы отклоняются, оформление незаметно пропадает, а тайминг сдвигается на округление.
Далее — что на самом деле содержит каждый формат и в какой именно момент он перестаёт хватать.
Сравнение в одной таблице
| SRT | VTT | ASS | |
|---|---|---|---|
| Полное название | SubRip | WebVTT | Advanced SubStation Alpha |
| Формальная спецификация | Нет, только соглашение | Да, W3C | Нет, документация сообщества |
| Таймкод | 00:00:01,000 (запятая) | 00:00:01.000 (точка) | 0:00:01.00 (сантисекунды) |
| Оформление | Базовые теги, поддержка непостоянна | CSS через ::cue | Полная таблица стилей плюс переопределения для отдельных строк |
| Позиционирование | Нет | Да, настройки реплики | Да, попиксельно |
| Караоке / тайминг по словам | Нет | Нет | Да |
| Встроенные или вложенные шрифты | Нет | Нет | Да, при мультиплексировании в MKV |
Веб-элемент track | Нет | Да, обязателен | Нет |
| YouTube, Vimeo, LinkedIn | Да | Да | Оформление не отображается |
| VLC, mpv, медиацентры | Да | Да | Да |
| Типичное применение | Всё подряд | Веб-плееры | Оформленные субтитры, аниме, караоке |
SRT: формат, который работает везде
Реплика SRT — это четыре строки: номер, временной диапазон, текст и пустая строка:
1
00:00:01,000 --> 00:00:04,120
This is the first subtitle.
Это и есть весь формат. У SRT нет официальной спецификации — это соглашение, которое все согласились реализовать одинаково, и именно поэтому он работает везде.
У этого соглашения нечёткие края. Большинство плееров понимают теги <i>, <b> и <u> внутри текста, многие понимают тег font с атрибутом цвета, но ничего из этого не гарантировано, и плеер, не понимающий тег, может показать его как обычный текст. Кодировка — другая классическая ловушка: SRT появился раньше любых правил кодировки, поэтому файл, сохранённый в Windows-1254 или Latin-1, превращает символы с диакритикой и нелатинские буквы в кашу в плеере, который ожидает UTF-8. Сохраняйте SRT в UTF-8 — и большинство жалоб вида «мои субтитры битые» просто не возникнет.
Используйте SRT, когда загружаете файл на платформу, отправляете его клиенту или просто хотите, чтобы он корректно открылся и через пятнадцать лет.
VTT: тот же SRT для веба, но с запасом на рост
WebVTT — это то, что требует элемент track в HTML5. Если субтитры проигрываются внутри веб-страницы, браузеру нужен именно VTT и ничего другого.
WEBVTT
intro
00:00:01.000 --> 00:00:04.120 line:90% align:center
This is the first subtitle.
Стоит запомнить четыре отличия от SRT:
- Заголовок. Файл обязан начинаться с
WEBVTT. Файл без него отклоняется сразу же, и это самая частая причина, по которой переименованный SRT не работает в браузере. - Пунктуация. После миллисекунд стоит точка, а не запятая. Если просто переименовать
.srtв.vttбез этой правки, файл загрузится, но ничего не покажет. - Настройки реплики. Каждая реплика может нести
line,position,align,sizeиvertical, чтобы сместить текст с нижнего центра, — полезно, когда это место занято вшитым текстом или логотипом. - Настоящее оформление и структура. VTT поддерживает блоки
STYLEс CSS-селектором::cue, комментарииNOTE, определенияREGIONи необязательные имена реплик. К тому же он всегда в UTF-8, что полностью убирает ловушку с кодировкой.
Используйте VTT, когда плеер — это веб-страница или когда спецификация доставки прямо требует WebVTT. Некоторые платформы — особенно хостинги онлайн-курсов — требуют именно его, по названию.
ASS: когда субтитры — часть дизайна
Advanced SubStation Alpha — это файл совершенно другого рода. SRT и VTT описывают что сказано и когда. ASS описывает как это нарисовано.
Файл ASS состоит из секций. [Script Info] задаёт виртуальный холст через PlayResX и PlayResY, поэтому позиции и размеры шрифта остаются пропорциональными при любом разрешении видео. [V4+ Styles] хранит именованные стили со шрифтом, размером, основным цветом и цветом контура, типом обводки, толщиной контура и тени, выравниванием и отступами. [Events] хранит строки диалогов, и каждая из них может переопределить что угодно из своего стиля прямо в тексте: \pos — для точного размещения, \an — для привязки, \fad — для затуханий, \t — для анимированных трансформаций и \k — для караоке-тайминга, слово за словом.
Одна деталь ловит всех в первый раз: цвета в ASS записываются как &HBBGGRR, в обратном порядке байт. Цвет, который выглядит как обычный RGB hex, на деле не он — скопируйте фирменный цвет напрямую, и получите его «двойника» с перепутанными каналами.
Это же формат, который делает возможной оформленную доставку сразу на нескольких языках. MKV может хранить по дорожке ASS на каждый язык и вложенный файл шрифта, поэтому оформление отображается одинаково даже на машине, которая никогда не видела этого шрифта.
Используйте ASS, когда нужны караоке или подсветка по словам, размещение субтитров не по центру внизу, своя типографика для каждого языка или единый файл, хранящий несколько оформленных языковых дорожек.
Что переживает конвертацию
Конвертация между этими форматами безопасна только в одну сторону.
| Конвертация | Результат |
|---|---|
| SRT в VTT | Практически без потерь — заголовок и смена пунктуации |
| VTT в SRT | Текст и тайминг сохраняются; позиционирование, регионы и CSS отбрасываются |
| ASS в SRT | Текст и тайминг сохраняются; всё оформление, позиционирование и караоке теряются |
| ASS в VTT | Текст и тайминг сохраняются; часть позиционирования можно приблизительно передать |
| SRT в ASS | Работает, но даёт обычное стандартное оформление — вы добавляете контейнер, а не дизайн |
Практическое правило: храните самую «богатую» версию как мастер-файл и генерируйте из неё более простые. В обратную сторону ничего не восстанавливается.
Так что же в итоге отправлять?
| Куда отправляется | Формат | Почему |
|---|---|---|
| YouTube, Vimeo, LinkedIn | SRT | Универсален, а плеер всё равно переоформит по-своему |
| Веб-страница с HTML5-плеером | VTT | Требуется элементом track |
| Платформы онлайн-курсов | VTT | Часто требуется по названию в спецификации загрузки |
| Переводчик или клиент | SRT | Открывается в любом редакторе субтитров на свете |
| Архив или локальное воспроизведение | ASS внутри MKV | Сохраняет оформление и все языковые дорожки в одном файле |
| TikTok, Reels, Shorts | Никакой — вшивайте | Эти платформы вообще не читают файлы субтитров |
Последнюю строку люди обычно узнают позже всех. У вертикальных соцплатформ вообще нет загрузки субтитров; там субтитры — это пиксели в видео, а значит, задача рендера, а не выбора формата файла. Как вшить субтитры в видео рассказывает, как сделать это без потери качества.
Как это устроено в Sablate
Sablate экспортирует .srt, .vtt и .txt на любом тарифе, а .ass и .mkv с мягкими субтитрами — на Pro. Важно знать: оформление, которое вы настраиваете в панели стилей редактора, — не приблизительный предпросмотр. Экспорт .ass, вшитый .mp4 и дорожки внутри .mkv рендерятся через libass из одного и того же описания стиля, поэтому все три результата в точности совпадают друг с другом.
Если вы делаете несколько языков из одной записи, выбор формата напрямую связан с выбором способа доставки — работа с несколькими языками разбирает оба вопроса вместе. Pro — это один платёж $29; полный разбор — на странице тарифов.
Коротко
Отправляйте SRT, если что-то конкретное не требует иного. Отправляйте VTT, когда браузер или платформа курсов запрашивают его по названию. Берите ASS, когда субтитры оформляются как дизайн — караоке, позиционирование, типографика под каждый язык, — и храните этот файл ASS как мастер-версию, потому что ничего из того, во что вы его конвертируете, не конвертируется обратно.