WebVTT字幕 (.vtt)

W3C 標準

Web Video Text Tracks (WebVTT) は、HTML5のビデオ要素(<track>)や最新のHTTPライブストリーミング(HLS)にネイティブ統合された、キャプション、字幕、チャプター記述のための公式なW3Cウェブ標準です。

SRT を VTT に変換

無料のブラウザ内 SRT から VTT へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してWebVTTファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してWebVTTファイルを識別します:

16進数シグネチャ(オフセット0):

57 45 42 56 54 54

ASCII表現: WEBVTT

標準化: W3C WebVTT勧告

技術仕様

コンテナアーキテクチャ'WEBVTT'シグネチャで始まるUTF-8テキストファイル。任意のSTYLE/NOTEブロックと逐次キューブロックが続く
圧縮非圧縮プレーンテキスト(通常、HTTP経由ではGzipまたはBrotliで圧縮)
バイトエンディアンUTF-8テキストストリーム
色空間キュースタイルでCSS Color Module Level 4を完全サポート
チャンネルと構造タイムコード付きキュー、音声認識の信頼度、CSSスタイル、画面上の位置設定
最大寸法逐次表示するキュー数に上限なし
透過性'::cue'疑似要素を介したCSS不透明度とアルファ透明度を完全サポート
ストリーミングとプログレッシブHTML5 <video>要素とHLS / DASHライブ動画マニフェストでのストリーミングに標準対応

技術比較表:WebVTTと競合製品

技術属性WebVTT (現在)SRTASSSUB
HTML5ウェブ統合100%ネイティブ標準 (<track>)JS変換が必要WebAssemblyが必要変換が必要
CSSスタイリング完全なネイティブCSSスタイリング (::cue)基本HTMLタグのみ独自のオーバーライドタグなし
HLS / DASH ストリーミングWebVTTはブラウザー動画や一部のストリーミング再生リストで時刻付きテキストトラックに使われます。プレーヤーの対応は配信形式によって異なります多重化(Muxing)を介してサポート限定的なストリーミングサポートなし
ヘッダー要件厳格な「WEBVTT」マジックテキスト 1行目ヘッダー不要[Script Info]セクションヘッダー不要

一般的な破損モードと16進数リカバリガイド

ブラウザコンソールのエラー: 「不正なWebVTTファイル: WEBVTTシグネチャがありません」。

根本原因: 1行目に「WEBVTT」文字列がない、またはヘッダーの前に空行がある。

復旧: File2File.app字幕コンバーターを使用して、ファイルの先頭に「WEBVTT\n\n」を追加します。

セキュリティ分析とパーサー攻撃ベクトル

ウェブブラウザ内のWebVTTパーサーは、信頼されていないキューを処理します。これらは、DOMにサニタイズされずにレンダリングされた場合、クロスサイトスクリプティング(XSS)につながる可能性があります。

既知の攻撃ベクター

  • ウェブビデオプレイヤーのDOMに挿入されたサニタイズされていないHTMLキューコンテンツを介したXSSインジェクション。
  • 自動化されたサーバー側の字幕サムネイル生成中のサーバーサイドリクエストフォージェリ(SSRF)。
  • 不正なCSSキューセレクターを通じたサービス拒否(DoS)。

防御的ベストプラクティス: ネイティブブラウザの <track> レンダリングに依存し、手動でのDOM挿入の前にキューペイロードをサニタイズします。

歴史的背景とマイルストーン

2019W3Cは「WebVTT: The Web Video Text Tracks Format」を勧告候補(Proposed Recommendation)へ正式に進めました。
2011古典的なSubRipとは異なる明確なW3C標準を確立するため、WebSRTからWebVTTに名称が変更されました。
2010HTML5の<video>タグにおけるネイティブキャプションを解決するために、WHATWGがWebVTTを導入しました。

主なメリット

  • HTMLの<track>要素は字幕やキャプションにWebVTTを使います。ブラウザーは動画プレーヤーを通じてキューの時刻やスタイルを表示しますが、対応するキュー機能には違いがあります。
  • 豊富なCSSスタイリングサポート:ネイティブの「::cue」CSS疑似要素を使用して、色、フォント、背景、位置をカスタマイズできます。
  • HLSやMPEG-DASHのサービスでは、動画セグメントとともにWebVTTの字幕トラックを配信できます。対象プレーヤーがプレイリスト内の字幕パッケージと各言語のトラックに対応しているか確認してください。

技術的な制限とデメリット

  • 厳格なヘッダー要件:ファイルの最初の行が正確に「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」ヘッダー付きで配信していることを確認してください。