Субтитры SRT и VTT: форматы, структура и создание
Файл субтитров - это текстовый документ с репликами и тайм-кодами. По ним плеер знает, какую строку показать и в какую секунду убрать. Хранят такой файл чаще всего в формате SRT или VTT. Давайте разберёмся, как эти форматы устроены внутри, чем srt субтитры отличаются от VTT и что вообще значат форсированные и скрытые субтитры. Заодно покажем, как создать SRT-файл, извлечь субтитры из видео и переписать один формат в другой. И сразу проясним частый запрос «перевести субтитры»: здесь речь про расшифровку звука в текст, а не про смену языка - язык меняют переводчики, а не программа.
Файл субтитров SRT - что это и как устроен
Файл SRT (SubRip) - это простой текстовый формат субтитров из номера, тайм-кода и строки текста. Ничего бинарного внутри нет, поэтому и разобраться в нём легко, и открывается он без специальных программ.
Само понятие «файл субтитров» шире, чем SRT. Так называют вообще любой текстовый файл, где реплики привязаны ко времени показа. SRT, VTT и ASS попадают в этот же класс, а различаются, по сути, расширением и разметкой. Внутри-то лежит одно и то же: строки речи и тайм-коды, по которым плеер понимает, что и в какую секунду вывести. Субтитры в формате srt устроены проще всех, ASS позволяет разгуляться с оформлением, но зонтик над всеми тремя общий. А как именно в SRT записывается время начала и конца строки, подробно расписано в заметке про расстановку тайм-кодов. Дальше по статье SRT остаётся базовым примером.
Структура SRT-блока: номер, тайм-код, текст
Один блок SRT содержит порядковый номер, тайм-код формата ЧЧ:ММ:СС,ммм и текст реплики. Выглядит это так:
1
00:00:01,000 --> 00:00:04,000
Первая строка субтитров
2
00:00:04,200 --> 00:00:07,500
Вторая строка
Стрелка --> разделяет время появления и время исчезновения, между блоками - пустая строка. Именно из-за этой предсказуемой разметки субтитры в формате srt читают почти все плееры и платформы.
Как открыть SRT-файл
SRT-файл открывается любым текстовым редактором, например Блокнотом. Поменяйте в окне выбора фильтр на «Все файлы» либо просто перетащите документ в редактор - и перед вами те же номера, тайм-коды и реплики. Редактировать субтитры удобнее в специальных программах, но если задача одна - заглянуть, что там внутри, - вам хватит и стандартного Блокнота.
Формат VTT (WebVTT) и чем он отличается от SRT
Формат VTT (WebVTT) отличается от SRT строкой-заголовком WEBVTT в начале файла, поддержкой стилей и позиционирования, а также точкой вместо запятой в тайм-коде (00:00:01.000). VTT создавался под HTML5-видео, поэтому в браузере через тег <track> он подключается напрямую. SRT остаётся базовым и самым совместимым, VTT даёт больше контроля над оформлением.
Таблица: SRT vs VTT vs ASS
| Формат | Расширение | Тайм-код | Стили/позиция | Где применяется |
|---|---|---|---|---|
| SRT (SubRip) | .srt | ЧЧ:ММ:СС,ммм (запятая) | нет | плееры, YouTube, соцсети |
| VTT (WebVTT) | .vtt | ЧЧ:ММ:СС.ммм (точка) | да | HTML5-видео в браузере |
| ASS/SSA | .ass/.ssa | как SRT + слои | богатые (шрифты, эффекты) | аниме, караоке, сложное оформление |

Форсированные субтитры - что это значит
Форсированные (forced) субтитры показывают только иноязычную речь и надписи, а не весь диалог. Представьте фильм на русском: герой на секунду переходит на английский, или в кадре мелькает вывеска. Вот именно эти куски форсированная дорожка и выводит поверх картинки - сама, без включения полных субтитров. Отсюда и название. Показ «форсируется» плеером ровно там, где без перевода зрителю не обойтись.
Скрытые субтитры (closed captions) - что это
Скрытые субтитры (closed captions, CC) включают не только речь, но и описание значимых звуков - музыки, шумов, интонаций - и рассчитаны прежде всего на слабослышащих зрителей. В отличие от «вшитых» надписей, их можно включать и отключать средствами плеера. Технически такие субтитры тоже часто хранятся в SRT или VTT - разница не в формате файла, а в полноте содержимого.
Три типа субтитров путают постоянно, хотя ведут они себя по-разному. Скрытые (CC) несут всю речь и вдобавок пометки о значимых звуках, а включаются и выключаются прямо в плеере. Форсированные скромнее: только иноязычные вставки поверх основной дорожки. А вшитые (hardcoded) вообще прожжены в картинку, и отключить их нельзя никак. Разница не теоретическая, а бытовая. CC и форсированные лежат отдельным файлом srt или vtt, их можно править и переключать; вшитые впаяны в видеоряд намертво. И тут важный момент про сервис: прожиг субтитров в кадр остаётся работой видеоредактора, а не распознавания речи. Palatine Speech возвращает текстовый файл srt/vtt, а не готовое видео с наложенными надписями.
Как создать SRT-файл: три способа
Как сделать файл субтитров, зависит от того, что у вас уже на руках: готовый текст реплик или пока только звук. Есть текст, значит дело за разметкой времени. Есть одна запись, значит реплики придётся откуда-то добыть. От этой развилки и пляшет выбор способа.
Создать файл SRT можно тремя путями: набрать вручную в Блокноте, собрать в редакторе субтитров или получить автоматически через распознавание речи. Первые два хороши, когда реплики уже написаны и остаётся расставить тайм-коды. Третий выручает, когда на входе только аудио- или видеозапись без единой строчки текста. Полностью автоматический маршрут, где SRT собирается сам, без ручной разметки, мы уводим в генератор субтитров ниже, а здесь разбираем устройство каждого способа по порядку.
Вручную в Блокноте
Откройте Блокнот, наберите номер, тайм-код и реплику по структуре выше, сохраните файл с расширением .srt. Способ рабочий, но медленный: тайм-коды придётся выставлять на слух.
В редакторе субтитров
Специальные редакторы (Subtitle Edit, Aegisub и аналоги) дают волновую форму звука, синхронизацию по клавише и проверку ошибок. Так удобнее делать длинные субтитры и точнее ставить тайм-коды.
Автоматически через распознавание речи
Самый быстрый путь - автоматический. Речь распознаётся, а текст сразу размечается тайм-кодами и выгружается в готовый файл. Так работает генератор субтитров: вы загружаете аудио или видео и получаете srt/vtt без ручной разметки. Palatine Speech распознаёт речь с точностью WER 7,10% / WAcc 92,9%, поэтому расшифровку обычно остаётся только вычитать, а не набирать заново.

Как извлечь субтитры из видео
Всё упирается в один вопрос: лежит ли внутри файла отдельная текстовая дорожка или её там нет.
Выгрузка готовой дорожки
Если субтитры вшиты отдельным треком (частый случай для контейнера MKV), их выгружают программой вроде MKVToolNix: она вытащит дорожку и сохранит её в SRT. Никакого распознавания тут не нужно - текст уже готов.
Распознавание речи, когда дорожки нет
Чтобы вытащить субтитры из видео без встроенной дорожки, нужно распознавание речи (ASR), а не выгрузка готового трека. Доставать попросту нечего. Достать, вытащить, выгрузить, вырезать: глаголов много, а действие одно, получить из ролика текст с тайм-кодами. Когда субтитровая дорожка внутри файла есть, её и правда можно выгрузить готовой. А когда её нет, «достать субтитры из видео» означает распознать звук заново, с чистого листа.
Схема несложная. Скачайте видео, загрузите файл, и сервис вернёт текст с тайм-кодами. Приёма по ссылке нет, так что URL с YouTube или VK поле распознавания просто не примет, работаем только с загруженным файлом. А как сервис снимает речь прямо с видеозаписи, подробно разобрано в отдельном материале про распознавание речи из видеофайла.
Как конвертировать субтитры в SRT
Конвертация меняет только обёртку формата, а тайм-коды и текст оставляет как есть. Чтобы конвертировать субтитры в SRT, разметку переписывают из соседнего формата: VTT в SRT, ASS в SRT, контейнер MKS в SRT. Справится онлайн-конвертер или редактор субтитров. Он перечитает исходную разметку и переложит её по правилам SubRip, блок за блоком, не трогая ни реплики, ни время показа.
Но есть случай, когда конвертировать нечего. Если на руках только видео без субтитровой дорожки, переписывать не из чего. SRT тогда получают не конвертацией, а распознаванием речи, тем же способом, что и при извлечении субтитров из видео без готовой дорожки.
Перевести субтитры: расшифровка звука или смена языка
Когда человек ищет, как перевести субтитры, он обычно хочет одного из двух. И спутать эти желания легко. Первое простое: вытащить субтитры из звучащей речи, потому что готового текста к ролику никто не приложил. Так и бывает с интервью на диктофон или записанным вебинаром, где SRT в комплекте не шло. Никакого перевода в привычном смысле тут нет. Есть расшифровка: речь превращается в текст с тайм-кодами, а язык остаётся тем же. Именно это чаще всего и подразумевают, когда набирают «перевод субтитров онлайн» или «перевести субтитры онлайн», просто слово подобрали неточное. Такой сценарий закрывает распознавание речи из аудиофайла: загрузили запись, получили размеченный субтитрами текст.
Второе желание прямо противоположное. Сменить язык: была английская дорожка, нужна русская. Вот это уже настоящий перевод, translation, и занимается им переводчик или CAT-система поверх готового SRT или VTT. Распознавалка речи тут ни при чём. Palatine Speech язык не меняет: что наговорили в записи, на том языке текст и вернётся. Поэтому, когда нужен именно другой язык, путь выходит в два шага. Сначала расшифровать звук в SRT, потом отдать текст переводчику или живому специалисту, аккуратно, блок за блоком, сохраняя тайм-коды. Так что переводчик субтитров остаётся отдельной историей. Запросы вроде «перевести субтитры с английского на русский» или «переводчик с субтитрами» относятся к нему, а не к сервису. Сервис честно отвечает только за первый шаг, за точную стенограмму звука в исходном языке.
Экспорт субтитров в Palatine Speech
Palatine Speech экспортирует расшифровку в форматы srt и vtt через параметр response_format. API OpenAI-совместимый (POST /audio/transcriptions) и возвращает тайм-коды в verbose_json и в форматах srt/vtt, так что готовый файл сразу подгружается в плеер. Транскрибация стоит от 0,29 ₽/мин по модели pay-as-you-go, баланс не сгорает, а данные обрабатываются в 4 ЦОД Tier III в РФ по 152-ФЗ. Попробовать без интеграции можно в Telegram-боте @VoicePalatineBot - это 100 бесплатных транскрибаций в день: перешлите видео или войс и получите текст. Смену языка субтитров сервис не выполняет: наша задача - точный текст в исходном языке, а перевод на другой язык остаётся за переводчиком или CAT-системой.
Частые вопросы
Файл SRT - что это такое? SRT (SubRip) - простой текстовый формат субтитров: номер, тайм-код и строка текста. Открывается любым редактором, включая Блокнот.
Чем отличается формат SRT от VTT? SRT хранит номер, тайм-код и текст; VTT начинается со строки WEBVTT, поддерживает стили и позиционирование и использует точку в тайм-коде. VTT рассчитан на HTML5-видео в браузере.
Что значит форсированные субтитры? Это дорожка, которая показывает только иноязычную речь и надписи, а не весь диалог, и включается автоматически поверх основного видео.
Как извлечь субтитры из видео? Есть готовая дорожка - выгрузите её через MKVToolNix. Нет текста внутри - остаётся распознать речь и выгрузить результат в SRT или VTT.
Что такое скрытые субтитры? Closed captions добавляют к речи описание звуков для слабослышащих и включаются/отключаются в плеере.
Можно ли перевести субтитры на другой язык? Palatine Speech расшифровывает речь в текст исходного языка и формирует SRT/VTT; кросс-языковой перевод выполняют переводчики или CAT-инструменты.
Когда в видео нет готовой текстовой дорожки, «извлечь субтитры» технически означает не выгрузить их, а распознать речь заново. Мы отдаём расшифровку сразу в srt и vtt с тайм-кодами, чтобы файл можно было подгрузить в плеер без ручной разметки. Смену языка при этом мы намеренно оставляем переводчикам - наша задача точный текст в исходном языке.
- Валерий Гречин, CEO Palatine Speech
Частые вопросы
Файл SRT - что это такое?
SRT (SubRip) - это простой текстовый формат субтитров. Каждый блок состоит из порядкового номера, тайм-кода начала и конца показа и строки текста. Файл открывается любым текстовым редактором, например Блокнотом.
Чем отличается формат SRT от VTT?
SRT хранит номер, тайм-код и текст. VTT (WebVTT) - это web-стандарт: файл начинается со строки WEBVTT, поддерживает стили, позиционирование и метаданные, тайм-код использует точку вместо запятой. VTT рассчитан на HTML5-видео в браузере.
Что значит форсированные субтитры?
Форсированные (forced) субтитры показывают только ту часть реплик, которую нужно перевести зрителю, - иноязычную речь, надписи, вывески, - а не весь диалог. Они включаются автоматически поверх основной дорожки на языке зрителя.
Как извлечь субтитры из видео?
Если субтитры вшиты отдельной текстовой дорожкой, их выгружают программой вроде MKVToolNix. Если готовой дорожки нет и текст звучит только в речи, субтитры создают распознаванием речи: аудио превращается в текст с тайм-кодами и экспортируется в SRT или VTT.
Что такое скрытые субтитры (closed captions)?
Скрытые субтитры (CC) включают не только речь, но и описание значимых звуков - музыки, шумов, интонаций - и предназначены прежде всего для слабослышащих зрителей. Их можно включать и отключать средствами плеера.
Как создать SRT-файл из аудио или видео?
Есть три пути: вручную в Блокноте по тайм-кодам, в специальном редакторе субтитров или автоматически через распознавание речи. Palatine Speech распознаёт речь и сразу отдаёт результат в форматах srt и vtt через параметр response_format.
Можно ли перевести субтитры на другой язык?
Смена языка (например с английского на русский) - это работа переводчика или CAT-системы. Palatine Speech переводит речь в текст в исходном языке и формирует из неё файл SRT или VTT; кросс-языковой перевод в задачи сервиса не входит.
Как конвертировать субтитры в SRT (например mks в srt)?
Конвертация меняет обёртку формата, сохраняя тайм-коды и текст: подойдёт онлайн-конвертер или редактор субтитров. Если исходника с текстом нет, а есть только видео, SRT проще получить заново через распознавание речи.
Что такое файл субтитров и какие форматы бывают?
Файл субтитров хранит реплики вместе с тайм-кодами, по ним плеер и показывает нужную строку в нужную секунду. Форматов в ходу три: SRT (SubRip), VTT (WebVTT) и ASS/SSA. Расширение и разметка у них разные, а суть одна, текст плюс время показа. SRT самый совместимый, VTT заточен под HTML5-видео в браузере, ASS даёт простор для оформления.