HTML5 video and codecs

Recently, Vimeo and YouTube announced that they were moving to support the HTML5 video tag, as DailyMotion did last summer. This is an important step in making video a first-class citizen of the modern web, and that is great news. Unlike DailyMotion, however, Vimeo and YouTube chose to rely on the patented H.264 video encoding, rather than an unencumbered encoding like Ogg Theora. This means that the <video> pages on those sites will not work with Firefox.

Vimeo and YouTube seem to believe that reliance on proprietary plugins for video is a problem on the web. Mozilla believes that reliance on patent-encumbered formats is a problem on the web. Who’s right? Both groups are, in this case; that we can attack, from different perspectives, the multifacted problem of freeing video on the web is an example of the distributed innovation that has made the web such a powerful and popular platform.

For Mozilla, H.264 is not currently a suitable technology choice. In many countries, it is a patented technology, meaning that it is illegal to use without paying license fees to the MPEG-LA. Without such a license, it is not legal to use or distribute software that produces or consumes H.264-encoded content. Indeed, even distributing H.264 content over the internet or broadcasting it over the airwaves requires the consent of the MPEG-LA, and the current fee exemption for free-to-the-viewer internet delivery is only in effect until the end of 2010.

These license fees affect not only browser developers and distributors, but also represent a toll booth on anyone who wishes to produce video content.  And if H.264 becomes an accepted part of the standardized web, those fees are a barrier to entry for developers of new browsers, those bringing the web to new devices or platforms, and those who would build tools to help content and application development.

Some companies pay annually for H.264 licenses, which they can pass on to users of their software. Google has such a license, but as they have described, it does not extend to people building from their source or otherwise extending their browser. (Apple and Microsoft are licensors to the MPEG-LA’s AVC/H.264 patent pool, so their terms may differ substantially.) Personally, I believe that it is completely their right to make such a decision, even if I would prefer that they made a different decision.

Mozilla has decided differently, in part because there is no apparent means for us to license H.264 under terms that would cover other users of our technology, such as Linux distributors, or people in affiliated projects like Wikimedia or the Participatory Culture Foundation. Even if we were to pay the $5,000,000 annual licensing cost for H.264, and we were to not care about the spectre of license fees for internet distribution of encoded content, or about content and tool creators, downstream projects would be no better off.

We want to make sure that the Web experience is good for all users, present and future. I want to make sure that when a child in India or Brazil or Kenya discovers the internet, there isn’t a big piece of it (video) that they can’t afford to participate in. I want to make sure that there are no toll-booth barriers to entry for someone building a whole new browser, or bringing a browser to a whole new device or OS, or making and using tools for creating standard web content. And I want that not only altruistically, but also because I want the crazy awesome video (animation, peer-to-peer, security, etc.) ideas that will come from having more people, with more perspectives, fully participating in the internet. The web is undeniably better for Mozilla having entered the browser market, and it would have been impossible for us to do so if there had been a multi-million-dollar licensing fee required for handling HTML, CSS, JavaScript or the like.

I very much believe that Google (both the Chrome and YouTube teams), Vimeo and many others share our desire to have a web with full-featured, high-performance, unencumbered, natively-integrated video, and I look very much forward to us all working — together and separately — towards that end.

People have raised questions about using existing support for H.264 (or other formats) that may already be installed on the user’s computer. There are issues there related to principle (fragmentation of format under the guise of standardized HTML), to effectiveness (about 60% of our users are on Windows XP, which provides no H.264 codec), to security (exposure of arbitrary codecs to hostile content), and to user experience (mapping the full and growing capabilities of <video> to the system APIs provided); I’ll post next week about those in more detail, if others don’t beat me to it.

[A translation of this post to Belorussian has been provided by PC.]