Що таке 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.
Прийняття та підтримка в індустрії
TTML2 був прийнятий і підтримується різними організаціями та стандартними органами, включаючи:
- Netflix
- Microsoft
- BBC
- Apple
- MovieLabs
- European Broadcasting Union (EBU)
Ключові характеристики файлів TTML2
| Характеристика | Опис |
|---|---|
| Розширення файлу | .ttml, .dfxp, .xml |
| Повна назва | Timed Text Markup Language Version 2 |
| Тип MIME | application/ttml+xml |
| Тип формату | Формат структурованого тексту на основі XML |
| Розроблено | World Wide Web Consortium (W3C) Timed Text Working Group |
| Ключова перевага | Всеохопна підтримка глобальних скриптів, анімації, вбудованих ресурсів та професійних вимог трансляції |
| Остання специфікація | TTML2 2nd Edition W3C Recommendation Snapshot (березень 2021) |
| Підтримка макросів | Ні (чистий XML‑розмітка, без виконуваного коду) |
| Відкритий стандарт | Так (рекомендація W3C, повністю задокументований відкритий стандарт) |
Як відкрити файл 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 для кращої сумісності.
Питання та відповіді
Q1: Яка різниця між TTML1 та TTML2?
В: TTML2 додає основні функції, яких не було в TTML1, включаючи підтримку східноазіатських мов (ruby, вертикальний текст, акцент), безперервну анімацію, вбудовані ресурси (зображення, шрифти, аудіо) та підтримку стереоскопічного 3D.
Q2: Чи можу я відкрити файли TTML2 у веб‑браузері?
В: Більшість браузерів не вбудовано відображають субтитри TTML2. Для веб‑доставки конвертуйте TTML2 у формат WebVTT, який має кращу підтримку елементу HTML5 .
Q3: Яке програмне забезпечення створює файли TTML2?
В: Професійні інструменти для субтитрів, такі як EZTitles, пропонують експорт у TTML2, а будь‑який текстовий редактор може створити базові файли TTML2, оскільки вони базуються на XML. Для конвертації популярними варіантами є Subtitle Edit та FFmpeg.
Q4: Чи використовується TTML2 у потокових сервісах, таких як Netflix?
В: Так, Netflix був ключовим учасником розробки TTML і використовує профілі на базі TTML (зокрема IMSC) для доставки субтитрів. Формат широко застосовується у всій індустрії потокового відео.
Q5: Чи підтримують файли TTML2 зображення так само, як і текст?
В: Так, TTML2 підтримує як растрові зображення (у ролі переднього плану або фону), так і текст. Профіль IMSC Image забезпечує стандартизований спосіб доставки субтитрів на основі зображень за допомогою графіки PNG.
Посилання
Для глибокого розуміння та технічних деталей ви можете звернутися до повної специфікації TTML2: