Advanced SubStation Alpha
Формат субтитров, который умеет почти всё: именованные стили, любые шрифты, цвета, обводки, тени и коды, которые располагают, перемещают и анимируют каждую строку. Фансабберы верстают им уже четверть века. Его старший родственник, SubStation Alpha (.ssa), читается так же.
Коротко
| Расширение | .ass |
|---|---|
| Тип медиа | Не зарегистрирован; text/x-ssa по привычке |
| Спецификация | Неформальная. Заметки о SubStation Alpha, а затем то, что рисуют VSFilter и libass. |
| Точность времени | Сотые доли секунды |
| Кодировка текста | Не указывается. Сегодня UTF-8; более старые файлы — в кодировках своего времени, которые Subtitld определяет. |
| Оформление | Именованные стили и коды переопределения в тексте: шрифты, цвета, обводки, тени, поворот, анимация |
| Положение | Где угодно: выравнивание и поля стиля, {\an8}, {\pos}, {\move} |
| Говорящие | Актёр (Name) у каждой строки, на экране не показывается |
| В контейнерах | В Matroska как S_TEXT/ASS или S_TEXT/SSA, со вложенными шрифтами; в MP4 только преобразуется, без оформления |
Строение файла
Три раздела. Каждый начинается заголовком в квадратных скобках, под ним идут строки вида Key: value.
[Script Info] PlayResY: 800 [V4+ Styles] Style: Default,Arial,44,… [Events] Dialogue: 0,0:00:30.80,…,Celia,…
- 1 · Script Info
Холст: размер, относительно которого считаются все положения (
PlayResX,PlayResY), перенос строк (WrapStyle), заголовок. - 2 · Стили
Именованные оформления: шрифт, размер, цвета, обводка, тень, выравнивание и поля. SSA называет раздел
[V4 Styles]. - 3 · События
Одна строка на субтитр:
DialogueилиComment, которая никогда не показывается.
Строка Dialogue
Dialogue: 0,0:00:30.80,0:00:34.00,Default,Celia,0,0,0,,{\an8}Why don't you… содержит поля, разделённые запятыми:
| Поле | Что это |
|---|---|
| Layer | Слои с большим номером рисуются поверх. В SSA здесь стоит Marked=0. |
| Start, End | Время с точностью до сотой секунды |
| Style | Один из именованных стилей |
| Name | Актёр: кто говорит. Не показывается. |
| MarginL, MarginR, MarginV | Поля стиля для этой строки; 0 оставляет поля стиля |
| Effect | Старые эффекты прокрутки, обычно пусто |
| Text | Всё остальное в строке, включая запятые, вместе с кодами переопределения |
Таймкод
Сотые, а не тысячные. Одна цифра для часов и две после точки. Субтитр, размеченный с точностью до миллисекунды, при сохранении в ASS округляется до ближайшей сотой.
Коды переопределения
Коды в фигурных скобках меняют строку начиная с этого места. Ниже самые распространённые и то, как с ними работает Subtitld.
| Код | Эффект | В Subtitld |
|---|---|---|
{\i1}…{\i0} |
Курсив | Сохраняется |
{\b1}, {\b700} |
Полужирный или насыщенность | Сохраняется |
{\u1}, {\s1} |
Подчёркивание, зачёркивание | Сохраняется |
{\c&H00D7FF&} |
Цвет текста | Сохраняется |
{\r}, {\rSign} |
Возврат к стилю строки или вид другого стиля | Учитывается |
{\an8} |
Положение строки: девять мест клавиатуры | Сохраняется |
\N, \n, \h |
Перенос строки; перенос только при WrapStyle: 2; неразрывный пробел |
Сохраняются как переносы строк и пробелы |
{\pos(960,100)}, {\move(…)} |
Точная точка или траектория | Не сохраняется |
{\fad(200,200)}, {\t(…)} |
Затухание и анимация | Не сохраняется |
{\k20} |
Тайминг караоке | Не сохраняется; текст остаётся |
{\fnArial\fs48} |
Шрифт и размер | Не сохраняется |
{\p1}…{\p0} |
Векторный рисунок | Не субтитр |
Цвета записываются задом наперёд. &H00D7FF& — золотой: синий, зелёный, красный, в этом порядке. У цвета стиля впереди добавляется альфа-канал, где 00 — непрозрачно, а FF — невидимо.
SSA или ASS?
| SubStation Alpha .ssa | Advanced SubStation Alpha .ass | |
|---|---|---|
| Версия | v4.00 | v4.00+ |
| Раздел стилей | [V4 Styles] |
[V4+ Styles] |
| Выравнивание | Свои номера: 1 2 3 внизу, 5 6 7 вверху, 9 10 11 посередине | Как на клавиатуре, от 1 до 9 |
| Подчёркивание, зачёркивание | — | В стилях и кодах |
| Слои | — | По одному на строку |
| Используют | Старые программы | Aegisub, плееры, фансаб |
ASS в Subtitld
- Текст каждого субтитра и переносы строк
- Курсив, полужирный, подчёркивание, зачёркивание и цвет из стилей и кодов
- Положение на экране
- Говорящие, как актёры
- Начало и конец с точностью до сотой, по порядку
- Точные положения, затухание, анимация и караоке
- Шрифты, размеры и обводки построчно; слои
- Рисунки и комментарии
- Переводы рядом с оригиналом, озвучка, лица говорящих
Сохраните проект .usfx, чтобы сохранить то, что относится к Subtitld.
Открытие файлов ASS и SSA
Subtitld читает обе версии и:
- придаёт каждой строке оформление её стиля (курсив, полужирный, подчёркивание, зачёркивание, цвет, отличный от белого) и положение, затем следует кодам в тексте;
- принимает актёра за говорящего строки, готового к озвучке;
- пропускает строки
Commentи рисунки, сохраняя текст, идущий после рисунка; - читает
\nв соответствии сWrapStyleфайла: перенос строки при стиле 2, иначе пробел; - декодирует любую кодировку и расставляет строки по порядку.
То, для чего в Subtitld нет места, например точные положения, затухание, караоке и шрифты, пропускается. Сам текст остаётся.
Экспорт ASS
Экспорт, затем Субтитры и ASS, предлагает:
- ТекстОригинал, перевод или оба варианта, с переводом под оригиналом.
- Имена говорящихНе выводятся в тексте или ставятся перед ним (Thom: …). В любом случае они записываются как актёры.
- ОформлениеСохраняется или удаляется.
- Сдвиг времениВсе субтитры смещаются раньше или позже на одну и ту же величину.
- ВидБелый с чёрной обводкой или как в предпросмотре Subtitld: его шрифт, цвет, тень и полупрозрачная подложка.
Сценарий подгоняется под видео: PlayResX и PlayResY — его ширина и высота, а единственный стиль Default масштабируется по высоте: 60 пикселей при 1080. Если назвать файл .ssa, он записывается как SubStation Alpha v4, а положения — в номерах SSA.
Интересные факты
SubStation Alpha был редактором, написанным Kotus. Формат его сценариев взял название программы и пережил её.
Advanced SubStation Alpha указывает версию оригинала и знак плюс: те же разделы, больше кодов.
Цвета записываются в порядке синий, зелёный, красный, а альфа-канал считается наоборот: 00 — непрозрачно, FF — невидимо.
Похожие форматы
Откройте его в Subtitld вместе с видео и поправьте тайминг по осциллограмме.