HTML 5 の <video> | ヨモツネット text ja 2009-08-04 http://www.yomotsu.net/wp/?p=541

HTML 5 の <video>

最初に…このエントリーの demo は Firefox 3.5 で閲覧すると快適です。

スクリーンショット : Firefox で再生した様子。コントロールは一通りそろっているスクリーンショット : Safari で再生した様子。コントロールは Safari ネイティブな見た目スクリーンショット : Chrome で再生した様子。コントロールは少し大きめスクリーンショット : OPERA で再生した様子。コントロールは再生、一時停止、停止の 3つのみHTML 5 で新たに登場する予定の要素の一つに video 要素があります。video 要素は img 要素で画像を埋め込む感覚で、HTML に動画を埋め込むことができる要素です。

video 要素は HTML 5 の要素であり、DOM を構成する一要素なので…

といったメリットがあります。Flash (FLV) ではなく video 要素を使うのには意味があるのです !!

現段階では Safari 3.1 以降 (iPhone, iPod Touch 含む)、Chrome 3 β、Firefox 3.5 で実装済みなものの、Safari (H.264 をサポート) と Mozilla (Ogg をサポート) の両者でサポートをするコーデックが違うため現状では 2つのファイルを用意しなくてはけないけません。(Windows Safari の場合は QuickTime がインストールされている必要があります) ちなみに Chrome 3 βはどちらのコーデックにも対応しています。

これは img 要素において、safari は gif しか使えない、Fx は png しか使えない というようなものです。

HTML 5 の草案から Ogg への言及が外れた背景には、Ogg が DRM をサポートしていない (著作権保護ができない) という理由で Apple と Nokia の反対があったようです。via Removal of Ogg Vorbis and Theora from HTML5: an outrageous disaster 窶鐀 Rudd-O.com (でもそれは建て前で Ogg がスタンダードになったら Apple としては mov, mp4 の立場が…みたいな理由かなとも思いますが。)

現状の Webkit, Firefox 3.5 で video 要素を再生するには次の様に記述します。

<video width="320" height="240">
	<source src="video.ogg" type="video/ogg"><!-- for Mozilla -->
	<source src="video.mp4" type="video/mp4"><!-- for Webkit -->
	<p>ここに代替内容</p>
</video>

source 要素を 2つ用意することで、Ogg が再生できなかったら mp4 を再生します。

OPERA に関しては、OPERA Lab からダウンロードできる Opera 9.62 Video, 3D canvas and File I/O build (試験的なビルドで正式版ではない) で Video 要素が動作します。 source 要素には対応していないので

<video src="video.ogg" type="video/ogg" width="320" height="240"></video>

のように src 属性で Ogg を読み込むことで動作します。

しかし、現段階での OPERA 10βに video のサポートは含まれていません。OPERA も、以前は CTO のHakon(ホーコン)氏が demo で紹介するほどに video 要素と Ogg のサポートに前向きでしたが、OPERA 10 ではどうなるか謎です。(草案では src 属性、source 要素のどちらでも使えることになっています。)

IE は…情報なし (?) です。

IE と OPERA、古いバージョンの Fx はネイティブに video 要素サポートしていませんが、video4all という JS ライブラリーを使うことで video 要素を動作させることができます。ただし、これはあくまでもエミュレート用で、swf を介して表示する仕組みでなので、JS や CSS でのコントロールはできません。

video 要素に CSS を適用する

video 要素は HTML の要素なので CSS を適用することもできます。例えば transform の rotate で回転させたり、skew で歪めることもできます。

スクリーンショット : video 要素に「ぼかし」効果を適用した様子。コントロール部分もぼかされる

Fx 3.5 からは HTML に SVG の CSS を適用することができるので、ぼかし、グレースケール、階調の反転やマスク効果を適用することもできます。ただしこの場合、video 要素のコントロール部分にも効果が適用されます。

video 要素を script で操作する

スクリプトをつかって動画を操作することができます。その一例として…

動画を再生する
document.getElementById('video1').play();
動画を停止する
document.getElementById('video1').pause();

などがあります。

頑張ればプレイヤーも作れてしまいます。location.hash を使うと操作の履歴を残すこともできて楽しいかも。

object で Ogg を読み込むと…

HTML 4.01, XHTML ファミリーでもプラグインなしで動画を埋め込みたい場合には object 要素を使うことになります。

Fx 3.5 では ogg のコーデックが使えるので、object で OGG ファイルを埋め込むことができます。ただしこの場合、video 要素と違って、コントロールはできません。また、Safari 場合も object 要素で MP4 ファイルを埋め込むことができますが、QuickTime を参照して動いているようでした。

おまけ

CSS で body:after{content:url(video.ogg);} を試してみましたができませんでした。



トラックバックURI

http://www.yomotsu.net/wp/wp-trackback.php?p=541

この記事へのコメントはまだありません

コメントフォーム

コメント

コメントでは一部の XHTML タグを使用できます。 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

カテゴリー一覧

この Weblog の FEED

この Weblog の FEED