VTT ファイル形式とは?
.vtt ファイルは WebVTT (Web Video Text Tracks) 字幕・キャプションファイルであり、現代のウェブプラットフォームにおける標準的なタイムドテキスト形式です。同期された字幕、キャプション、チャプターマーカー、メタデータをプレーンな UTF-8 テキストとして保存し、<track> タグを介して HTML5 の <video> 要素に提供されます。
すべての有効な .vtt ファイルは、最初の行がリテラル文字列 WEBVTT で始まる必要があります(その前に UTF-8 BOM が付く場合もあります)。その後にタイムド・キュー・ブロックが続きます。これには、オプションのキュー識別子、アロー表記によるタイムスタンプ範囲(00:00:01.000 --> 00:00:04.000)、およびキューテキストが含まれます。古い .srt 形式とは異なり、.vtt はミリ秒の区切り文字として ピリオド を使用します。また、インラインスタイリングタグ(<b>, <i>, <u>, <ruby>, CSSクラスタグ <c.classname>)、キューごとの配置属性(line, position, align, size)、およびチャプターやメタデータ用の個別のトラック種類によって字幕モデルを拡張しています。
主要なブラウザはすべて WebVTT をネイティブに実装しているため、プラグインは不要です。<video> タグ内に <track kind="subtitles" src="file.vtt"> 要素を追加するだけで十分です。登録されている MIME タイプは text/vtt です。ファイルは完全に人間が読める形式であり、任意のプレーンテキストエディタで編集可能です。Subtitle Edit、VLC media player、YouTube Studio などの字幕ツールはすべて .vtt をネイティブにサポートしており、コンバーターを使用して .vtt と .sbv や .ass などの形式間を相互変換できます。
セキュリティと安全性
リスク: LOW.vtt はプレーンテキストであり、コードを実行することはできないため、ファイル自体を開いたり読み取ったりすることは安全です。字幕ファイル全般に共通する 2 つの小さな注意点があります。(1) メディアプレーヤーを最新の状態に保つこと。歴史的に、不正な形式の字幕パースが一部のプレーヤーで(稀に)攻撃対象となったことがあります。(2) 怪しいサイトからダウンロードしたキャプションには、誤解を招くテキストやリンクが含まれている可能性があるため、盲信せずに内容を確認してください。アクセントや非ラテン文字が正しく表示されるよう、UTF-8 で保存してください。(注:実際には Crestron VisionTools Pro-e プロジェクトである .vtt は別のバイナリファイルであり、これらの字幕に関する注意は当てはまりません。)
形式の詳細
概要- VisionTools Pro-e Project (Crestron) - Crestron の VisionTools Pro-e AV タッチパネル設計ソフトウェアは、プロジェクトを .vtt として保存します。これは VisionTools Pro-e でのみ開くことができ、字幕とは無関係です。(これはソースデータベースにある名称ですが、WebVTT の方がはるかに一般的な意味です。)
- DediProg / その他のバイナリデータ - いくつかのニッチなツールが、無関係なデータに .vtt を使用したことがあります。ウェブ検索や実際のファイルにおいては、WebVTT 字幕としての意味が支配的です。
VTT ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルのエンコーディング | UTF-8。WEBVTT ヘッダーの前に BOM (EF BB BF) を付けることは許可されていますが、オプションです |
| ファイルシグネチャ | 最初の行は ASCII 文字列 `WEBVTT` である必要があり、その後にスペースまたはタブとヘッダーの説明が続く場合があります |
| MIME タイプ | `text/vtt` |
| タイムスタンプ形式 | `HH:MM:SS.mmm`(ミリ秒の区切りにピリオドを使用、例:`00:01:23.456`)。時間のフィールドはオプションです |
| キュータイミング構文 | 開始と終了のタイムスタンプを ` --> ` で区切り、同じ行にオプションのキュー設定を追加できます |
| インラインマークアップタグ | `<b>`, `<i>`, `<u>`, `<ruby>/<rt>`, `<v>` (voice), `<lang>`, および CSS クラスタグ `<c.classname>` |
| キューのポジショニング | キューごとの設定:`line`, `position`, `size`, `align`、および垂直方向や右から左へのテキスト用の `vertical` |
| 名前付きリージョン | REGION ブロックは再利用可能な名前付き画面領域を定義します。キューがこれらを参照することで、スクロールアップ形式のレンダリングが可能になります |
| トラックの種類 | subtitles, captions, descriptions, chapters, metadata。すべて `.vtt` を使用しますが、`<track kind>` 属性によって異なります |
| スタイルブロック | STYLE ヘッダーブロックは、`::cue` 疑似要素および `::cue(<selector>)` バリアントを介してキューに CSS を適用します |
| コメントブロック | NOTE ブロックはレンダラーによって無視され、ファイル内の作成者用注釈として機能します |
| キュー識別子 | タイムスタンプ行の前に置かれるオプションの文字列または数値。識別子の一意性は必須ではありません |
| HTML5 統合 | プラグインなしで、すべての主要ブラウザの `<video>` 内で `<track src="file.vtt" kind="subtitles">` を介してネイティブに読み込まれます |
| 改行コード | LF と CRLF の両方が受け入れられます。キューブロックは 1 つ以上の空行で区切られます |
| リリース日 | WebVTT proposed ~2010 (from SRT); W3C standard for the HTML5 <track> element |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.w3.org |
VTT の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。VTT ファイルについて最初の質問をしてみましょう。
よくある質問
.vtt ファイルはどうやって開きますか?
<track> 要素を介して HTML5 の <video> に添付してください。