モバイルWebでH.264がデファクトスタンダードになった件について思ったこと

この記事、Twitterとかはてブを見ると結構衝撃的に受け入れられたみたいだけど、engadgetが記事にする数日前にCNETが似たような記事を書いていたし、更にその数日前には「OSプラットフォームに組み込まれたコーデックを使う為にMPAPIというAPIを用意するのはどうだろうか?」という大元の議論の存在も知っていたので、engadget の記事についてはさほど衝撃ではなかった。

engadetの記事については「現時点においては」若干の語弊が含まれる。Mozillaは確かにH.264をサポートするとは言ったけど、現時点ではあくまでもモバイル分野に限る話でありデスクトップ版の Firefox でもサポートするかどうかについては未定。また、この「サポート」という言葉についても、FirefoxH.264コーデックを内蔵するようになるという話ではなく、OSプラットフォームに組み込まれたH.264コーデックを用いるようにするという実装で実現される。GoogleGoogle Chromeをリリースする際に、ChromiumソースコードGoogleがライセンス契約を結んだH.264コーデックやSwiftShaderを載せてリリースするという手法もあるが、オープンであることを理念としている Mozilla が同様のやり方でH.264をサポートする可能性は非常に低い(Firefoxの商標権などは色々と細かく縛っているけど)。

engadgetの記事では、WebM陣営についてはGoogleMozillaしか触れていない。だが、WebM陣営についてはOperaも忘れてはならない。Operaはデスクトップでの市場シェアは微々たるものではあるが、モバイルを含めた組み込み機器のブラウザとしては業界の巨人である。モバイル分野では未だAndroid(とMaemo)にしかFirefoxを送り込めず、そのAndroid上のFirefoxはスペック的に満足に動作する端末が少なく、OSとして送り出そうとしているB2Gも未だ開発途上の Mozilla に比べれば、Opera の方が明らかに影響力は大きい。

では、そのOperaはどうしたのかと言えば、最新のOpera Mobile 12でH.264対応している。「プラットフォームで対応していれば」という但し書きがついているが、対応しているものは対応している。おそらく Mozillaが検討している手法(OSのコーデックを使う)のと類似の手法で実現しているのだろう。

結果的に見て、今やモバイルという戦場でH.264をサポートしていないのは泡沫シェアしかないFirefox Mobileだけであり、WebMの敗北でしかない。ユーザーの利便性とMozillaの影響力を維持するという観点から見れば、技術的に可能であるならば、H.264をサポートしないという選択肢は存在しないも同然だ。

今にして思えば、iOSに対し後発であるAndroidH.264をサポートし、Androidのサポートは2.3以降であったWebMが敗北するのは必然であったと言えるだろう。仮にAndroidがWebM一本に絞っていたとしても、相手はiPhoneを筆頭とするiOSファミリーである。良くてデスクトップの世界と同様の拮抗状態であっただろうね。

とにかく、これでモバイルの決着はついた。
ではデスクトップはどうだろう? WebMがデファクトスタンダードになるという未来は困難なんじゃないか?

現時点ではモバイルに限った話であるとはいえ、MozillaH.264を容認したというのは事実だ。そして、理念を曲げずにH.264を使用する技術的な実装のアイデア自体は既に存在する。今回のような「FirefoxH.264をサポート」という「誤解」も、良くも悪くも広く知られることとなった。時勢はH.264に吹いている。

WebM がこの状態から勝つには、シェア2割強を誇る Google ChromeH.264 のサポートをやめることくらいだろう。とはいえGoogleは、2011年の早い段階に「将来的にGoogle ChromeからH.264のサポートを取り除く」とアナウンスしたにもかかわらず、2012年の現在においてもH.264Google Chromeからdropさせてはいない(Googleは政治が上手い)。

今更YouTubeHTML5版のページからH.264を引き下げても、WebMに風は吹かない。吹いたとしても微風程度。HTML5 videoの利点は、「Flashなしでも動画が再生できること」ではない。それは副産物にすぎない。最大のメリットは「その他のHTML要素と同様に、HTML canvasのキャプチャの対象や、CSSによる変形の対象にできる」こと。そして、そのメリットを活かすWebページは、わざわざYouTubeに動画をホストしたりはしないだろう。今や自前で動画配信を行うページはいくらでもあるから大勢を決しはしない。

一連のWebMとH.264の騒動で感じた点として、際立ったのはGoogleのしたたかさだ。Google ChromeからH.264サポートを外すと公言しておきながら未だに外していない。これにより、MozillaOperaは梯子を外された形となっている。

もしかしたらGoogleは最初からWebMを普及させる気などは無かったのかもしれない。MPEG-LAから譲歩を引き出すのが主目的で、WebMが本当にデファクトスタンダードになればラッキーという認識程度だったのかもしれない。政治的な駆け引きの道具としてWebMを使っているように感じる。

僕自身は H.264デファクトスタンダードになること自体は(両手を挙げて賛成するわけではないが)構わないとは思っている。だが、Brendan Eichがブログでも述べているようにH.264には特許の問題がある。Webと特許というと、Gif画像に絡んだLZWの特許問題という歴史がある以上、必ずしも好ましいものとは言えない。現実的に、今更MPEG-LAが「原則無料」の方針を撤回するとは思えないが、GifにおけるLZW特許の歴史がある以上、できることならば特許の問題は避けておきたいところだろう。H.264のライセンス料に関する問題もあるし(WebMとH.264の勝負の行方と、個人レベルの動画作家に与える影響。 - Togetter)(WebMも問題ゼロというわけではなさそうだけど)。

今ほどまでにWebが大きく存在している以上、Webに関連する技術はブラウザさえ解決すればいいというものではなくなっている。周辺の関連技術も、できることならば自由に使えた方が良いのは事実だ。もちろん理念先行で利便性の欠片も無いようなものはクソだけど。

LinuxでのWeb動画再生の問題もある。Adobeは今後、Linux向けのFlash Playerは、従来のNPAPIではなくPPAPIを使用したバージョンしかリリースしない(Google Chromeに同梱する他には出さない)とアナウンスしたMozillaはPPAPIのサポートについては現在否定的なため、Flashによる動画再生はGoogle Chrome以外ではできなくなる(hackyなやり方が無いわけじゃないだろうけど)。
動画再生のフォールバック先としてのFlashという技術自体があと何年持つかの状態にもなっている。フォールバック先のFlashが無くなり、完全なH.264デファクトスタンダートとなった未来では、Linuxでの動画再生はどうなるか。おそらくGoogle Chromeは今のままにH.264をデフォルトサポートした状態で公開されるだろう。FirefoxがMPAPIを仕様として形にすれば「コーデックを入れさえすれば」再生可能になる。では、そのコーデックは誰が提供するのか? ffmpegでお茶を濁すなどの手法はあるだろうけど、MPEG-LAへの上納金特許使用料の問題を解決した真っ当な方法が出てくるかの問題は消えない。結局はなんだかんだでうまくやる方法が見つかってくれる可能性に期待したいけど。

今後、デスクトップのHTML5 videoのコーデック問題がどうなるかについては、個人的にはタブレットがカギを握っているんじゃないかと思ってる。
現状、タブレットには、基本的にはデスクトップ向けのページと類似または同一のページが提供されている。だが、そのタブレットのブラウザはあくまでも「モバイル」でくくられている。H.264が覇権を握った世界だ。では、そのタブレットが今後、広く普及し、Webページのトラフィックに大きな影響を与えるようになったらどうなるだろうか? タブレットの普及スピード次第によっては、決着が早々とついてしまうのではないだろうかね。