Biz & IT —

Google opens VP8 codec, aims to nuke H.264 with WebM

Google's long-awaited open-sourcing of the VP8 video codec has finally …

Ever since Google announced its purchase of video codec company On2 in August 2009, there's been an expectation that On2's VP8 codec would someday be open-sourced and promoted as a new, open option for HTML5 video. An open VP8 would offer comparable quality to H.264, but without the patent and royalty encumbrances that codec suffers.

Last month, this speculation seemed confirmed, with inside sources claiming that Google would announce the open-sourcing of the VP8 codec this month at the company's I/O conference.

Today, Google, Mozilla, and Opera announced the launch of the WebM Project. The goal of the project is to develop a high-quality, open-source, royalty-free video format suitable for the Web. WebM video files do indeed use VP8 for their video compression, coupled with Vorbis audio compression. The video and audio data will be combined into container files that are based on the open-source Matroska container.

Forming an ecosystem

A host of other companies are also collaborating on the project. Of particular importance are companies like AMD, ARM, NVIDIA, and Qualcomm. Google is working with these companies to get WebM acceleration built into hardware on as broad a range of devices as possible; having a broad range of GPU and embedded CPU manufacturers on board will greatly aid that effort.

Even without hardware acceleration, Google claims that low-end hardware will still perform well with WebM.

Nightly builds of Mozilla and Chromium (the open source project used for development of Chrome) will include WebM support starting today. The Chrome early access release dev channel will include WebM support as of May 24. A beta of Opera with WebM support is also available.

WebM support in Android is expected in Q4 2010, and Broadcom announced today that its motion video acceleration solution for mobile phones, VideoCore, should gain WebM support by Q3 2010.

Adobe is also on board. The company will incorporate WebM support into Flash, and Adobe CTO Kevin Lynch said that the company wants to deliver WebM support to "a billion" users within a year.

Flash support is particularly valuable, as it negates one of H.264's current practical advantages: the same compressed H.264 video can be served to users via both Flash and HTML5 video. This allows sites to target non-Flash devices alongside Flash-enabled ones without having to encode their video files twice.

A browser that supports WebM content isn't much use if there's no WebM content to play, and Google has that covered too. Anyone opting into YouTube's HTML5 front-end will be able to use WebM for video playback by appending "&webm=1" to the URL.

For content creators, patches for the open source FFmpeg encoder/decoder were released today, as were filters for use with Microsoft's DirectShow framework. Installing these filters will enable WebM support in a wide range of audio/video applications on Windows, including Windows Media Player, as well as third-party software such as Media Player Classic.

Free and open

This latest development in the continuing saga of the HTML5 video codec will serve to muddy the waters yet further. Apple has been squarely committed to H.264 since day one. Microsoft announced last month that the HTML5 video support in Internet Explorer 9 would be H.264 and H.264 alone.

However, H.264 remains a problematic choice. It's covered by many patents, and any group shipping an H.264 decoder needs to pay a royalty to MPEG LA, the organization that provides a single point of access for all the (known) H.264 patent holders. In addition to the royalty required for decoders, MPEG LA also reserves the right to demand a royalty payment for anyone using H.264 to produce Internet video. Currently, MPEG LA has made this usage scenario free, but this decision will be re-evaluated in 2016.

These issues—lack of freedom, patent encumbrance, and a potential royalty time-bomb—have led the Mozilla organization to refuse support for H.264 in Firefox. Firefox instead supports Theora, an open codec designed to be free of patent encumbrances, thereby avoiding the problems posed by H.264. However, Theora's quality is noticeably inferior to that of H.264, producing a worse picture for a given file size, and no one knows just how "unencumbered" the codec really is.

Opera has followed Mozilla's lead, arguing that the openness of Theora, versus the relatively closed nature of H.264, makes it the better choice. Chrome supports both H.264 and Theora.

WebM's licensing terms are generous. The license is modeled on the widely used BSD license, which allows the source to be modified and incorporated into both open source and closed source programs. It also contains a patent grant, giving anyone an irrevocable grant to use any patents that Google may hold that cover the codec.

Quality-wise, WebM probably isn't as good as H.264, but it doesn't really have to be: it's a marked improvement over Theora, the only other reasonable free video option.

These terms, along with the freely available documentation and better-than-Theora quality, clearly make the codec acceptable to Firefox and Opera. There is little risk of future royalties, and no impediment to the specification itself.

Convincing the skeptics

Though this project almost certainly advances the state of the art in open video codecs, it might not be enough to sway Microsoft and Apple. Microsoft is probably the more easily convinced of the two; Apple has long been pushing H.264 as the video codec to use (no doubt influenced by H.264's use of certain Apple technology). Microsoft, in contrast, has never expressed a particular preference for any one codec.

Microsoft has said that Internet Explorer 9 will support WebM video on systems that have the codec installed, but unlike H.264, it won't support WebM "out of the box," so to speak. The reason is that Microsoft is concerned that WebM will open it up to legal liability—that it infringes on patents and will hence be a lawsuit magnet.

Though the WebM project should be able to produce a suitable codec readily enough (the DirectShow codec may already be adequate; Media Foundation, the motion video API that Internet Explorer 9 uses, can load DirectShow codecs if it needs to), the lack of built-in support could be a significant stumbling block.

Microsoft sees H.264 as a kind of "safe bet." MPEG LA provides a single point of contact for all the companies owning relevant patents, and it offers simple licensing with the entire pool of patent holders (rather than requiring implementers to obtain a license from each patent holder individually). Moreover, H.264 is seen as less likely to be covered by other, as yet unknown patents. If such patents are identified, the patent holders will be able to join the pool of companies and accumulate royalties that way. This makes future lawsuits less likely.

Theora, in contrast, has no patent licensing pool, because its license purports to offer free usage for all the relevant patents irrevocably (just as with WebM). However, nobody really knows this for sure, and if Theora does indeed infringe on someone's patents, anyone implementing the codec will be at risk of being on the wrong end of a lawsuit. This is why that open source codec was never a viable option for Redmond.

But WebM is different. Google is sure to have done its due diligence, both in the purchase of On2 and the subsequent work to release the codec as open source. This arguably puts WebM in a stronger position than Theora; if there were any obvious potential patent claims against VP8, Google probably wouldn't have bought On2 in the first place.

Nonetheless, I think WebM's position would be stronger still if Google would take the step—an admittedly risky step if there are indeed patent infringements within VP8—of offering indemnification to any users or implementers of WebM. This could open the company up to massive liability, but equally, it could cost essentially nothing while making WebM the safest codec option around, something sure to appeal to Microsoft. Certainly, if Google indemnified users, Microsoft would no longer have any reason to not include built-in support for WebM in Internet Explorer 9.

Built-in support is particularly important in the mobile space, where browser plugins and downloadable codecs aren't an option. If a mobile browser doesn't support WebM, there's nothing Google can do to change that (short of providing a whole new mobile browser). As such, even if the separate codec is "good enough" for the desktop, more buy-in is needed from mobile vendors to enable WebM to be a truly universal standard.

Apple faces a similar problem, and due to the company's commitment to H.264, is likely to be even less keen to include support for the new codec.

Going nuclear

Google does have a nuclear option: restricting HTML5 usage of YouTube to WebM. Though YouTube is not the only source of H.264 video on the Internet, it is one of the largest and most important. A switch to WebM would leave users of Flash-less devices like the iPad high and dry, until they were updated to include the new codec.

Even without such measures, WebM is set to rapidly become the most widely supported standard for Web video. Firefox and Chrome together command about 35 percent of the browser market, which gives them more share than all the current H.264-supporting browsers together. This certainly makes WebM a compelling option.

But until Microsoft and Apple commit to not only allowing use of the new codec, but actually including it, the long battle over which standard to use for Web video won't end soon.

Channel Ars Technica