Robert’s talk

先日、YouTubeとVimeoがHTML5 videoを使った動画配信の試験サービスを開始した。Dailymotionは2009年にはすでに同様の試験サービスを開始している。動画共有サービスの最大手YouTubeがHTML5 videoに対応したことは大きく注目されたが、問題も浮き彫りにした。The video element in HTML5 - great possibilites, but also codec and licensing problems - Robert's talkでこの問題がわかりやすくまとめられている。

これまでの動画配信サービスでは、Flashがデファクトスタンダードの位置にある。videoによる動画配信はFlashプラグインをインストールする必要がなく、用意した動画を次のように指定するだけでいい。サイズや再生の振る舞いも簡単な程度であれば属性やDOMから制御できる(HTML5 video elementVideo - MDC)。

<video src="videofile.ogg"></video>

問題はvideoを実装するにあたって採用されているコーデックの違いにある。大雑把にみて、ブラウザにおけるHTML5 videoのコーデックの対応は次のようになる。

ブラウザ H.264 Ogg/Theora 備考
IE × × Chrome Frameで対応可能
Firefox ×
Chrome
Safari ×
Opera ×

The video element in HTML5 - great possibilites, but also codec and licensing problems - Robert's talkの説明によれば、AppleはすでにH.264に多大な時間と資金を投資しているためH.264を推進したいとしているが、オープンビデオにはオープンコーデックがふさわしいとしてMozillaとOperaはH.264には対応しない見通しだという。H.264は使用料が高額なうえに限定的な利用しかできないという面もこれを後押ししている。

両サイドにいい顔を見せているのはGoogleだ。MozillaやOperaが推進するOgg/Theoraに対応するとともに、H.264のライセンス料を支払ってChromeで対応している。そしてGoogleが抱えるYouTubeはH.264を採用した。AppleからみてもMozilla/Operaからみても、Googleの対応は八方美人に写ることだろう。なお、H.264のライセンス範囲は限られているため、GoogleからダウンロードしたChromeでのみ利用可能で、ChromiumではH.264は再生できない。

しかし、すべてのブラウザに対応する方法がないわけではない。The video element in HTML5 - great possibilites, but also codec and licensing problems - Robert's talkに掲載されているデモページの例がわかりやすい。videoでは次のように複数のソースを指定できる。ここにさらにFlashのデータを追加すれば、ほぼすべてのブラウザで動画再生を利用できる状況を作り上げることができる。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Video test</title>
</head>
<body>
  <video controls="controls">
    <source src="http://robertnyman.com/video/swedish-flag.mp4">
    <source src="http://robertnyman.com/video/swedish-flag.ogv">
    <p>Sorry, your web browser doesn't support the <code>video</code> element</p>
  </video>
</body>
</html>

a demo targeting both Ogg/Theora and H.264 in a stand-alone page.再生例 - IE8 on Windows XP - IEはHTML5 videoに対応していないため再生できない

a demo targeting both Ogg/Theora and H.264 in a stand-alone page.再生例 - Firefox 3.6 on FreeBSD 9-CURRENT

a demo targeting both Ogg/Theora and H.264 in a stand-alone page.再生例 - Opera 10.50-6177 on FreeBSD 9-CURRENT

a demo targeting both Ogg/Theora and H.264 in a stand-alone page.再生例 - Safari 4.0.4 on Mac OS X Snow Leopard

しかし3つのコーデックをメンテナンスしていくのは厄介な作業だ。The video element in HTML5 - great possibilites, but also codec and licensing problems - Robert's talkでは、Flashがデファクトスタンダードになった理由は、Flashプラグインをインストールしておけばどのブラウザだろうがどのプラットフォームだろうが「動作する」という事実であり、コーデックのいざこざが続くようであればHTML5 videoが普及することは難しいだろうとまとめている。