Перейти к основному содержимому
SubtitleMatrix

Формат субтитров SSA

Что умеет этот формат

Оформление текста
Шрифты, цвет, обводка, тень
Положение на экране
Да
Тайминг караоке
Да
Переносы строк внутри реплики
Да
Таймлайн
Начало и конец для каждой реплики
Точность тайминга
10 мс
Тайминг хранится в номерах кадров
Нет
Текст справа налево
Да

Примеры

Типичный файл SSA и то, что сайт из него читает

Файл

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Что в нём

3 cues, 4 lines of text

  0:00:01.00 → 0:00:04.00
    Hello there.
    [Default]
  0:00:05.00 → 0:00:08.00
    Italic line.   [italic ×1]
    [Default]
  0:00:09.00 → 0:00:12.00
    Two
    lines
    [Default]

Outside the cues:
  sections   [Script Info], [V4 Styles], [Events]
  style table  1 — Default (Arial 20)

Правая колонка — не результат конвертации, а то, что сайт извлекает из левого файла: реплики, интервалы, оформление и всё, что осталось за пределами реплик.

Неаккуратный файл SSA: что всё равно читается

Файл

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

Что в нём

2 cues, 3 lines of text

  0:00:01.00 → 0:00:04.00
    Bold and underlined.   [bold ×1, underline ×1]
    [Default]
  0:00:05.00 → 0:00:08.00
    A soft
    break and a {\p1}mystery{\p0} code.
    [Default]

Outside the cues:
  sections   [Script Info], [V4 Styles], [Events]
  style table  1 — Default (Arial 20)
  events     1 Comment: line — stored, never displayed

Второй файл намеренно неаккуратный: BOM, смешанные переводы строк и пустые поля. Сайт всё равно дочитывает его до конца, а пропущенные фрагменты перечисляет в отчёте.

Конвертировать SubStation Alpha (SSA) в другой формат

Каждая страница работает целиком в вашем браузере. Подписи говорят, чего стоит это направление, ещё до того, как вы его откроете.

SSA → ASS в браузере. Ничего не теряется.

В этом направлении ничего не теряется — у каждой возможности исходного формата есть куда перейти в целевом.

SSA → CSV в браузере. Потери: стили, позиции, караоке, поля формата.
  • Оформление
  • Позиционирование
  • Караоке
  • Содержимое формата
SSA → LRC в браузере. Потери: тайминг, стили, позиции, караоке, поля формата.
  • Тайминг
  • Оформление
  • Позиционирование
  • Караоке
  • Содержимое формата
SSA → MICRODVD в браузере. Потери: стили, позиции, караоке, fps, поля формата.
  • Оформление
  • Позиционирование
  • Караоке
  • Частота кадров
  • Содержимое формата
SSA → SBV в браузере. Потери: стили, позиции, караоке, поля формата.
  • Оформление
  • Позиционирование
  • Караоке
  • Содержимое формата
SSA → SRT в браузере. Потери: стили, позиции, караоке, поля формата.
  • Оформление
  • Позиционирование
  • Караоке
  • Содержимое формата
SSA → TXT в браузере. Потери: тайминг, стили, позиции, караоке, переносы, поля формата.
  • Тайминг
  • Оформление
  • Позиционирование
  • Караоке
  • Переносы строк
  • Содержимое формата
SSA → VTT в браузере. Потери: стили, позиции, караоке, поля формата.
  • Оформление
  • Позиционирование
  • Караоке
  • Содержимое формата

Конвертация в этот формат

SSA — старый диалект SubStation Alpha с той же системой оформления, что у ASS. Внутри файла — разделы Script Info, V4 Styles и Events с репликами в строках Dialogue; время записывается как 0:00:01.00, то есть сотые доли секунды, часы не дополняются нулём.

SSA — старый диалект SubStation Alpha с полной системой стилей, позиционированием и караоке; от ASS он отличается прежде всего разделом V4 Styles. Всё выполняется локально в браузере, поэтому можно обрабатывать целые серии пакетом.

Частые вопросы

Что хранит SSA помимо текста реплик?

Структура SSA: разделы Script Info, V4 Styles и Events с репликами в строках Dialogue. Дополнительно: раздел Script Info, встроенные шрифты и графика, строки Comment. Оформление — полная система: шрифт, размер, цвет, обводка, тень, выравнивание и караоке.

Как SSA записывает начало и конец реплики?

SSA пишет время как 0:00:01.00 (сотые доли секунды, часы не дополняются нулём). Полный интервал выглядит так: 0:00:01.00 → 0:00:03.50.

Насколько богатое оформление поддерживает SSA?

Оформление SSA — полная система: шрифт, размер, цвет, обводка, тень, выравнивание и караоке. Сильнее всего это заметно при сравнении с ASS: там есть шрифт, цвет, обводка, тень и караоке, а SSA такие поля либо не хранит, либо записывает упрощённо.

Что теряется при переводе SSA в более простой формат?

При переводе SSA в ASS потерь нет, а в SRT или VTT теряются стили, позиция, караоке и служебные разделы; в TXT остаётся только текст.

Можно ли перевести SSA в другие форматы в браузере?

Да: на сайте открыто 11 направлений перевода из SSA — в SRT, VTT, ASS, SBV, SMI, LRC, MicroDVD, TTML, JSON, TXT, CSV. Файл разбирается и записывается в текущей вкладке, не отправляется на сервер, а пакет можно скачать одним архивом.

Как SSA читает повреждённый файл?

SSA читается построчно: незнакомые поля стилей сохраняются, а строки Dialogue с нечитаемым временем пропускаются и учитываются в отчёте.