トップページ  > HTML5  > <video>タグで動画を埋め込む

★HTML5リファレンス

■<video>タグで動画を埋め込む

現在、インターネット上で動画が提供される場合には、Flashなどの独自フォーマットを利用するのが一般的です。 こうした独自フォーマットの動画を再生するには、 それぞれのフォーマットを再生するのに必要なプラグインを、ブラウザに追加インストールする必要があります。

HTML5では、任意の動画フォーマットを文書に埋め込むための<video>タグが追加されています。 この<video>タグを使用することで、ユーザーにプラグインをインストールしてもらうことなく、 HTMLからシンプルに動画を扱えるようになります。 感覚的には<img>タグで画像を扱うような感じです。

<video>タグで文書に動画を埋め込む場合には、例えば以下のように記述します。

<video src="sample.mp4"></video>

とてもシンプルです。

■ユーザー環境への配慮

<video>タグをサポートしているブラウザは、まだ多くありません。 もし、<video>タグを使用する場合には、サポートされていない環境への配慮が必要となるでしょう。

<video>~</video>には、 <video>タグがサポートされていない環境で表示させるメッセージを記述することができます。

<video src="sample.mp4">
<p>動画を再生するにはvideoタグをサポートしたブラウザが必要です。</p>
</video>

また、HTML5から追加される<source>タグを使用することで、ブラウザに動画の再生候補を提示できます。 <source>タグでは、フォーマットの異なる動画データを複数指定することができます。 ブラウザは、記述された順に再生可能なデータを利用するので、より多くの環境で動画を視聴してもらえる可能性が高くなります。 <source>タグのtype属性では、動画データのMIMEタイプやコーデックを指定することができます。

<video>
<source src='sample.ogv' type='video/ogg; codecs="theora, vorbis"'>
<source src='sample.mp4' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
<p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
</video>

■<video>タグの様々な属性

<video>タグには、動画再生の詳細を指定する以下のような属性があります。

poster属性で動画のヒントとなる画像を表示する

<video>タグのposter属性は、ユーザー環境で利用できる動画が無い場合に表示させる画像ファイルを指定することができます。 poster属性で指定する画像は、ユーザーにその動画の内容がどのようなものかを知らせるヒントとなるものが適しています。 例えば、動画の開始部分のフレーム画像などです。

<video src="sample.ogv" poster="firstframe.jpg"></video>

controls属性でインターフェースを表示する

<video>タグのcontrols属性を指定すると、再生・一時停止・再生位置の移動・ボリュームなど、 動画を利用しやすくするインターフェースを、ブラウザが自動で表示することになっています。

<video src="sample.ogv" controls></video>

autoplay属性で動画を自動再生する

<video>タグのautoplay属性を指定すると、ウェブページを読み込んだ時点で、動画が自動再生されます。

<video src="sample.ogv" autoplay></video>

preload属性で動画をあらかじめ読み込む

<video>タグのpreload属性を指定すると、ウェブページを読み込んだ時点で動画を裏側で読み込みます。 動画をあらかじめ読み込んでおくことで、ユーザーが再生ボタンを押したときに動画の再生がスムースになるかもしれません。 ただ、初期値はpreload="auto"で、一般的なブラウザではpreload属性を指定しなくても動画はあらかじめ読み込まれます。

もし、ユーザーが動画をあまり必要としていないことが想定される場合や、ウェブサーバに余分な負担を掛けたくない場合には、 preload="none"を指定すると良いでしょう。

また、preload="metadata"を指定すると、動画全体ではなく、 動画のサイズ・最初のフレーム・トラックリスト・再生時間などの動画のメタデータのみを取得します。

ちなみに、このpreload属性は、以前にはautobuffer属性と呼ばれていましたが、名前が変更されたようです。

<video src="sample.ogv" preload="none"></video>

■HTML5でスタンダードになる動画形式は?

現在、<video>タグをサポートしているブラウザは、 Internet Explorer9、Firefox、Google Chrome、Safari、Operaの新しいバージョンなどですが、 これらのブラウザ間では、サポートされている動画規格が統一されていません。 どの動画規格がHTML5にふさわしいかについての検討はされていますが、推奨される標準規格は現時点では未定のままです。

ウェブで動画を提供する場合、今のところFlashが事実上の標準といえるかもしれません。 その理由は、すでに多くのユーザー環境でFlashのプラグインがインストールされており、 比較的高い確率で動画を再生してもらえるからです。

それなら、HTML5でもFlashを標準規格として採用すれば良さそうなものですが、 やはりHTML5のような皆が利用するオープンな技術仕様に、 Flashのような一企業が提供する規格を採用することは問題があるでしょう。 また、iPhoneやiPadなどの端末では、Flashがサポートされていないなど、 とりあえずFlashで提供しておけば大丈夫…というわけにもいかなくなっています。

今後、HTML5で標準採用される可能性のある動画規格としては、FirefoxやGoogle ChromeがサポートするOgg Theoraや、 Internet Explorer9やSafariやGoogle ChromeがサポートするH.264などが挙げられるでしょうが、 どの規格も技術特許への懸念や、ブラウザベンダー各社の自社サービスとの相性などの問題から、 合意を得ることはなかなか難しいようです。 場合によっては、標準規格が決められないまま、各ブラウザベンダーに任せられることになるかもしれません。

尚、Googleは2011年1月11日、Google ChromeによるH.264コーデックのサポートを打ち切って、 WebM(VP8)やOgg Theoraなどのオープン技術に統一していく方針を発表しています。

■<video>タグによる動画再生サンプル

以下のサンプルでは、<source>タグで3種類の動画形式を指定しています。 mp4形式はGoogle Chrome・Safari向け、ogv形式はFirefox・Opera向け、webm形式はGoogle Chrome・Opera向けです。

<p>HTML5のvideoタグによる動画再生</p>

<video controls autoplay poster="firstframe.jpg" width="320" height="240">
<source src="sample.mp4">
<source src="sample.ogv">
<source src="sample.webm">
<p>動画を再生するには、videoタグをサポートしたブラウザが必要です。</p>
</video>

サンプルを別画面で開く

※メモ: サーバー側の設定にもよるでしょうが、 ogv形式の動画、mp4形式の動画、ogg形式の音声をブラウザで再生させるには、 .htaccess に以下の記述を追加する必要があるかもしれません。

AddType video/ogg .ogg .ogv
AddType video/mp4 .mp4
AddType audio/ogg .ogg
AddType application/ogg .ogg .ogv

■関連項目

<前へ 記事一覧へ 次へ>
▲ページ先頭へ
トップページ  > HTML5  > <video>タグで動画を埋め込む
PR
MuuMuu Domain!
ドメイン取るならお名前.com
さくらのレンタルサーバ
ロリポップ!レンタルサーバー
HTMLクイックリファレンスについて
© HTMQ