EBU Subtitling Data Exchange Format
1991年以来、ヨーロッパの放送局が字幕をやり取りしてきた形式です。フロッピーディスク向けに作られた、固定サイズのブロックからなるバイナリファイルです。番組についてのヘッダーの後に、字幕ごとのブロックが続きます。テキストは、テレテキストの文字セットで書かれています。
概要
| 拡張子 | .stl |
|---|---|
| メディアタイプ | 登録なし |
| 仕様 | EBU Tech 3264(1991年)。そのXML後継はEBU-TT(Tech 3350)です。 |
| 時間の精度 | 1フレーム(25または30〔29.97〕fps) |
| 文字コード | ラテン系言語は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
General Subtitle Information。フレームレート、テレテキストかオープン字幕か、文字テーブル、言語、タイトル、番組の開始、そして続くブロックの数。
- 2 · タイミング
Text and Timing Information。字幕ごとに1ブロックで、入りと出のタイムコードを持ちます。
- 3 · テキスト
字幕が始まる行、行揃え、そして表示を装飾する制御コードを含む112バイトのテキスト。
ヘッダー
| フィールド | 内容 |
|---|---|
| DFC | フレームレート。STL25.01、29.97の動画では STL30.01 |
| DSC | テレテキストは 1 または 2、オープン字幕は 0(焼き込み、またはプレーヤーが描画) |
| CCT | 文字テーブル。00 はラテン、01 はキリル、02 はアラビア、03 はギリシャ、04 はヘブライ |
| LC | 言語。EBU独自のコード。09 は英語、0F はフランス語、21 はポルトガル語 |
| TCP | 番組が始まるタイムコード |
| OPT | 番組のタイトル |
タイムコード
番組はよく10:00から始まります。 放送局は番組のフレームを10:00:00:00から数え、ヘッダーにもそう書かれています。Subtitldは、そのファイルの字幕をその開始時刻から数えるため、0:00から始まる動画とも合います。
テキストのフィールド
文字と制御コードが、112バイトを共有します。
| バイト | 働き |
|---|---|
0x00〜0x07 |
テレテキストの色:黒、赤、緑、黄、青、マゼンタ、シアン、白 |
0x0D |
倍角 |
0x0B |
ボックスの開始。テレテキストの字幕は、ボックスで囲まれた部分だけが表示されます |
0x8A |
CR/LF、改行 |
0x80、0x81 |
オープン字幕の斜体のオン、オフ |
0x82、0x83 |
オープン字幕の下線のオン、オフ |
0xC1〜0xCF |
アクセント記号。それが付く文字の前に置かれます |
0x8F |
未使用のスペース。テキストの後に置かれます |
すべての制御コードは1マスを使います。 テレテキストでは、制御コードは空白として描画されます。そのため、2語の間で色が変わると、その間の空白が色の切り替えになります。Subtitldは、空白の代わりに制御コードを書きます。
テレテキストかオープン字幕か
| テレテキスト | オープン字幕 | |
|---|---|---|
ヘッダーの DSC |
1 または 2 |
0 |
| 表示するもの | 視聴者のテレビ(テレテキストとして) | 映像に焼き込み、またはプレーヤーが描画 |
| 行数 | 23行。各40マス | ヘッダーで指定された数 |
| 斜体、下線 | — | あり |
| 倍角 | あり | — |
| ボックス | 0x0B。表示される部分を囲む |
0x84 と 0x85。テキストの後ろにボックス |
Subtitldでの STL
- 各字幕のテキストと改行
- 色。オープン字幕では斜体と下線
- 表示位置:上、中、下。左、中央、右
- 言語
- 開始と終了(フレーム単位)
- テレテキストの斜体
- 言語の地域(EBUのコードは言語のみを示します)
- 話者、原文の横に並べた翻訳
- 吹き替え、話者の顔や色
これらを残すには、.usfx プロジェクトとして保存してください。
STLファイルを開く
Subtitldは次を読み取ります。
- ヘッダーが示すフレームレート、STL25.01またはSTL30.01。後のファイルでは23.976、24、50も。
- ヘッダーが使用を示している場合、番組の開始からの時刻。
- ラテン文字はISO 6937、またはヘッダーが指定したキリル文字、アラビア文字、ギリシャ文字、ヘブライ文字のテーブル。
- 長い字幕の拡張ブロックは1つの字幕として扱い、コメントや利用者データは無視します。
- 色、斜体、下線、そして行と行揃えは字幕の位置として扱います。
- ヘッダーの言語は、プロジェクトの言語になります。
ファイルのフレームレート、表示方法、番組の開始時刻は保持されるため、再保存すると元のとおりになります。3Dモデルの .stl など、EBU STLではないファイルは、その旨を表示します。
STLの書き出し
エクスポート、字幕、STLの順に選ぶと、次の項目が表示されます。
- テキスト原文、翻訳、または両方(翻訳は下に表示)。
- 話者名省略、またはテキストの前(Thom: …)。
- 装飾残す、または削除。
- 時刻をずらすすべての字幕を同じ量だけ前後にずらします。
- フレームレート25、または29.97の動画には30。動画のものを使いますが、変更もできます。
- 表示方法テレテキスト(各行を倍角にしてボックスで囲む)、またはオープン字幕(斜体と下線付き)。
- 番組の開始00:00:00:00、または放送局がよく求める10:00:00:00。
文字テーブルは、テキストに必要なものを使います。キリル文字、ギリシャ文字、アラビア文字、ヘブライ文字でなければラテン文字です。タイトルは動画の名前になります。テレテキストの1行には、制御コードを除いて約36文字のテキストが入ります。Subtitldは、それより長い行を自動で折り返しません。
豆知識
EBUは、フロッピーディスクで字幕をやり取りするためのTech 3264を発行しました。ヘッダーには、ファイルが何枚のディスクにまたがるか、そしてこれが何枚目かを示す欄が今もあります。
各ブロックのテキストのバイト数です。長い字幕は、番号の付いた拡張ブロックに続き、最後のブロックには255が付きます。
STLのXML後継であるTech 3350は2012年に登場し、Tech 3360がSTLをそこに対応付けました。その配信プロファイルであるEBU-TT-Dは、一種のTTMLです。
関連する形式
Subtitld で動画と一緒に開き、波形上でタイミングを調整しましょう。