Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

video 要素

HTML <video> 要素は、映像コンテンツを埋め込むために用いられます。この要素は、複数の映像ソースを含むことができます。映像ソースは src 属性または <source> 要素を使用して表し、ブラウザはもっとも適切なソースを選択します。

サポートしている形式の一覧については、HTML5 の audio 要素と video 要素でサポートされているメディアフォーマットをご覧ください。

使用可能な場所

コンテンツカテゴリ フローコンテンツ、フレージングコンテンツ、埋め込みコンテンツ。controls 属性を持つ場合は、インタラクティブコンテンツおよびパルパブルコンテンツ。
許可された内容 要素が src 属性を持つ場合: 0 個以上の <track> 要素とそれに続く、メディア要素を含まないトランスパレントコンテンツ。すなわち <audio> 要素や <video> を子要素として配置してはなりません。
その他の場合: 0 個以上の <source> 要素、0 個以上の <track> 要素、メディア要素を含まないトランスパレントコンテンツ。すなわち <audio> 要素や <video> を子要素として配置してはなりません。
タグの省略 不可。開始と終了タグの両方が必要。
許可された親要素 埋め込みコンテンツを受け入れるすべての要素。
DOM インターフェイス HTMLVideoElement

属性

autoplay
ブール型。この属性が指定された場合、データの読み込みが完了し、再生可能な状態になった時点で即座にコンテンツの再生が始まります。
autobuffer
ブール型。この属性が指定された場合、自動再生が無効である場合でも映像のバッファリングを自動開始します。この属性は、映像が再生される可能性が高いと考えられる場合 (例えばユーザを、他のコンテンツともに映像を埋め込んでいるページではなく映像の再生に特化したページへ案内する場合) に使用するべきです。映像はメディアキャッシュを満たすまでバッファリングされます。
実装メモ: autobuffer 属性は HTML5 仕様の初期の草案に存在していましたが、最新の版では削除されています。Gecko 2.0 および他のブラウザでは廃止されており、また一切実装されていないブラウザもあります。仕様では autobuffer 属性を置き換える新たな列挙属性 preload を、別の構文で定義しています。バグ 548523
buffered
メディアがどれだけの時間分バッファリングされたかを判断するために、読み取ることが可能な属性です。この属性は TimeRanges オブジェクトを持ちます。
controls
この属性が指定された場合、再生・一時停止、音量、シーク、ポーズの各機能を制御するコントロールを表示します。
crossorigin
この列挙型の属性は、関連画像を CORS を使用して取得しなければならないか、そうでないかを示します。CORS が有効なリソースは、汚染されることなく <canvas> 要素で再利用できます。次の値が使用できます:
anonymous
クロスオリジン要求 (Origin: HTTP ヘッダを持つ要求) が実行されます。ただし、信用情報は送信されません (Cookie、X.509 証明書、HTTP ベーシック認証は利用されません)。サーバが元のサイトに信用情報を付与しない場合 (Access-Control-Allow-Origin: HTTP ヘッダの設定なし)、画像が汚染され、その使用も制限されます。
use-credentials
クロスオリジン要求 (Origin: HTTP ヘッダを持つ要求) が実行され、信用情報が送信されます (Cookie、証明書、HTTP ベーシック認証が利用されます)。サーバが元のサイトに信用情報を付与しない場合 (Access-Control-Allow-Credentials: HTTP ヘッダに関わらず)、画像が汚染され、その使用も制限されます。
この属性が提供されない場合、リソースは CORS 要求なしで取得され (Origin: HTTP ヘッダを送信せずに取得)、<canvas> 要素での汚染されない使用が妨げられます。これが無効な場合、列挙型のキーワードに anonymous が指定されたものとして扱われます。追加の情報は CORS 設定属性を参照してください。
height
映像の表示領域の高さを指定します。 CSS ピクセルで指定します。
loop
ブール型。この属性が指定された場合、コンテンツの終端に達すると自動的に先頭位置に戻ります。
muted
映像に含まれる音声のデフォルト設定を示すブール型属性です。この属性を設定すると、初期状態が消音になります。既定値は false であり、映像再生時に音声も再生することを表します。
played
再生済みの映像の範囲を示す TimeRanges オブジェクトです。
preload
この列挙属性は、最良のユーザエクスペリエンスに関する作者の考えについて、ブラウザにヒントを与えるものです。以下の値のうちひとつを持つことができます:
  • none: 映像を事前に読み込むべきではないことを示します。
  • metadata: 映像のメタデータ (例えば、長さ) を読み込みます。
  • auto: ユーザが映像ファイルを使用しないと思われる場合でも、ファイル全体をダウンロードしてよいことを示します。
  • 空文字列: これは auto 値と同義です。

この属性を設定しない場合の既定値はブラウザが定義します (つまり、ブラウザが自身の既定値を選択できます)。仕様書では metadata にするよう助言しています。

使用上の注意:
  • autoplay 属性は preload より優先します。autoplay を指定すると、言うまでもなくブラウザは映像を再生するためにダウンロードを始めなければなりません。
  • ブラウザは、この属性の値に従うことを仕様書によって強制されていません。これは単なるヒントです。
poster
映像データが利用不可能な場合に表示される画像データを URI 形式で指定します。この属性が指定されない場合、再生可能な映像データがない場合は何も表示されません。
src
埋め込む映像コンテンツへの URL を指定します。
width
映像の表示領域の幅を指定します。 CSS ピクセルで指定します。

イベント

<video> 要素では、さまざまなイベントが発生します。

<!-- Simple video example -->
<video src="videofile.ogg" autoplay poster="posterimage.jpg">
  Sorry, your browser doesn't support embedded videos, 
  but don't worry, you can <a href="videofile.ogg">download it</a>
  and watch it with your favorite video player!
</video>

<!-- Video with subtitles -->
<video src="foo.ogg">
  <track kind="subtitles" src="foo.en.vtt" srclang="en" label="English">
  <track kind="subtitles" src="foo.sv.vtt" srclang="sv" label="Svenska">
</video>

1 番目の例では、データのダウンロードのために再生途中に一時停止する必要がない程度までデータを受信できると、自動的に再生が始まります。また映像の再生が始まるまで、その場所に画像 "posterimage.jpg" を表示します。

2 番目の例では、ユーザがさまざまな字幕を選択できます。

複数のソースを置く例

<video width="480" controls poster="https://archive.org/download/WebmVp8Vorbis/webmvp8.gif" >
  <source src="https://archive.org/download/WebmVp8Vorbis/webmvp8_512kb.mp4" type="video/mp4">
  <source src="https://archive.org/download/WebmVp8Vorbis/webmvp8.ogv" type="video/ogg">
  <source src="https://archive.org/download/WebmVp8Vorbis/webmvp8.webm" type="video/webm">
  Your browser doesn't support HTML5 video tag.
</video>

上記の例を試してみることができます! ライブプレビューコードエディタつきの、HTML5 video のデモをご覧ください。

サーバのサポート

サーバで映像の MIME type が適切に設定されていないと、映像が表示されないか X 印がついた灰色のボックスが表示される (JavaScript が有効である場合) 可能性があります。

Ogg Theora 形式で映像を提供する場合、Apache Web Server では "/etc/apache" の "mime.types" ファイルまたは httpd.conf の "AddType" ディレクティブで映像ファイルの拡張子 (一般的には ".ogm", ".ogv", ".ogg") を MIME type "video/ogg" に追加することで問題が解決します。

AddType video/ogg .ogm
AddType video/ogg .ogv
AddType video/ogg .ogg

WebM 形式で映像を提供する場合、Apache Web Server では "/etc/apache" の "mime.types" ファイルまたは httpd.conf の "AddType" ディレクティブで映像ファイルの拡張子 (一般的には ".webm") を MIME type "video/webm" に追加することで問題が解決します。

AddType video/webm .webm

Web ホスティングサービスでは、全体の更新が行われるまでの間、新技術向けに MIME type の設定を変更するための簡単なインターフェイスを提供しているかもしれません。

DOM インターフェイス

この要素は HTMLVideoElement インターフェイスを提供します。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 3.0 3.5 (1.9.1) 9.0 10.5 3.1
autoplay 属性 3.0 3.5 (1.9.1) 9.0 10.5 3.1
buffered 属性 ? 4.0 (2.0) ? (有) ?
controls 属性 3.0 3.5 (1.9.1) 9.0 10.5 3.1
crossorigin 属性 ? 12.0 (12.0) ? ? ?
loop 属性 3.0 11.0 (11.0) 9.0 10.5 3.1
muted 属性 30.0 11.0 (11.0) 10.0 (有) 5.0
played プロパティ ? 15.0 (15.0) ? (有) ?
poster 属性 3.0 3.6 (1.9.2) 9.0 10.5 3.1
preload 属性 3.0 4.0 (2.0) 9.0 (有) 3.1
src 属性 3.0 3.5 (1.9.1) 9.0 10.5 3.1
機能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート ? 1.0 (1.0) ? ? ?
autoplay 属性 ? 1.0 (1.0) 8.1 ? (有)[1]
buffered 属性 ? 4.0 (2.0) ? ? ?
controls 属性 ? 1.0 (1.0) ? ? ?
loop 属性 ? 11.0 (11.0) 8.0 ? 6.0
muted 属性 ? 11.0 (11.0) 8.0 ? ?
played プロパティ ? 15.0 (15.0) ? ? ?
poster 属性 ? 1.0 (1.0) ? ? ?
preload 属性 ? 4.0 (2.0) ? ? ?
src 属性 ? 1.0 (1.0) ? ? ?
crossorigin 属性 ? 12.0 (12.0) ? ? ?

[1] この機能は iOS 6.0 で使用できます。

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: yyss, ethertank, RobinEgg
 最終更新者: yyss,