JSON3 vs SRT:YouTube字幕とSubRip形式の比較
JSON3とSRTの構造、時間精度、対応範囲、使用例を比較。YouTube字幕向けの無料JSON3からSRTへの変換ツールも紹介します。
JSON3とSRTは役割が根本的に異なります。JSON3はYouTubeエコシステム内で字幕を保存・配信するための内部形式です。SRT(SubRip)はほぼすべてのメディアプレイヤーとデバイスが対応する汎用字幕標準です。違いを理解すると、YouTubeから取り出した字幕をプラットフォーム外で使うときに適切な形式を選べます。
JSON3とSRTの早見表
| 項目 | JSON3(YouTube) | SRT(SubRip) |
|---|---|---|
| 拡張子 | .json3 または .json | .srt |
| 形式の種類 | 構造化JSONオブジェクト | プレーンテキストブロック |
| タイムスタンプ | 整数のミリ秒(tStartMs) | カンマ区切りのHH:MM:SS,mmm |
| 時間精度 | ミリ秒+単語単位オフセット(tOffsetMs) | ミリ秒(3桁) |
| 単語単位の時間 | 対応(tOffsetMs) | 非対応。キュー単位のみ |
| スタイル | JSONメタデータとヒント | 最小限(非標準タグのみ) |
| 作られた目的 | YouTubeの内部字幕システム | DVDリッピング(SubRip) |
| 対応範囲 | YouTubeのみ | ほぼすべてのプレイヤーとデバイス |
| 人が読めるか | 読みにくい。JSON解析が必要 | 読みやすいプレーンテキスト |
| ファイルサイズ | 大きめ(JSONのオーバーヘッド) | 小さめ |
主な違いの解説
タイムスタンプと精度
JSON3はタイミングをミリ秒整数で保存し、イベントごとに単語単位オフセットも扱えます。SRTはHH:MM:SS,mmm形式でミリ秒精度ですが、時間情報はキュー単位だけです。JSON3からSRTへ変換すると、単語単位の時間はキューの開始時刻と終了時刻に集約されます。
構造と構文
JSON3はevents配列を持つ構造化JSONで、各イベントに開始時刻、継続時間、テキストセグメントが含まれます。SRTは空行で区切られた番号付きテキストブロックで、タイムスタンプ行と字幕テキストで構成されます。この差があるため、変換ではJSON階層を解析し、連続するテキストブロックへ組み立て直す必要があります。
対応環境
JSON3はYouTubeのエコシステム専用で、一般的な動画プレイヤーや編集ソフトは認識しません。SRTは世界中で最も広くサポートされる字幕形式であり、メディアプレイヤー、スマートTV、ストリーミングデバイス、編集ツールのほとんどで使えます。YouTube字幕を外部で使うなら、SRTへの変換が第一の選択肢になります。
JSON3を使う場面
JSON3が関係するのはYouTube字幕を扱うときだけです。yt-dlpやtimedtext APIで字幕を取得すると出会う形式であり、変換前の中間形式として最大限のタイミング情報を保存できます。
SRTを使う場面
デバイス互換性とオフライン再生を最優先するならSRTを選びます。映画、TV番組、動画編集、字幕交換で広く使われており、JSON3から変換しておけばほぼすべての環境で動作します。
JSON3からSRTへの変換
無料のJSON3 to SRTコンバータは、構造と時間の違いを自動的に処理します。JSON3イベントを解析し、単語単位の時間をキュー単位の開始・終了時間へ集約し、連番と正しいタイムスタンプ形式を備えた有効なSRTを出力します。Unicode、日本語を含むCJK文字、絵文字もそのまま保存されます。
よくある質問
JSON3をそのまま動画プレイヤーで使えますか?
使えません。JSON3はYouTubeの内部形式で、標準的なプレイヤーは認識しません。SRTやVTTなどへの変換が必要です。
SRTへ変換すると精度は失われますか?
イベント単位では失われません。SRTもJSON3もミリ秒精度です。ただしSRTには単語単位の時間がないため、tOffsetMsの情報はキュー単位の開始・終了時刻に集約されます。
YouTube字幕をJSON3でダウンロードする方法は?
yt-dlpで--write-auto-sub --sub-format json3を指定するか、timedtext APIにfmt=json3を指定してください。
SRTはJSON3より優れていますか?
目的が違います。JSON3はYouTubeの時間データを最大限保存する中間形式に向き、SRTはあらゆるプラットフォームで使える互換形式に向いています。