Friday, January 28, 2011

What's the deal with this WebM stuff?

If you watch video online, then this concerns you. However, I must say, I didn't quite know what I was getting into with this. The whole WebM, H.264 debacle is confusing, to say the least. With that in mind, let's get on with it...

Google is big. They seem to have their hands into everything nowadays: search, email, numerous online services, operating systems both mobile and desktop (Android and Chrome OS), mobile phones and tablets, browsers, and home entertainment (Google TV).

Say what you will about the apparent failure of Google TV (in its current iteration), but it is certainly a step in the right direction. Internet video is the future of all broadcast content, and were slowly but surely finding our way there. The question is then, how will internet video be embedded and implemented and which of the many codecs out there will become the de facto standard (if there must be one) for a wide range of TVs and devices?

The Internet as a content vehicle
Currently, Flash and H.264 are the primary options for internet video. But Flash is specifically an Adobe product, and H.264, though having many supporters, has licensing fees associated with its use in commercial products -- or it had licensing fees. As of August 2010, the MPEG Licensing Authority claimed it will allow royalty-free internet broadcasting for an indefinite period -- keyword indefinite. That means somewhere down the line, once everyone has comfortably settled into use of H.264, they could impose fees again on its implementation. And that ain't good. So, it seems only natural that another company or group of companies would gather in support of a new codec that is completely open and has no fees. That format is called WebM.

Google subsequently has dropped native support for H.264 in its Chrome browser, just as Firefox never had it, who had even petitioned the HTML 5 board for previous versions of Ogg Theora to be the default codec for embedded HTML 5 video. That never came to fruition, and rightly fully so; other than its openness, Ogg Theora wasn't that great compared to competing technologies.

However, I look at it all as a matter of control. Who is or will eventually control the container in which we are all delivered content? And if there is an open source, license-free codec we can all use, will it be the best? We can all agree that H.264 works great -- it results in quality content, small file sizes and even allows for hardware acceleration for pumping out HD video so our devices don't break a sweat. But will WebM do any of that?

Those are my concerns, so in order to understand the situation as much as possible, let's learn together while we answer questions I had in this process and how it will affect you and I both.

What is WebM?
WebM is a media file format and container for internet content that is royalty free. It is defined as a combination of the video codec based on a technology bought from On2 by Google called VP8 and the Vorbis audio codec.

Who works on and supports the development of WebM?
Well, this one's a toughie. VP8 is a video codec open for development for anyone that wants to contribute, but currently Google is pushing for its progress and adoption more so than anyone else in the industry now.

Is it better than the codecs in use today? How efficient is it for HD content?

Here's a chart from streamingmedia.com comparing the performance:

In this head-to-head comparison, the VP8 codec is lower in terms of visual quality, though to the typical user, it isn't that noticeable. What is noticable, however, is amount of processing power it sucks from your CPU. Playing a 720p video encoded in both H.264 and WebM formats, WebM across different machines required substantially more hardware resources to play similar files.

In response to results like these, the FAQ page on the webmproject.org website says:

"WebM playback seems to use a lot of processor resources on my computer. Why is this?

WebM decoding speed and browser rendering performance have improved significantly since our first release in May, 2010. Members of the WebM community and our partners are working hard on further performance improvements."

Additionally, coming from certain veteran codec developers, the VP8 codec specifications are a mess. If you'd like to dive real deep into this issue, you might want to read this and this. Here's a summary from said individual, Jason Garrett-Glaser, the current primary x264 developer and a ffmpeg developer:

"VP8, as an encoder, is somewhere between Xvid and Microsoft’s VC-1 in terms of visual quality.  This can definitely be improved a lot.

VP8, as a decoder, decodes even slower than ffmpeg’s H.264.  This probably can’t be improved that much; VP8 as a whole is similar in complexity to H.264.

With regard to patents, VP8 copies too much from H.264 for comfort, no matter whose word is behind the claim of being patent-free.  This doesn’t mean that it’s sure to be covered by patents, but until Google can give us evidence as to why it isn’t, I would be cautious.

VP8 is definitely better compression-wise than Theora and Dirac, so if its claim to being patent-free does stand up, it’s a big upgrade with regard to patent-free video formats.

VP8 is not ready for prime-time; the spec is a pile of copy-pasted C code and the encoder’s interface is lacking in features and buggy.  They aren’t even ready to finalize the bitstream format, let alone switch the world over to VP8.

With the lack of a real spec, the VP8 software basically is the spec–and with the spec being “final”, any bugs are now set in stone.  Such bugs have already been found and Google has rejected fixes."

If it's not better than H.264, then how does the end-user benefit from this open codec, if at all?
The farthest-reaching implications I can fathom about a license-free, patent-war-free is greater availability of content. Seems like a good thing to push competing options out there. Let's just hope that Google doesn't sit this one out in trying to make VP8 and WebM better. It's not completely up to the community to fix a codec whose spec was flawed in the first place.

What devices will support WebM?
Hmm... Right now, I think only certain browsers (Chrome, Firefox, Opera) and media player software (VLC, Winamp, XBMC) on any PC. Here's an up-to-date list.

How does the future look for this new codec, and to what extent will it be adopted?
That's anybody's guess, honestly. However, there are two aspects of interest: for one, don't expect Apple to give into this technology while so invested in H.264, the technology behind the formats mp4 and m4v used in all Apple devices and content provided on the iTunes store. Because of Apple's influence in certain markets, if they don't jump on board, then you won't see WebM as widespread while we live in an iPod/iPhone dominated landscape.

However, if you take into account Google's influence over online video content via YouTube, which at some point will have all its video available in the WebM format, then you can expect to see more usage of the codec, especially if YouTube does away with H.264 support. Of course, I don't see Adobe's Flash going away any time soon, as it will most likely remain YouTube's default video container for a while to come.

So what does this all mean?

Who knows?

No comments:

Post a Comment