JSON3字幕ファイルとは?YouTube字幕形式解説
JSON3字幕ファイルとは?YouTubeの内部字幕形式を解説。JSON3の仕組み、構造、SRT・VTT・LRCへの変換方法を学びましょう。
JSON3はYouTubeが字幕の保存と配信に使用する内部字幕形式です。JSONベースの形式で、各字幕イベントに正確なミリ秒単位のタイムスタンプ、単語レベルのオフセット、テキストセグメントが含まれます。SRTやVTTほど広く知られていませんが、YouTube字幕を抽出して標準字幕形式に変換する際にJSON3は不可欠です。
JSON3の意味
JSON3はYouTubeの字幕システムが使用するJSONベースのtimedtext形式を指します。「3」はYouTubeのtimed text APIレスポンス形式の第3バージョンを表します。SRTのようなプレーンテキスト形式とは異なり、JSON3は字幕データを構造化JSONオブジェクトとして保存し、単語レベルのタイミング、スタイルメタデータ、自動字幕アライメントを可能にします。
JSON3ファイルの仕組み
JSON3ファイルには"events"配列が含まれ、各イベントが一つの字幕キューを表します。各イベントにはミリ秒単位の開始時間(tStartMs)、オプションの持続時間(dDurationMs)、1つ以上のテキストセグメント(segs)があります。個々のセグメントにtOffsetMsフィールドを含めることで、単語レベルのタイミング精度を実現し、JSON3を最もタイミング精度の高い字幕形式の1つにしています。
JSON3を使用するタイミング
JSON3は主にYouTube動画から字幕をダウンロードまたは抽出する際に遇います。YouTubeの自動生成または手動作成された字幕を動画編集ソフト、他のプラットフォーム、アーカイブ目的で再利用する場合、JSON3をSRT、VTT、LRCなどより広くサポートされている形式に変換する必要があります。AllSubConverterがこの変換を自動的に行います。
JSON3ファイル構造
{
"events": [
{
"tStartMs": 0,
"dDurationMs": 3120,
"segs": [
{ "utf8": "Hi " },
{ "utf8": "everyone." }
]
},
{
"tStartMs": 3120,
"dDurationMs": 0,
"segs": [{ "utf8": "\n" }]
},
{
"tStartMs": 3120,
"dDurationMs": 4840,
"segs": [
{ "utf8": "In " },
{ "utf8": "this " },
{ "tOffsetMs": 640, "utf8": "video," }
]
}
]
}
JSON3のメリット
- ✓tOffsetMsによる単語レベルのタイミング精度
- ✓構造化JSON形式でプログラム解析が容易
- ✓YouTube自動字幕のすべてのタイミングデータを保持
- ✓CJK文字、絵文字、すべての言語を含むUnicodeテキストをサポート
JSON3の制限
- ⚠標準の動画プレイヤーや編集ソフトではサポートされていない
- ⚠YouTube固有の形式で、業界標準ではない
- ⚠実用的な使用にはSRT、VTT等への変換が必要
- ⚠JSONのオーバーヘッドでプレーンテキスト形式よりファイルサイズが大きい
JSON3よくある質問
YouTubeからJSON3字幕を取得するには?
yt-dlpやブラウザ拡張機能を使用して、JSON3形式でYouTube字幕をダウンロードできます。fmt=json3パラメータを指定すると、YouTubeのtimedtext APIがJSON3データを返します。ダウンロード後、AllSubConverterを使ってJSON3ファイルをSRT、VTT、LRCなどに変換できます。
JSON3をSRTに変換できますか?
はい。AllSubConverterはJSON3ファイルをSRT、VTT、LRC、ASS、TXT、TTML、SCC、STL、SMI形式に直接変換できます。JSON3ファイルをアップロードして出力形式を選択するだけです。すべてのタイミング情報とテキストコンテンツが保持されます。
JSON3とSRTの違いは何ですか?
JSON3はYouTubeの構造化JSON形式で、ミリ秒タイムスタンプと単語レベルタイミングを持ちます。SRTはよりシンプルなプレーンテキスト形式で、秒レベルのタイムスタンプでスタイルをサポートしません。JSON3はより精密ですがYouTubeのみが使用し、SRTはすべてのプラットフォームとプレイヤーで湊通的にサポートされています。
JSON3は複数言語をサポートしていますか?
はい。JSON3はUTF-8エンコーディングを使用し、CJK、アクセント付きラテン文字、アラビア語、絵文字を含むすべての言語を完全にサポートしています。YouTubeは動画の各言語トラックに個別のJSON3ファイルを提供します。
JSON3を他の形式に変換
AllSubConverterはJSON3からすべての主要字幕形式への変換をサポートしています。下記の変換ツールを選択して開始してください: