WebVTT字幕 (.vtt)
W3C 標準Web Video Text Tracks (WebVTT) は、HTML5のビデオ要素(<track>)や現代のHTTPライブストリーミング(HLS)にネイティブ統合された、キャプション、字幕、チャプター記述のための公式なW3Cウェブ標準です。
SRT を VTT に変換
無料のブラウザ内 SRT から VTT へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで WebVTT ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで WebVTT ファイルを識別します:
16進数シグネチャ (オフセット 0):
57 45 42 56 54 54ASCII表現: WEBVTT
標準化: W3C WebVTT Recommendation
技術仕様
| コンテナアーキテクチャ | UTF-8 text file starting with 'WEBVTT' signature, followed by optional STYLE and NOTE blocks and sequential cue blocks |
| 圧縮 | Uncompressed plain text (typically compressed over HTTP via Gzip or Brotli) |
| バイトエンディアン | UTF-8 text stream |
| 色空間 | Full CSS Color Module Level 4 support in cue styles |
| チャンネルと構造 | Timecoded cues, speech recognition confidence, CSS styling, and screen position settings |
| 最大寸法 | Unbounded sequential cues |
| 透過性 | Full CSS opacity and alpha transparency supported via '::cue' pseudo-element |
| ストリーミングとプログレッシブ | Native streaming in HTML5 <video> elements and HLS / DASH live video manifests |
技術比較マトリックス: WebVTT 対 競合製品
| 技術属性 | WebVTT (現在) | SRT | ASS | SUB |
|---|---|---|---|---|
| HTML5ウェブ統合 | 100%ネイティブ標準 (<track>) | JS変換が必要 | WebAssemblyが必要 | 変換が必要 |
| CSSスタイリング | 完全なネイティブCSSスタイリング (::cue) | 基本HTMLタグのみ | 独自のオーバーライドタグ | なし |
| HLS / DASH ストリーミング | ユニバーサルストリーミング放送標準 | 多重化(Muxing)を介してサポート | 限定的なストリーミングサポート | なし |
| ヘッダー要件 | 厳格な「WEBVTT」マジックテキスト 1行目 | ヘッダー不要 | [Script Info]セクション | ヘッダー不要 |
一般的な破損モードと16進数リカバリガイド
ブラウザコンソールのエラー: 「不正なWebVTTファイル: WEBVTTシグネチャがありません」。
根本原因: 1行目に「WEBVTT」文字列がない、またはヘッダーの前に空行がある。
復旧: File2File字幕コンバーターを使用して、ファイルの先頭に「WEBVTT\n\n」を追加します。
セキュリティ分析とパーサー攻撃ベクトル
ウェブブラウザ内のWebVTTパーサーは、信頼されていないキューを処理します。これらは、DOMにサニタイズされずにレンダリングされた場合、クロスサイトスクリプティング(XSS)につながる可能性があります。
既知の攻撃ベクター
- ウェブビデオプレイヤーのDOMに挿入されたサニタイズされていないHTMLキューコンテンツを介したXSSインジェクション。
- 自動化されたサーバー側の字幕サムネイル生成中のサーバーサイドリクエストフォージェリ(SSRF)。
- 不正なCSSキューセレクターを通じたサービス拒否(DoS)。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- ネイティブなHTML5ウェブ標準:外部ライブラリなしで、すべてのウェブブラウザの<track>要素で直接サポートされます。
- 豊富なCSSスタイリングサポート:ネイティブの「::cue」CSS疑似要素を使用して、色、フォント、背景、位置をカスタマイズできます。
- ファーストクラスのライブストリーミングサポート:放送用キャプション用のApple HLSおよびMPEG-DASHストリーミングマニフェストに統合されています。
技術的な制限とデメリット
- 厳格なヘッダー要件:ファイルの最初の行に正確なテキスト「WEBVTT」が含まれていない場合、ブラウザによって拒否されます。
- ピリオドミリ秒区切り(「00:01:20.500」)のため、レガシーなカンマ区切りのSRTファイルからの変換が必要です。
- 古い非ブラウザハードウェアプレイヤー(安価なUSBメディアボックスなど)には、ネイティブのWebVTTサポートが欠けていることがよくあります。
興味深い技術トリビア
- すべての有効なWebVTTファイルは、1行目に正確な単語「WEBVTT」で始まる必要があります。それ以外のものがあると、ブラウザはファイルを無視します。
- WebVTTは、古典的なSRT字幕とほぼ同じように見えるように意図的に設計されていたため、もともと「WebSRT」と呼ばれていました。
- WebVTTは、ビデオスクラバーバーにカーソルを合わせた際のビデオチャプターやインタラクティブなサムネイルツールチップにも使用できます。
よくある技術的な質問
WebVTT は何に使用されますか?
WebVTT は、Webサイト上の HTML5 の <video> 要素に字幕、キャプション、チャプター、説明を追加するための公式のWeb標準フォーマットです。
SRT 字幕を WebVTT に変換するにはどうすればよいですか?
ブラウザ上で直接 File2File.app を使用し、1クリックで SRT ファイルをクリーンな WebVTT ファイルに変換できます。
WebVTT 字幕がブラウザに表示されないのはなぜですか?
ファイルが1行目に「WEBVTT」で始まり、その後に空行があり、Webサーバーが「Content-Type: text/vtt」ヘッダー付きで配信していることを確認してください。