Skip to content

VTT から TTML への字幕変換ツール

タイムスタンプ付きの WebVTT キューを、基本的な TTML XML 文書に変換します。

VTT ファイルをここにドラッグ&ドロップ

またはクリックして選択

50MB以下の.vttファイルに対応

コアエンジンアーキテクチャ

VTT から TTML への変換について

このブラウザー ベースの変換ツールは、タイムスタンプ付きの WebVTT キューブロックを読み取り、基本的な UTF-8 の TTML 文書を書き出します。キューの開始時刻と終了時刻は、秒単位の begin 属性と end 属性になります。物理的な改行は <br/> 要素になり、XML の特殊文字はエスケープされます。VTT のキュー識別子、キュー設定、リージョン、コメント、スタイルは、TTML の表示用メタデータにはマッピングされません。

ペイロード&構文インスペクター

VTT → TTML コード構文と構造の検証

ヘッダー定義、タイムスタンプ構文、キューペイロードのフォーマットを並べて比較し、コードレベルの対応関係を確認できます

ミリ秒同期
input.vtt
VTT 入力
WEBVTT
 
00:00:01.000 --> 00:00:04.000
Hello, world!
 
00:00:04.500 --> 00:00:08.000
This is a subtitle file.
 
00:00:08.500 --> 00:00:12.000
Converted locally!
output.ttml
TTML 出力
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml">
<body>
<div>
<p begin="1.000s" end="4.000s">Hello, world!</p>
<p begin="4.500s" end="8.000s">This is a subtitle file.</p>
<p begin="8.500s" end="12.000s">Converted locally!</p>
</div>
</body>
</tt>
仕様シート

VTT vs TTML 技術仕様

規格準拠
入力形式

VTT

VTT

VTT(WebVTT)は、ウェブ動画向けのテキスト字幕形式です。VTT ファイルは WEBVTT ヘッダーで始まり、HH:MM:SS.mmm --> HH:MM:SS.mmm 形式のキュー タイミングを使用します。キュー識別子、キュー設定、インライン タグ、NOTE ブロック、リージョン、スタイル用メタデータを含めることもできます。

出力形式

TTML

TTML

TTML(Timed Text Markup Language)は、W3C の XML 字幕形式です。この変換ツールは、既定の TTML 名前空間、xml:lang="en"、body 要素と div 要素、および秒単位の begin 属性と end 属性を持つ <p> 要素を含む、基本的な UTF-8 文書を生成します。

フォーマットの違い

VTT は WEBVTT ヘッダーで始まり、この TTML 出力は XML 宣言と <tt> ルート要素で始まります。
VTT は HH:MM:SS.mmm 形式のキュー タイミングを使用し、この出力は秒単位の begin 属性と end 属性を使用します。
VTT のキュー設定とリージョンは、TTML のレイアウト メタデータにマッピングされず破棄されます。
VTT のインライン タグは、TTML の span には変換されず、リテラル テキストとしてエスケープされます。
VTT のコメントと識別子は引き継がれません。
出力には、スタイルやプロファイル用メタデータを含まない基本的な TTML body が含まれます。

変換のトラブルシューティングと注意点

プレイヤー互換性、文字エンコーディング、タイミング同期に関する実践的な解決策

4 個の注意点
GOTCHA #1

プレーヤーで字幕のタイミングがずれたり音ズレが発生する

動画のフレームレートの違い(23.976fpsと25fpsなど)が原因の場合があります。当サイトの「字幕同期ツール」で全体の遅延を一括調整できます。

GOTCHA #2

日本語の漢字や記号が文字化け(?)して表示される

Shift-JISなど古い文字コードで保存されたファイルは文字化けします。出力ファイルはUTF-8に標準化されます。元のファイルが破損している場合は文字コード変換ツールをご利用ください。

GOTCHA #3

複数人物が同時に話す際に字幕が重なって見づらい

フォーマットによって重複表示の仕様が異なります。当サイトの字幕エディターで各行の表示時間を微調整できます。

GOTCHA #4

動画編集ソフト(Premiere、DaVinci Resolve等)で読み込みエラーになる

当ツールの変換エンジンは、改行や構文の一般的な問題を整理したクリーンなファイルを出力します。主要な編集ソフトでの読み込みをテストしてください。

機能

タイムスタンプ付きの WebVTT キューブロックをブラウザー内で直接読み込み
基本的な UTF-8 の TTML XML 文書を書き出し
タイミングを秒単位の begin 属性と end 属性に変換
キュー内の改行を <br/> 要素に変換
テキスト ノード内のアンパサンドと山括弧をエスケープ
50MB までのファイルをアップロードせずに処理

変換する理由

TTML はキューを WebVTT テキスト ブロックではなく構造化 XML として保存します。
一部のストリーミング、放送、ローカライズ ツールは TTML 入力を受け付けます。
基本的な TTML ドラフトは、XML エディターでプロファイル用メタデータを追加して拡張できます。
XML ツールでタイムド テキストの検証や変換ができます。
ローカル変換により、番組素材や字幕テキストをアップロードせずに済みます。
VTT と TTML のコピーを両方保持すると、異なる納品環境に対応しやすくなります。
Scenarios

主なユースケース

基本的な TTML ドラフト

ウェブ字幕から基本的な TTML 文書を作成し、その後に対象プロファイルやワークフローに合わせて確認します。

XML による連携

タイムスタンプ付きの VTT キューを、TTML XML 入力を受け付けるツールに移します。

テキスト編集

XML 対応ツールを使って、キューのタイミングとテキストを確認または編集します。

ローカル変換

字幕を別の変換サービスにアップロードせずに変換します。

ウェブ用と TTML 用のコピー

ウェブ再生用の VTT を保持しながら、別のワークフロー向けに基本的な TTML コピーを生成します。

Format Ecosystem

関連フォーマット

使い方

  1. 1

    .vtt ファイルを選択またはドロップします。内容は端末内に残ります。

  2. 2

    パーサーがタイムスタンプ付きのキューブロックを検出し、テキストを読み取ります。

  3. 3

    キュー識別子、設定、リージョン、コメント、CSS ブロックは破棄されます。

  4. 4

    開始時刻と終了時刻のミリ秒は、begin="1.500s" のような値になります。

  5. 5

    改行は <br/> 要素になり、XML の特殊文字はエスケープされます。

  6. 6

    各キューは、TTML の body 内に <p> 要素として書き込まれます。

よくある質問

いいえ。VTT のキュー設定、リージョン、CSS、インライン用スタイル タグは、TTML のスタイル属性やレイアウト属性にはマッピングされません。キュー テキスト内のタグはエスケープされ、リテラル テキストとして残ります。

ボイス タグは TTML の span には変換されません。山括弧がエスケープされるため、生成された <p> 要素内には元のマークアップがリテラル テキストとして表示されます。

いいえ。生成される TTML には、XML 宣言、既定の名前空間、xml:lang="en"、body、div、およびタイミング付きの <p> 要素が含まれます。head、スタイル、リージョン、IMSC、ITV、EBU-TT-D のメタデータは含まれません。

各キューの開始時刻と終了時刻は、begin="1.500s" や end="4.000s" のように、小数点以下 3 桁の秒単位値で書き込まれます。

いいえ。NOTE ブロックには、この変換ツールが表示対象として扱うキュー テキストがないため、無視されます。

単体では生成されません。プラットフォーム プロファイルでは、追加の名前空間、メタデータ、スタイル制限、検証が求められることがよくあります。この基本的な TTML は出発点としてのみ使用し、受け取り側の仕様を確認してください。

字幕を変換する準備はできましたか?

VTT ファイルをここにドロップして TTML に即座に変換。