Форматы
Как определить формат файла без расширения
Файл без расширения или с подменённым — как узнать его настоящий формат по сигнатуре и содержимому, без специальных программ.
Скачали или сами сделали субтитры к видео — а дальше непонятно, тот ли это формат, подойдёт ли он для YouTube, своего сайта или домашнего плеера. SRT, VTT и ASS — три самых распространённых формата субтитров, и они решают разные задачи. Если у вас уже есть файл с субтитрами, но непонятно, что это за формат, — см. как определить формат файла без расширения. А в этом гайде разберём разницу между форматами по существу, научимся определять формат и конвертировать его без потери синхронизации.
Коротко: SRT — самый совместимый формат, годится для YouTube и большинства плееров. VTT создан для веба и браузера — его понимает тег <track> в HTML5. ASS (и его предшественник SSA) нужен, когда субтитрам требуется оформление — позиционирование на экране, цвет, караоке-эффект, как в аниме-фансабе. Большинство плееров и конвертеров переводят текст между форматами без потерь, но стили и позиционирование при конвертации в SRT теряются — он их просто не поддерживает.

Формат субтитров — это текстовый файл, в котором реплики привязаны к тайм-кодам: моменту появления и исчезновения каждой строки на экране. В этом его принципиальное отличие от обычного .txt — там есть только текст, но нет указания, когда и как долго его показывать. Некоторые форматы субтитров (например, ASS) добавляют к тексту и тайм-коду ещё и стили: шрифт, цвет, положение строки на экране.
Файл субтитров хранится отдельно от видео — это обычный текстовый файл с особым синтаксисом, который плеер накладывает на картинку во время воспроизведения. Именно поэтому субтитры можно редактировать, переводить и конвертировать в текстовом редакторе, не трогая само видео.
SRT — формат, созданный программой SubRip для извлечения субтитров с DVD. Сегодня это негласный стандарт: его принимает YouTube, большинство видеоплееров, соцсети и почти любой онлайн-конвертер. Файл SRT устроен предельно просто: номер блока, тайм-код начала и конца, текст реплики, пустая строка — и так до конца файла.
| Пример блока SRT |
|---|
1 00:00:01,000 --> 00:00:04,000 Привет! Это пример субтитра. 2 00:00:04,500 --> 00:00:07,200 Второй блок начинается здесь. |
Обратите внимание на запятую в тайм-коде (00:00:01,000) — это особенность именно SRT, и её легко перепутать с точкой в VTT. У формата нет встроенной поддержки стилей и позиционирования — только чистый текст, иногда с базовым HTML-тегами вроде <i> для курсива, которые понимают не все плееры.
YouTube, Facebook, большинство настольных и мобильных видеоплееров, почти все онлайн-сервисы автоперевода субтитров. Если не уверены, какой формат нужен — начните с SRT, это самый безопасный выбор по совместимости.
WebVTT (Web Video Text Tracks) — формат, разработанный специально для веба и закреплённый официальной спецификацией W3C. От SRT он отличается технически в нескольких местах: файл обязательно начинается со строки WEBVTT, в тайм-коде вместо запятой используется точка (00:00:01.000), а сами реплики могут нести cue-настройки — позицию блока на экране, выравнивание и CSS-подобные классы для стилизации текста.
| Пример блока VTT |
|---|
WEBVTT 1 00:00:01.000 --> 00:00:04.000 Привет! Это пример субтитра. 2 00:00:04.500 --> 00:00:07.200 position:50% align:center Второй блок с позиционированием. |
VTT — это формат, который поддерживает тег <track> стандарта HTML5: если вы встраиваете видео на собственный сайт через <video>, субтитры к нему по умолчанию ожидаются именно в VTT. SRT в теге <track> браузеры не воспроизводят напрямую — его сначала нужно сконвертировать.
Встраивание субтитров в собственный видеоплеер на сайте через HTML5 <track>, YouTube-плеер при загрузке дорожки субтитров через API, большинство современных веб-плееров (video.js, Plyr и аналоги).
ASS (Advanced SubStation Alpha) и его более ранняя версия SSA (SubStation Alpha) — форматы, созданные там, где обычного текста недостаточно. Файл ASS начинается с секции [Script Info] и хранит не только текст и тайм-код, но и полноценные стили: шрифт, размер, цвет, обводку, тень, точное положение на экране и даже анимацию — например, караоке-подсветку слов по слогам, когда текст меняет цвет в такт голосу.
Такой уровень контроля оправдан в аниме-фансабе, где субтитры переводят не только речь, но и надписи на вывесках в кадре с привязкой к их положению, или в музыкальных видео с караоке-эффектом. Для обычного ролика на YouTube вся эта сложность избыточна — там хватает SRT или VTT, а экзотические стили ASS ваш зритель, скорее всего, даже не увидит: не все плееры и сайты их корректно отображают.
Отдельно стоит упомянуть два термина, которые часто путают с форматами, хотя это не формат, а назначение дорожки. Форсированные субтитры (forced) показывают только то, что зритель не поймёт без перевода — например, надписи на чужом языке или реплики инопланетян в фильме; весь остальной диалог на экране не дублируется. Скрытые субтитры (CC, closed captions) создаются для людей с нарушением слуха и, помимо реплик, описывают звуковые события — «звонит телефон», «музыка нарастает». Оба типа можно сохранить в любом из трёх форматов — это не отдельный формат файла, а признак того, как дорожка используется.
| Формат | Расширение | Тайм-код | Стили и позиционирование | Где используется |
|---|---|---|---|---|
| SRT (SubRip) | .srt | 00:00:01,000 (запятая) | Нет (иногда базовый <i>/<b>) | YouTube, соцсети, большинство плееров |
| VTT (WebVTT) | .vtt | 00:00:01.000 (точка) | Позиционирование, CSS-классы | HTML5 <track>, веб-плееры |
| ASS / SSA | .ass / .ssa | 0:00:01.00 | Шрифт, цвет, тень, анимация, караоке | Аниме-фансаб, стилизованные видео |
Проще всего посмотреть на расширение файла: .srt, .vtt, .ass или .ssa. Но расширение могли подменить или стереть при скачивании, и тогда файл нужно открыть глазами.
WEBVTT — это формат VTT.[Script Info] — это ASS или SSA (точную версию покажет строка ScriptType внутри той же секции).Если расширения нет вовсе или файл ведёт себя странно, полезно свериться с общим алгоритмом — как определить формат файла без расширения: субтитры открываются Блокнотом так же легко, как и большинство других текстовых форматов, так что метод из этого гайда работает напрямую.
Самый быстрый путь — загрузить файл в любой онлайн-конвертер субтитров или открыть его в десктопном плеере с функцией экспорта (например, VLC умеет сохранять открытые субтитры в другом формате). Минус в том, что при переходе из ASS в SRT плеер обычно отбрасывает стили и позиционирование — SRT их физически не умеет хранить, так что это не баг конвертера, а ограничение целевого формата.
Для пакетной обработки или работы без интерфейса удобен ffmpeg — свободная утилита для конвертации медиафайлов, которая умеет работать и с субтитрами напрямую, без видео:
ffmpeg (для Windows — скачать сборку с официального сайта, для Linux — через пакетный менеджер).ffmpeg -i input.srt output.vtt — так SRT превращается в VTT (или укажите output.ass для ASS).Полный список форматов субтитров и контейнеров, с которыми работает утилита, — в официальной документации ffmpeg. Учтите ту же оговорку, что и для онлайн-конвертеров: направление ASS → SRT теряет оформление, это нормальное поведение, а не ошибка команды.
Частая путаница: вместо текста в субтитрах видны странные символы вроде «Пна çÒÑáÕÑ¿» — и кажется, что формат файла определён неверно или сам файл повреждён. На самом деле дело почти всегда в кодировке текста, а не в формате. Субтитры в SRT, VTT и ASS — это обычный текст, и если файл сохранён в кодировке Windows-1251, а программа пытается прочитать его как UTF-8 (или наоборот), результатом и будут кракозябры — формат при этом остаётся тем же самым, просто неправильно декодирован.
Решение — пересохранить файл в нужной кодировке через текстовый редактор с поддержкой кодировок (например, Notepad++: «Кодировки» → выбрать UTF-8 → сохранить) или указать плееру кодировку вручную в настройках субтитров. Подробный разбор механики этой проблемы и способов её решить — в статье кракозябры и кодировка текстового файла: субтитры — это тот же самый случай, просто применительно к видео.
Выбор формата определяется не личными предпочтениями, а тем, где субтитры будут показываться.
| Сценарий | Рекомендуемый формат |
|---|---|
| Загрузка на YouTube или в соцсети | SRT |
Свой сайт, видеоплеер в браузере (HTML5 <track>) | VTT |
| Аниме-фансаб, караоке, стилизованное оформление | ASS |
| Plex, Kodi, домашний медиацентр | SRT или ASS — оба поддерживаются большинством плееров |
Отдельный случай — видео в контейнере MKV: он умеет нести субтитры прямо внутри файла, встроенной дорожкой, а не отдельным файлом рядом. Если вам нужно достать такие субтитры или, наоборот, понять, почему в MP4 так сделать не получится, смотрите наш разбор чем отличается MP4 от MKV — вопрос встроенных субтитровых дорожек там тоже затронут. Встроенные дорожки PGS/VobSub (субтитры-картинки с DVD и Blu-ray) — отдельная история, не тот же набор форматов, что SRT/VTT/ASS.
Да, и это самый надёжный способ узнать формат. SRT, VTT и ASS — обычные текстовые файлы, специальная программа для их просмотра не нужна, достаточно Блокнота или любого текстового редактора.
Это историческая особенность синтаксиса двух разных стандартов: SubRip изначально использовал запятую как разделитель миллисекунд, а спецификация WebVTT (W3C) выбрала точку. Перепутать формат по этому признаку легко — проверяйте первую строку файла, а не только тайм-код.
Да, обязательно. SRT не умеет хранить шрифты, цвета, позиционирование и караоке-эффекты — при конвертации в него плеер или конвертер сохранит только чистый текст и тайм-коды. Это ограничение формата, а не ошибка программы.
SRT — самый безопасный и широко поддерживаемый вариант. YouTube также принимает VTT, но для простой загрузки готовых субтитров к ролику обычно используют именно SRT.
Форсированные (forced) показывают только непереведённые надписи или реплики на чужом языке, оставляя основной диалог без дублирования. Обычная дорожка субтитров переводит или дублирует всю речь целиком.
Да, это называется «хардсаб» — субтитры накладываются на кадр и становятся частью изображения, их нельзя выключить или заменить. Обычные SRT/VTT/ASS остаются отдельным файлом или дорожкой, которую плеер включает по желанию зрителя — это гибче и почти всегда предпочтительнее.
Чаще всего причина не в самой конвертации формата, а в разной частоте кадров исходного видео и того, под которое делались субтитры. Конвертация текста в другой формат тайм-коды не трогает — ищите причину в частоте кадров или в том, что субтитры изначально были синхронизированы под другую версию видео (например, с удалёнными титрами).
Крупные стриминговые сервисы обычно работают с форматами на основе TTML/IMSC для доставки субтитров зрителю, но конкретная реализация у каждого сервиса своя и публично не раскрывается в деталях. Для собственных задач — загрузки на YouTube, встраивания на сайт или домашнего просмотра — ориентируйтесь на SRT, VTT и ASS из этого гайда, они покрывают все распространённые сценарии.