Что такое TTML2?
Timed Text Markup Language 2 (TTML2) — это язык на основе XML, предназначенный для представления синхронного текстового медиа, такого как субтитры и подписи. Он служит в качестве стандартизированного формата для обмена, создания и распространения синхронного текста на различных платформах и системах.
TTML2 предназначен для:
- Обмен: Обеспечение обмена информацией о синхронном тексте между различными системами создания.
- Транскодирование: Преобразование синхронного текста в различные устаревшие форматы распространения, используемые в субтитровании и подписи.
- Распределение: Служит в качестве собственного формата распространения, например, при ссылке на содержимое TTML из элемента
<track>в документе HTML5 или из медиа‑элемента<text>или<textstream>в документе SMIL 3.0.
Системная модель
TTML2 работает в рамках системной модели, включающей процессы создания, транскодирования, распространения и представления. Он определяет два класса процессоров:
- Процессоры трансформации: Используются в системах создания и процессорах валидации.
- Процессоры представления: Используются в системах транскодирования и процессорах рендеринга.
Эти процессоры могут реализовывать отображения в промежуточные документы TTML, позволяя интегрировать их с различными медиа‑форматами и технологиями.
Структура документа
Типичный документ TTML2 состоит из:
<tt>: корневой элемент.<head>: содержит метаданные, стили и информацию о макете.<metadata>: включает метаданные уровня документа, такие как заголовок и авторские права.<styling>: определяет спецификации стилей.<layout>: задаёт области макета.
<body>: содержит синхронный текст, ссылаясь на стили и макеты.
например:
<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
<head>
<metadata/>
<styling/>
<layout/>
</head>
<body/>
</tt>
Пример:
Вот простой пример файла TTML2:
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:fontSize="16px" tts:color="white" tts:backgroundColor="black"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 10%"/>
</layout>
</head>
<body region="bottom">
<div>
<p begin="00:00:01.000" end="00:00:04.000" style="s1">
Hello, this is an example of TTML2 subtitles.
</p>
<p begin="00:00:05.000" end="00:00:08.000" style="s1">
These captions are timed and styled.
</p>
</div>
</body>
</tt>
<p begin="..." end="...">: показывает текст субтитров с указанием времени.<style>и<region>: определяют, как и где появляется текст.<tt>: корневой элемент документа TTML2.
Изменения по сравнению с TTML1
TTML2 вводит несколько улучшений по сравнению с TTML1, включая:
- Расширенные возможности: поддержка восточно‑азиатских языков, стереоскопического 3D и детальное отображение в HTML и CSS.
- Улучшенная модульность: лучшая организация и разделение ответственности внутри спецификации.
- Обновлённый синтаксис: уточнения в синтаксисе языка для большей ясности и согласованности.
Подробное резюме изменений от TTML1 к TTML2 доступно в TTML2 Change Summary.
Принятие и поддержка отрасли
TTML2 был принят и поддерживается различными организациями и стандартными органами, включая:
- Netflix
- Microsoft
- BBC
- Apple
- MovieLabs
- European Broadcasting Union (EBU)
Эти участники сыграли значительные роли в разработке и внедрении TTML2.
Ключевые характеристики файлов TTML2
| Характеристика | Описание |
|---|---|
| Расширение файла | .ttml, .dfxp, .xml |
| Полное название | Timed Text Markup Language Version 2 |
| Тип MIME | application/ttml+xml |
| Тип формата | XML‑based structured text format |
| Разработано | World Wide Web Consortium (W3C) Timed Text Working Group |
| Ключевое преимущество | Всеобъемлющая поддержка глобальных скриптов, анимации, встроенных ресурсов и профессиональных требований вещания |
| Последняя спецификация | TTML2 2nd Edition W3C Recommendation Snapshot (март 2021) |
| Поддержка макросов | Нет (чистая XML‑разметка, без исполняемого кода) |
| Открытый стандарт | Да (W3C Recommendation, полностью документированный открытый стандарт) |
Как открыть файл TTML2?
Вы можете открыть и просмотреть файл TTML2 с помощью различных инструментов, в зависимости от того, хотите ли вы прочитать текст, отредактировать содержимое или отобразить его как субтитры. Файлы TTML2 основаны на XML, поэтому их можно открыть в любом текстовом или XML‑редакторе, но для воспроизведения или тестирования их как субтитров требуются совместимые инструменты.
Для просмотра или редактирования
Используйте любой текстовый редактор:
- Windows: Notepad или Notepad++
- Mac/Linux: TextEdit или VS Code
Просто щёлкните правой кнопкой по файлу → Открыть с помощью → выберите ваш редактор.
Для воспроизведения как субтитров (с видео)
TTML2 не поддерживается большинством медиаплееров напрямую.
Необходимо конвертировать его в SRT или WebVTT с помощью таких инструментов, как:
- Subtitle Edit (бесплатное приложение для Windows)
Для использования на веб‑сайте
Подключите его в тег <video> так:
<track src="captions.ttml" kind="subtitles" label="English" srclang="en">
Примечание: большинство браузеров не поддерживают TTML напрямую. Конвертируйте в WebVTT для лучшей совместимости.
Часто задаваемые вопросы
Вопрос 1: В чем разница между TTML1 и TTML2?
Ответ: TTML2 добавляет крупные функции, отсутствующие в TTML1, включая поддержку восточно‑азиатских языков (руби, вертикальный текст, акценты), непрерывную анимацию, встроенные ресурсы (изображения, шрифты, аудио) и поддержку стереоскопического 3D.
Вопрос 2: Могу ли я открыть файлы TTML2 в веб‑браузере?
Ответ: Большинство браузеров не умеют нативно отображать субтитры TTML2. Для веб‑доставки конвертируйте TTML2 в формат WebVTT, который лучше поддерживается элементом <track> в HTML5.
Вопрос 3: Какое программное обеспечение создаёт файлы TTML2?
Ответ: Профессиональные инструменты субтитрования, такие как EZTitles, предлагают экспорт в TTML2, а любой текстовый редактор может создать базовый файл TTML2, поскольку он основан на XML. Для конвертации часто используют Subtitle Edit и FFmpeg.
Вопрос 4: Используется ли TTML2 сервисами потокового вещания, например Netflix?
Ответ: Да, Netflix был ключевым участником разработки TTML и использует профили на основе TTML (особенно IMSC) для доставки субтитров. Формат широко принят в индустрии потокового вещания.
Вопрос 5: Поддерживают ли файлы TTML2 изображения наряду с текстом?
Ответ: Да, TTML2 поддерживает как растровые изображения (в качестве фона или переднего плана), так и текст. Профиль IMSC Image предоставляет стандартизированный способ доставки субтитров на основе изображений в формате PNG.
Ссылка
Для глубокого понимания и технических деталей вы можете обратиться к полной спецификации TTML2: