TTML2 とは?
Timed Text Markup Language 2 (TTML2) は、字幕やキャプションなどのタイムドテキストメディアの表現のために設計された XML ベースの言語です。これは、さまざまなプラットフォームやシステム間でタイムドテキストコンテンツの交換、作成、配布のための標準化されたフォーマットとして機能します。
TTML2 は対象:
- インターチェンジ: 異なる作成システム間でタイムドテキスト情報の交換を容易にします。
- トランスコーディング: 字幕やキャプションで使用されるさまざまなレガシー配布フォーマットにタイムドテキストコンテンツを変換します。
- 配信: 配信フォーマットとして機能し、たとえば HTML5 文書の
<track>要素や SMIL 3.0 文書の<text>または<textstream>メディア要素から TTML コンテンツを参照することができます。
システムモデル
TTML2 はシステムモデル内で動作します。このモデルには作成、トランスコーディング、配信、プレゼンテーションの各プロセスが含まれます。TTML2 は 2 つのクラスのプロセッサを定義します。
- 変換プロセッサ: 作成システムや検証プロセッサで使用されます。
- プレゼンテーションプロセッサ: トランスコーディングシステムやレンダリングプロセッサで使用されます。
これらのプロセッサは TTML 中間文書へのマッピングを実装でき、さまざまなメディアフォーマットや技術との統合を可能にします。
文書構造
典型的な TTML2 文書は以下で構成されます:
<tt>: ルート要素。<head>: メタデータ、スタイリング、レイアウト情報を含みます。<metadata>: タイトルや著作権など、文書レベルのメタデータを含みます。<styling>: スタイル仕様を定義します。<layout>: レイアウト領域を指定します。
<body>: タイムドテキストコンテンツを含み、スタイルとレイアウトを参照します。
e.g.
<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 の開発と実装に重要な役割を果たしています。
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 第2版 W3C 推奨スナップショット(2021年3月) |
| マクロサポート | なし(純粋な XML マークアップ、実行コードなし) |
| オープンスタンダード | はい(W3C 推奨、完全に文書化されたオープンスタンダード) |
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 に変換すると互換性が向上します。
FAQ
Q1: TTML1 と TTML2 の違いは何ですか?
A: TTML2 は、東アジア言語サポート(ルビ、縦書き、強調)、連続アニメーション、組み込みリソース(画像、フォント、音声)、ステレオスコピック 3D サポートなど、TTML1 に欠けていた主要機能を追加しています。
Q2: TTML2 ファイルをウェブブラウザで開くことはできますか?
A: ほとんどのブラウザは TTML2 字幕をネイティブにレンダリングしません。ウェブ配信の際は、HTML5 <track> 要素のサポートがより良い WebVTT 形式に変換してください。
Q3: TTML2 ファイルを作成できるソフトウェアは何ですか?
A: EZTitles のようなプロフェッショナル字幕ツールは TTML2 エクスポートを提供しています。XML ベースであるため、任意のテキストエディタでも基本的な TTML2 ファイルを作成できます。変換には Subtitle Edit や FFmpeg が一般的に使用されます。
Q4: Netflix のようなストリーミングサービスで TTML2 が使用されていますか?
A: はい、Netflix は TTML 開発の主要貢献者であり、字幕配信のために TTML ベースのプロファイル(特に IMSC)を使用しています。このフォーマットはストリーミング業界全体で広く採用されています。
Q5: TTML2 ファイルはテキストだけでなく画像もサポートしていますか?
A: はい、TTML2 は前景または背景としてのラスタ画像とテキストの両方をサポートします。IMSC Image Profile は PNG 画像を使用した画像ベース字幕を提供する標準化された方法を提供します。
参考文献
TTML2 の全仕様について詳しく知りたい場合は、以下を参照してください:
- [W3C 推奨 (2018年11月8日))3