SubRip
Самый простой формат субтитров, и тот, который воспроизводит почти всё: пронумерованные блоки текста, у каждого есть время начала и конца. Ни заголовка, ни оформления, ни официального способа задать положение строки. Поэтому он встречается повсюду.
Коротко
| Расширение | .srt |
|---|---|
| Тип медиа | application/x-subrip (не зарегистрирован) |
| Спецификация | Нет. Определяется тем, что принимают плееры. |
| Точность времени | Миллисекунды |
| Кодировка текста | В файле не указывается. Безопасный выбор — UTF-8; метка порядка байтов помогает некоторым старым плеерам и телевизорам. Subtitld определяет более старые кодировки при открытии файла. |
| Оформление | Курсив, полужирный, подчёркивание, зачёркивание и цвет через неофициальные теги |
| Положение | В самом формате не предусмотрено. {\an8} и его родственники, заимствованные из SubStation Alpha, читаются широко. |
| В контейнерах | В Matroska как S_TEXT/UTF8; в MP4 преобразуется в mov_text |
Строение субтитра
Файл — это список блоков. Каждый блок состоит из четырёх частей, всегда в таком порядке.
3 00:00:27,000 --> 00:00:30,500 ...you have your robotics, and I just want to be awesome in space.
- 1 · Номер
Число, начиная с 1. Обязательно, хотя большинство плееров его игнорирует.
- 2 · Тайминг
Начало, стрелка
-->, конец. Пробелы вокруг стрелки. - 3 · Текст
Одна или несколько строк. Для удобного чтения обычно не больше двух.
- 4 · Пустая строка
Завершает блок. Без неё многие плееры воспринимают следующий номер как текст.
Таймкод
Запятая, а не точка. 00:00:27.000 — так время записывает WebVTT. Некоторые плееры прощают точку, строгие же отказываются открывать такой файл. Это самая частая причина, по которой SRT «не открывается». Subtitld читает оба варианта и всегда записывает запятую.
Теги оформления
Ни один из этих тегов не входит в стандарт, но плееры со временем договорились о них. Используйте их умеренно: не каждая платформа их показывает.
| Тег | Эффект | Поддержка |
|---|---|---|
<i>…</i> |
Курсив, для закадрового голоса | Почти везде |
<b>…</b> |
Полужирный | Большинство настольных плееров |
<u>…</u> |
Подчёркивание | Большинство настольных плееров |
<s>…</s> |
Зачёркивание | Некоторые настольные плееры, в том числе VLC и mpv |
<font color="#ffd700"> |
Цвет текста, шестнадцатеричным кодом или названием | Настольные плееры; в сети часто игнорируется |
<font face="…" size="…"> |
Шрифт и размер | Несколько настольных плееров |
{\an8} |
Перенос наверх, заимствован из SubStation Alpha | VLC, mpv и другие |
Расположение строки
{\an1} — {\an9} располагают строку так же, как расположены клавиши цифровой клавиатуры. Код ставится в самом начале текста субтитра.
| Слева | По центру | Справа | |
|---|---|---|---|
| Вверху | {\an7} |
{\an8} |
{\an9} |
| По середине | {\an4} |
{\an5} |
{\an6} |
| Внизу | {\an1} |
{\an2}, по умолчанию |
{\an3} |
Открытие повреждённого SRT
SRT-файлы создают повсюду, и многие отходят от стандарта. Subtitld находит каждый субтитр по строке тайминга, а не по пустым строкам, поэтому открывает файлы с:
- любой кодировкой: UTF-8 с меткой порядка байтов или без неё, UTF-16 или более старой, например Windows-1252;
- точкой вместо запятой, часами из одной цифры, количеством знаков после запятой, отличным от трёх, или короткой стрелкой (
->); - без номеров, с недостающими или лишними пустыми строками либо с пустой строкой внутри субтитра;
- координатами, которые некоторые программы пишут после времени конца;
- субтитрами не по порядку: Subtitld расставляет их по порядку.
SRT в Subtitld
- Текст каждого субтитра и переносы строк
- Курсив, полужирный, подчёркивание, зачёркивание, цвет и положение
- Начало и конец с точностью до миллисекунды
- Порядок субтитров
- Говорящие, их лица и цвета (имена можно поставить перед текстом)
- Переводы рядом с оригиналом (перевод может его заменить или стоять под ним)
- Озвучка и метаданные
Сохраните проект .usfx, чтобы всё это не потерялось.
Экспорт SRT
Экспорт, затем Субтитры и SRT, предлагает:
- ТекстОригинал, перевод или оба варианта, с переводом под оригиналом.
- Имена говорящихНе выводятся или ставятся перед текстом (Thom: …).
- ОформлениеСохраняется или удаляется для платформ, которые показывают теги как текст.
- Сдвиг времениВсе субтитры смещаются раньше или позже на одну и ту же величину.
- КодировкаUTF-8; с меткой порядка байтов, для старых плееров и телевизоров; UTF-16; или Windows-1252.
- Окончания строкLinux и macOS (LF) или Windows (CRLF).
Какие бы параметры ни были выбраны, файл остаётся обычным SubRip: субтитры идут по порядку начала, нумеруются с 1, а перед миллисекундами стоит запятая. Пустые субтитры пропускаются, как и пустая строка внутри субтитра: в большинстве плееров она обрывает его раньше времени.
SRT или WebVTT?
| SubRip .srt | WebVTT .vtt | |
|---|---|---|
| Первая строка | Первый номер | WEBVTT |
| Миллисекунды | После запятой | После точки |
| Номер | Обязательный | Необязательное имя блока |
| Положение | {\an8} и его родственники, неофициально |
Настройки блока: line, position, align |
| Оформление | Неофициальные теги | Теги и CSS через ::cue |
| Говорящие | Только как часть текста | Теги голоса: <v Thom> |
| В веб-браузерах | Требует преобразования | Поддерживается, через <track> |
| Выбирайте для | Плееров, редакторов, загрузок | Видео в вебе |
Интересные факты
Формат назван по SubRip, программе для Windows, которая с помощью OCR считывала субтитры с DVD и записывала их текстом.
WebVTT сначала существовал под этим названием как SubRip, адаптированный для веба, и лишь потом получил заголовок, настройки блоков и CSS.
Ни одна организация так и не опубликовала спецификацию. Запятая, стрелка и пустая строка были соглашением, которое держалось четверть века.
Похожие форматы
Откройте его в Subtitld вместе с видео и поправьте тайминг по осциллограмме.