Формат обмена данными о субтитрах EBU
Как европейские вещатели обмениваются субтитрами с 1991 года: двоичный файл из блоков фиксированного размера, рассчитанный на дискеты. Заголовок о программе, затем блок на каждый субтитр, а текст записан в наборе символов телетекста.
Коротко
| Расширение | .stl |
|---|---|
| Тип медиа | Не зарегистрирован |
| Спецификация | EBU Tech 3264 (1991). Его преемник на XML — EBU-TT (Tech 3350). |
| Точность времени | Один кадр, при 25 или 30 (29.97) в секунду |
| Кодировка текста | ISO 6937 для латинских языков, акценты перед своими буквами; ISO 8859 для кириллицы, арабского, греческого и иврита |
| Оформление | Цвета телетекста и двойная высота; курсив и подчеркивание для открытых субтитров |
| Расположение | Строка (из 23 в телетексте), и слева, по центру или справа |
| Говорящие | Нет |
| В контейнерах | Нет. Файл поставляется вместе с программой. |
Анатомия файла
Не текст, а байты: заголовок в 1,024 байта, затем блок по 128 байт на каждый субтитр.
GSI · 1,024 bytes STL25.01 · teletext Latin · English Tears of Steel … TTI · 128 bytes 10:00:01:00 10:00:02:12 row 20 · centred You're a jerk,␊␊Celia. TTI · 128 bytes …
- 1 · GSI
Общая информация о субтитрах: частота кадров, телетекст или открытые субтитры, таблица символов, язык, названия, начало программы и число следующих блоков.
- 2 · Тайминг
Информация о тексте и времени, один блок на субтитр: его время входа и выхода.
- 3 · Текст
Строка, с которой он начинается, его выравнивание и 112 байт текста с управляющими кодами, которые задают его вид.
Заголовок
| Поле | Что содержит |
|---|---|
| DFC | Частота кадров: STL25.01 или STL30.01 для видео 29.97 |
| DSC | 1 или 2 для телетекста, 0 для открытых субтитров, вшитых в картинку или отрисованных плеером |
| CCT | Таблица символов: 00 латиница, 01 кириллица, 02 арабский, 03 греческий, 04 иврит |
| LC | Язык, по собственным кодам EBU: 09 английский, 0F французский, 21 португальский |
| TCP | Таймкод, с которого начинается программа |
| OPT | Название программы |
Время
Программы часто начинаются с десяти. Вещатели нумеруют кадры программы от 10:00:00:00, и заголовок об этом говорит. Subtitld считает субтитры файла от этого начала, поэтому они совпадают с видео, которое начинается с 0:00.
Текстовое поле
Символы и управляющие коды делят 112 байт.
| Байты | Что они делают |
|---|---|
0x00–0x07 |
Цвета телетекста: черный, красный, зеленый, желтый, синий, пурпурный, голубой, белый |
0x0D |
Двойная высота |
0x0B |
Начать рамку: субтитры телетекста показывают только то, что в рамке |
0x8A |
CR/LF, новая строка |
0x80, 0x81 |
Курсив включен и выключен, для открытых субтитров |
0x82, 0x83 |
Подчеркивание включено и выключено, для открытых субтитров |
0xC1–0xCF |
Акцент, перед буквой, на которую он ставится |
0x8F |
Незанятое место после текста |
Каждый код занимает ячейку. В телетексте управляющий код выводится как пробел, поэтому смена цвета между двумя словами — это пробел между ними. Subtitld пишет коды вместо пробелов.
Телетекст или открытые субтитры?
| Телетекст | Открытые субтитры | |
|---|---|---|
Заголовок DSC |
1 или 2 |
0 |
| Показывает | Телевизор зрителя, как телетекст | Вшит в картинку или отрисован плеером |
| Строки | 23, по 40 ячеек | Сколько указано в заголовке |
| Курсив, подчеркивание | — | Да |
| Двойная высота | Да | — |
| Рамки | 0x0B, вокруг показываемого |
0x84 и 0x85, рамка за текстом |
STL в Subtitld
- Текст каждого субтитра и переносы строк
- Цвета; курсив и подчеркивание в открытых субтитрах
- Где он стоит: вверху, посередине или внизу; слева, по центру или справа
- Язык
- Начало и конец, до кадра
- Курсив в телетексте
- Регион языка (коды EBU называют только языки)
- Говорящих, переводы рядом с оригиналом
- Озвучку, лица и цвета говорящих
Сохраните проект .usfx, чтобы их сохранить.
Открытие файла STL
Subtitld читает:
- частоту кадров, которую называет заголовок, STL25.01 или STL30.01, а также 23.976, 24 и 50 из более поздних файлов;
- время от начала программы, когда заголовок говорит, что она используется;
- латинский текст в ISO 6937 или таблицу кириллицы, арабского, греческого или иврита, которую называет заголовок;
- расширенные блоки длинного субтитра как один, а комментарии и пользовательские данные — как ничего;
- цвета, курсив и подчеркивание, а строку и выравнивание — как место субтитра;
- язык из заголовка как язык проекта.
Частота кадров, вид и начало программы файла сохраняются, чтобы записать файл обратно таким же. Файл, который не является EBU STL, например .stl 3D-модели, так и сообщает.
Экспорт STL
Экспорт, затем Субтитры и STL, предлагает:
- ТекстОригинал, перевод или оба, перевод ниже.
- Имена говорящихОпущены или перед текстом (Thom: …).
- ОформлениеСохраняется или удаляется.
- Сдвиг времениКаждый субтитр раньше или позже на одну и ту же величину.
- Частота кадров25 или 30 для видео 29.97: как у видео, если вы не выберете иначе.
- ВидТелетекст, каждая строка с двойной высотой и в рамке, или открытые субтитры, с курсивом и подчеркиванием.
- Программа начинается с00:00:00:00 или 10:00:00:00, как часто просят вещатели.
Таблица символов — та, которую нужен текст: латиница, если только это не кириллица, греческий, арабский или иврит. Название — это название видео. Строка телетекста вмещает около 36 символов текста после кодов; Subtitld не переносит за вас более длинные строки.
Любопытное
EBU опубликовала Tech 3264 для обмена субтитрами на дискетах. В заголовке до сих пор есть поля о том, на скольких дисках записан файл и какой это по счету.
Байт текста в каждом блоке. Более длинный субтитр продолжается в расширенных блоках, пронумерованных, последний помечен 255.
Преемник STL в XML, Tech 3350, вышел в 2012 году, а Tech 3360 описывает отображение STL на него. Его профиль распространения, EBU-TT-D, — разновидность TTML.
Похожие форматы
Откройте его в Subtitld вместе с видео и поправьте тайминг по осциллограмме.