「HTML5はFlashを置き換えるのか?」 - これをテーマにした議論はApple CEOのSteve Jobs氏の発言をきっかけに大いにインターネット界隈を賑わせている。だがFlash技術最大の利用者であり、ある意味で動画配信システムとしてのFlashの立場を確立させた功労者であるYouTubeでは、今後しばらくはHTML5の存在がFlashを置き換えるようなことはなく、動画配信で求められるすべての要件をHTML5はまだ満たしていないと説明している。
米Google傘下でYouTubeプラットフォーム製品マネージャのKuan Yong氏は6月29日(現地時間)の同社Blogへの投稿の中で、最近盛り上がっている「Flash」と「HTML5の<video>タグ」に関する議論について「標準技術としてのHTML5は大きく前進している一方で、Flashは今後もビデオ配信の分野で重要な位置を占め続けるだろう。なぜならHTML5の<video>タグは、われわれYouTubeのようなサイトが求めるすべての要件を満たしていないからだ」とコメントしている。YouTubeでは最近になりFlashフリーなHTML5のみで閲覧可能な専用サイトを用意しており、こうした発言は一連の行動と矛盾し、政治的な要素さえ臭わせる。だがYong氏によれば、技術的・作業負担的な面から見て、HTML5がFlashを完全に置き換えるだけのポジションにはまだ到達していないというのだ。それを各要件ごとにまとめている。
動画フォーマット標準
YouTubeのようなサイトにとって、Webブラウザが標準の動画フォーマットをサポートしていることが重要だ。例えばYouTube上には毎分24時間分の動画がアップロードされ続けている。同サービスでは、それを360p、480p、720p、1080pの各種サイズに変換しており、もしここで動画コーデックが統一されていれば変換作業の手間が省けるからだ。YouTubeでは2007年初頭からアップロードされる動画のH.264コーデック変換を進めており、同コーデックはFlashだけでなく、iPhoneやAndroidなど、各種モバイルデバイスで標準サポートされている。またChromeやSafariなどのブラウザは標準でH.264再生(HTML5の<video>タグ)をサポートしており、文字通りFlashなしでの再生が可能だ。だがMozilla FirefoxやOperaなどは特許やライセンス問題からH.264サポートに否定的であり、これがHTML5における標準動画フォーマット普及の足枷となっているのが現状だ。
Googleは5月19日、同社が買収したOn2 TechnologiesのVP8をオープンソース化し、「WebM」としてOSSのプロジェクトを立ち上げている。こうした分裂問題が指摘されるHTML5での動画フォーマット標準論争に一石を投じるのが狙いだ。WebMはGoogle Chromeだけでなく、MozillaやOperaなど、H.264サポートに否定的だったベンダも賛同を寄せている。これは最大勢力のInternet Explorerを抱えるMicrosoftさえ例外でなく、IE9でのコーデックサポートに肯定的な意見を出している。また重要なのはFlashを抱えるAdobeもWebMに賛同を表明しており、次期FlashバージョンでのWebMサポートをうたっている。WebMサポートに否定的なのはSafariを抱えるAppleのみだ。つまり現時点でH.264、WebMと、すべての動画フォーマットを横断的にサポートできるのはFlashのみで、これがFlashとHTML5を比較するうえでのポイントの1つとなっている。
ビデオストリーミング
動画再生はコーデックの問題だけではない。フルサイズの映画コンテンツやライブストリーミングなど、バッファリング技術やダイナミックな品質制御といった技術が要求されるケースがある。Flash Playerの場合、ActionScriptを通してこれら動画再生の細かい制御が可能になっている。またHTTPやビデオストリーミング用プロトコルであるRTMPの差異も吸収してくれるため、こうした動画配信に向いている。一方でHTML5ではいまだビデオストリーミング用のプロトコルが定義されておらず、多くのベンダがHTTP経由での動画配信に向けて技術開発を進めている。これがFlash/HTML5におけるストリーミング配信の現状だ。
コンテンツ保護
YouTubeの場合、配信している動画の権利は保持しておらず、その配信方法を含めた各種制御方法は各コンテンツ作成者自身が決めている。例えばYouTube Rentalサービスの場合、動画権利保持者らはセキュアなストリーミング技術を用いている。これらはFlashのRTMPEプロトコルなどにより実装されており、第三者による違法な再配信を防いでいる。もしHTML5でこうした技術が実装されていない場合、これらサービスはそもそも提供されない可能性がある。
カプセレーションと組込み
Flash Playerでは、アプリケーションのコードと各種リソースをセキュアで効率よい形のパッケージで提供することが可能であり、これがYouTubeビデオを他のサイトに組み込んで利用する仕組み(いわゆる"Embedding")を実現している。一方で、これら組み込まれた動画プレイヤーは、その埋め込まれたページ上のコンテンツやユーザーが保持しているデータを侵さないことが保証されており、同時にYouTubeが提供する各種のリッチな付加機能(キャプション、アノテーション、広告など)の実装も可能にしている。HTML5でも一種のサンドボックス機能やメッセージ付与機能の追加は可能だが、現時点でこうした埋め込み実装を可能にする技術はFlashのみとなっている。
フルスクリーン表示
HD動画はよくフルスクリーン再生と日も付けられているが、これらは一般に標準のHTMLでは実装されていない機能だ。多くのWebブラウザではフルスクリーンモードを実装しているものの、これらはJavaScriptから制御できないようになっているか、あるいはビデオプレイヤー部分などごく限られた領域のみの拡大が許されている。Flash Playerでは安全な形でハードウェア支援つきの動画再生を可能としており、この点で秀でている。またChromeやSafariで採用されているWebKitでは、最近になりフルスクリーンモードサポートに向けて機能強化を行ったが、連続的な動画再生に利用するにはまだ十分な実装が行われていない状態だ。
カメラ/マイクへのアクセス
動画は再生されるだけではない。YouTubeによれば、毎日何千人ものユーザーがWebカメラを使ってWebブラウザ上から直接YouTubeへの動画アップロードを行っているという。これは現状でFlashなしでは実現できない。カメラへのアクセス機能は、携帯電話などを中心に今後普及することになるであろうビデオチャットやライブブロードキャスティングで必須のものとなるとみられ、Flashがすでにカメラ/マイクへのアクセス機能を何年にもわたって提供しているのに対し、HTML5での取り組みはまだスタートしたばかりだ。
***
以上がYouTubeによる説明だが、同社はGoogleとともにHTML5におけるWeb標準化に積極的な一方で、その標準化のステータスや、現状で抱える問題も熟知しているとみられる。こうした彼らが「現状でHTML5はまだその域に達していない」というのは、非常に説得力があると考えられる。皆さんはどう考えるだろうか?