<track> 動画や音声ファイルに字幕やキャプションを追加する

取り扱い 現行の標準
カテゴリ なし
親にできる要素 <audio><video>
子にできる要素 なし
対応ブラウザ caniuseで確認

<track>タグの説明

<track>は、動画や音声ファイルに字幕やキャプションを追加するために使用します。このタグを用いることで、メディア要素にキュー、メタデータ、テキストトラックを簡単に追加することができます。

表示するテキストトラックは、WebVTTなどのブラウザがサポートしている形式で保存された外部ファイルを、src属性で読み込んで使用します。

キューデータや字幕情報を動画ファイルと切り離した状態で管理することで、コンテンツに柔軟性と拡張性を持たせることができます。<track>要素を使いこなすことで、コンテンツの操作や管理が容易になり、<audio><video>の付加価値を高めることが可能となりました。

<track>タグの特徴

  • この要素は、<audio>および<video>の中に設置可能です。それ以外では機能しません。
  • レイアウトには影響を与えません。メディアソースに対してテキストデータを与えます。
  • この要素は空要素です。開始タグのあとに終了タグを記述する必要はありません。

<track>に指定できる主な属性

src
テキストトラックを読み込む外部ファイルが置かれたURLを指定します。
kind
テキストトラックの種類をキーワードで指定します。
srclang
テキスデータの言語を指定します。
label
テキストトラックの名前を指定します。
default
テキストトラックを複数設置した場合に、優先的に使用するものを指定します。

<track>の使い方とサンプル

このタグを使ったマークアップのサンプルです。参照先のWebVTT(Web Video Text Tracks)形式のファイル(.vtt)の記述例も掲載します。

HTML
<video autoplay controls width="480"height="270">
	<source src="vtr.webm" type="video/webm">
	<source src="vtr.mp4" type="video/mp4">
	<track kind="captions" label="English captions" src="vtr_en.vtt" srclang="en" default>
	<track kind="captions" label="Japanese captions" src="vtr_ja.vtt" srclang="ja">
	<p>
		<a href="vtr.mp4">動画ファイルを保存後に再生して下さい。</a>
	</p>
</video>
WebVTT
WEBVTT

1
00:00:10.000 --> 00:00:13.000
1のタイミングで表示するキャプションを記述

2
00:00:13.100 --> 00:00:18.800
2のタイミングで表示するキャプションを記述

3
00:00:20.000 --> 00:00:25.000
3のタイミングで表示するキャプションを記述

<track>に関連するHTMLタグ

オブジェクトやスクリプトを埋め込む要素
<img> 画像を表示する
<picture> 特定の画像に対して複数のメディアソースを提供するコンテナを設置する
<figure> 写真や図表などの自己完結した要素を表す
<figcaption> 参照される写真や図表にキャプションを追加する
<canvas> スクリプトで定義したグラフィックスを描画するための領域を配置する
<audio> ドキュメント内に音声コンテンツを埋め込む
<video> ページ内に動画コンテンツを表示する
<source> 再生候補となる動画や音源などのメディアソースを指定する
<track> 動画や音声ファイルに字幕やキャプションを追加する
<embed> 外部コンテンツを埋め込む
<object> 外部リソースのオブジェクトを埋め込む
<param> パラメーターを指定する
<script> HTMLで実行可能なスクリプトを埋め込む
<noscript> スクリプトが動作しない環境での表示内容を指定する
<meter> 規定範囲内の数量や測定値を表す
<progress> 作業の進捗状況を示すプログレスバーを表示する
<output> 計算結果やユーザーアクションの出力欄を作成する
<dialog> 任意のタイミングで開くダイアログボックスを作成する
<template> ページ読み込み後にスクリプトの実行によって挿入可能な要素を定義する
<slot> ウェブコンポーネントで独自に扱える枠を提供する