WebM, H.264 Debate Still Going
On February 2, Microsoft released a plug-in for Chrome on Windows 7 to allow users to play H.264 video directly in Chrome. In addition, Microsoft has said that it will support WebM (VP8) when a user has the codec installed. And so began the fragmentation of the HTML
video model, back to relying on plug-ins to support what was otherwise intended to be supported natively within browsers.
Microsoft went on to ask three broad questions in a separate post (HTML5 and Web Video: Questions for the Industry from the Community), taking Google to task for what Microsoft considers inconsistent application of its own patent concerns and openness (emphasis Microsoft’s):
- Who bears the liability and risk for consumers, businesses, and developers until the legal system resolves the intellectual property issues;
- When and how does Google make room for the Open Web Standards community to engage genuinely;
- What is the plan for restoring consistency across devices, Web services, and the PC.
The same day Microsoft was announcing its plug-in approach to addressing the WebM and H.264 battle, the post On WebM again: freedom, quality, patents came out addressing what it felt were the five most common issues raised with WebM (which I have paraphrased):
- Quality: the argument here is that it’s a function of the encoder and the WebM can match H.264;
- Patent Risk: comparing the 164 unexpired U.S. patents used in a single encoder, he finds that 126 of them are there for the encoder’s H.264 support, the remaining (used by WebM) are in a library released by Google.
- Not open enough: there is little argument here, given that it’s currently in Google’s hands to manage and develop.
- H.264 is not so encumbered: but only for non-commercial use for freely-distributed web video.
- Google provides no protection from infringing patents: nor does MPEG-LA.
Changing the Nature of the Battle
On February 11, the post MPEG LA puts Google’s WebM video format VP8 under patent scrutiny outlines how MPEG-LA, the licensing entity for multimedia codecs such as H.264, has put out a call for patents related to VP8, the underlying technology in WebM. That deadline for submissions is March 18, or less than a month away as of this writing. From there, MPEG-LA will create a patent pool of contributing patent holders for any items that are deemed essential to the codec. This patent pool can then be used to negotiate licensing. In short, VP8/WebM could soon be more patent encumbered than it has been. This puts Google on the defensive as it will have to show that none of the patents in use are valid and/or infringed.
The same author of that last post posted on the 14th at The Guardian, Royalty-free MPEG video codec ups the ante for Google’s WebM/VP8. In case that title isn’t clear enough, a new royalty-free video standard may be in the pipes. MPEG, a standards body separate from MPEG-LA (the licensing body) has called for proposals toward a royalty-free MPEG video coding standard. One of the goals is to make this new standard comparable to the baseline used in H.264.
If this pans out, it puts another barrier in front of the WebM offering from Google, namely that for WebM to be adopted it will have to best any new royalty-free MPEG codec. The three items that can bring WebM (VP8) down:
- If the MPEG-LA call for for patents and resulting patent pool for VP8 nets some patents, MPEG-LA will now form a patent pool to push for licensing agreements, which Google will have to fight at each step.
- If MPEG can genuinely develop a royalty-free video coding standard, it can beat WebM either from the patent perspective or by forcing WebM to be technically superior.
- Assuming WebM can get past the first two items, it’s still back where it started — in a battle for adoption and endorsement against the already entrenched H.264 standard.
Considering Google is the company that delivers so much of the video viewed on the web via YouTube, it makes sense that Google presumes it can take the lead on video codec standards. Netflix, however, has its entire business model built around video, which is now moving inexorably to the web. Netflix commented back in December (HTML5 and Video Streaming) that it needs some things sorted out before it can even rely on HTML5 and
video to deliver its content (the first 6 of which it has resolved through its own proprietary technology):
- The acceptable A/V container formats (e.g. Fragmented MP4, WebM, etc.);
- The acceptable audio and video codecs (e.g. H.264, VP8, AAC, etc.);
- The streaming protocol (e.g. HTTP, RTP, etc.);
- A way for the streaming protocol to adapt to available bandwidth;
- A way of conveying information about available streams and other parameters to the streaming player module;
- A way of supporting protected content (e.g. with DRM systems);
- A way of exposing all this functionality into HTML5.
It’s clear that the web video debate extends far beyond the academics of HTML5. As long as issues related to patents and licensing are unresolved, or perceived as unresolved, we will see more proprietary solutions gain more ground, further balkanizing the future of video on the web.
If you think this doesn’t affect the end user, all that time and effort put into creating proprietary solutions ultimately costs you as the consumer in the form of increased fees for your content. Granted, it will be some time for browsers to catch up with the selected codec, and yet more time for users to catch up with the supporting browsers, but the more this debate continues, the longer before we can even start that long road of user adoption.
Possibly the best outcome we can hope for is that this battle results in a royalty-free MPEG standard, nullifying many of the arguments against both H.264 and WebM.
- H.264 Getting Dropped from Chrome, January 11, 2011.
- Simple HTML5 video player with Flash fallback and custom controls, February 17, 2011.
Update: April 6, 2023
Thanks to a post by Bruce Lawson, I discovered the paper The Most Dangerous Codec in the World: Finding and Exploiting Vulnerabilities in H.264 Decoders, with the following abstract:
We introduce and evaluate H26FORGE, domain-specific infrastructure for analyzing, generating, and manipulating syntactically correct but semantically spec-non-compliant video files. Using H26FORGE, we uncover insecurity in depth across the video decoder ecosystem, including kernel memory corruption bugs in iOS, memory corruption bugs in Firefox and VLC for Windows, and video accelerator and application processor kernel memory bugs in multiple Android devices.
I tend to agree with Bruce — we should have used Ogg Theora.