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

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

Конвертация форматовAdvanced SubStation Alpha (ASS)

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

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

Примеры

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

Файл

[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left

Что в нём

6 cues, 7 lines of text

  0:00:01.00 → 0:00:04.00
    Hello there.
    [Default]
  0:00:05.00 → 0:00:08.50
    Italic and bold text.   [italic ×1, bold ×1]
    [Default]
  0:00:09.00 → 0:00:12.00
    Positioned
    [Title; \pos 320,240]
  0:00:13.00 → 0:00:16.00
    karaoke   [karaoke ×4]
    [Default]
  0:00:17.00 → 0:00:20.00
    Line one
    Line two
    [Default]
  0:00:21.00 → 0:00:24.00
    Top left
    [Default]

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

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

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

Файл

[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecode

Что в нём

5 cues, 6 lines of text

  0:00:01.00 → 0:00:04.00
    Hello, world
    [Default]
  0:00:05.00 → 0:00:08.00
    {\fad(300,300)}Unmodelled override
    [Default]
  0:00:09.00 → 0:00:12.00
    Both, wrong order
    [Default; \pos 320,240]
  0:00:13.00 → 0:00:16.50
    One decimal centisecond
    [Default]
  0:00:17.00 → 0:00:20.00
    Soft
    break
    [Default]

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

Reported while reading — repaired or skipped, never silently:
  1 × events whose time codes could not be read (they were left in the file unchanged)

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

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

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

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

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

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

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

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

ASS хранит полную систему стилей, позиционирование, караоке и переопределения внутри строки, поэтому это самый выразительный формат из двенадцати. Файлы обрабатываются в браузере и не отправляются на сервер; пакет можно скачать одним архивом.

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

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

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

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

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

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

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

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

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

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

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

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

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