WebVTT の作成
WebVTT とは、<video> や <audio> エレメントといったメディアに付ける字幕や注釈といったテキストトラックを定義する形式のひとつです。
WebVTT はテキストベースのファイルで作成し、.vtt
という拡張子で保存します。
さらに.vtt
ファイルは、video や audio タグエレメントの中の track タグエレメントにそのファイルの読み込み方法を設定します。
メディアに付け加える字幕や注釈のことをテキストトラック
やキャプション
といったりもします。
制作における注意点として、WebVTT ファイルによるテキストトラックは web サーバーからのページ読み込みの場合に機能します。
ページ内 Index
WebVTT の作成方法について
WebVTT とは、<video> や <audio> エレメントといったメディアに付けるテキストトラックを定義するための形式のひとつです。WebVTT はUTF-8
のテキストベースのファイルとして作成します。
WebVTT 形式で作成されたファイルは.vtt
という拡張子を付け、 <track> エレメントで読み込みます。
WebVTT 形式でファイルを作成するには、最初の行(ヘッダー)をWEBVTT
とします。
ヘッダーの次は以下のように一行を開けてキュー
を編集します。
WEBVTT 以降の時間指定のあるようなエントリをキュー
と呼びます。
字幕や注釈を表示するタイミングは、開始時間と終了時間を
で示します。この時間指定をタイムマーカーといいます。 -->
時間は、hh:mm:ss 形式で表します。hh (時)、mm (分)、ss (秒) はスペースのない:
で区切ります。
hh (時)、mm (分)、ss (秒) の整数値は2桁で表します。秒 (ss) のみは小数点以下をピリオド.
で表し、1 / 1000 まで定義できます。
このように作成したテキストをUTF-8
形式のファイルとして保存します。
複数のキューを定義するにはキューごとに一行以上を入れます。空白行が1行以上あるとヘッダーやキュー、コメントの区切りとみなされます。
キュー
字幕や注釈とそのタイミングを示すキューには番号や名称を付けることができます。
これらの番号や名称は CSS の ::cue() 疑似エレメントの引数に利用することができます。
CSS の ::cue() 疑似エレメントでは以下のようにキューの番号や名称を指定します。
キューの番号や名称にはコメントアウト文を付けることができます。コメントアウト文を付けるには -
に続いてコメントを編集します。
このようなコメントアウト文はファイルの内容を閲覧するときには見えますがコードとして実行はされません。
コメントアウト
ヘッダーのWEBVTT
に -
を加えることでコメントを加えることができます。
コメントアウトは、WebVTT では NOTE コマンドを使用します。コメントアウトは空白行が1行以上あることによって区切りとみなされます。
このようなコメントアウトはファイルの内容を閲覧するときには見えますがデータとして実行はされません。ファイルを編集する人が分かりやすくするためや憶えとして付けます。
Example
WebVTT の例です。WebVTT とは、動画や音声に付けるテキストトラックを定義するための形式のひとつです。WebVTT はUTF-8
のテキストベースのファイルとして作成します。
以下の例では、<video> エレメントに <track> タグによって WebVTT ファイル.vtt
を読み込んでいます。
::cue() 疑似エレメントによるスタイルシートも作成してあります。
webVTT ファイル example.vtt は以下のような内容です。
この例の動画は、Pexelsのarvin latifiによる動画
を拝借しました。
ローカルで開発する際の注意点として、.vtt
といったファイルはセキュリティーの観点から読み込みエラーが出ます。web サーバー経由でページを閲覧する必要があります。