Three years after we solved the syntax issue we finally have a video format that meets expectations. Three and half years ago I blogged about the need for an open video format. Much has changed and my “wishful thinking” from then is pretty much reality now. It certainly is exciting. A lot has been said about the WebM Project already. A new container format that is effectively a subset of Matroska with a different signature. This is what is called WebM. It is restricted to VP8 for video and Vorbis for audio. Timed text will most likely be handled by WebSRT. WebSRT is not ready however so it is not part of WebM for now.
WebM has buy-in from Google, Opera, and Mozilla on the browser side. Microsoft has stated it will support it as plugin. If this comes down to the same way you can currently get Ogg Theora to work in Safari — via a QuickTime plugin — I am not sure that is worth much. However, somewhat ironically in my eyes, Adobe has announced it will support VP8 in Flash. As foolip said on twitter:
Awesome for legacy browsers like IE9 and Safari.
There is much more to it than that though. YouTube has started streaming WebM video already. Hardware manufacturers have for some time been working on getting dedicated hardware support for WebM. It is also a good format for streaming video. Skype for instance is behind it. And many others. This also ties back to HTML5. Well, the developments beyond HTML5. WebM is a very suitable format for the
device element and peer-to-peer messaging.
The H264 camp responded to the news with a technical analysis of VP8. Which was received as FUD on the other end. Good times. Longtime Apple fanboy John Gruber ridicules Christopher Blizzard over a supposed change in his position on Ogg Theora quality. Normally John is extremely exact and would point out to his readers that perceived quality is different from actual quality. Not so here. Funny. All technological change needs some amount of mud slinging though. Otherwise it is not making any impact. It would also be less fun.
Many thanks to Google for releasing WebM including its associated intellectual property under a liberal license. Really an awesome move.
If you are interested in more background information I suggest reading VP8 has landed by foolip who implemented WebM (and our media support in general) in Opera and WebM by Robert O'Callahan, from Mozilla.
That Google released a reference decoding implementation that is much slower than x.264 and CoreAVC is just terrible.
Those h.264 codecs are already very slow codecs that are killing for low-end devices. If VP8 is slower than h.264 and has poorer compression ratio's it is virtually useless.
I've personally thought Gruber's been quite a bit of a douchébag lately, especially when it surrounds anything related to H.264. In the past he's been quite fair and objective while now he's just making himself look like a complete idiot -- especially the jab at Christopher Blizzard.
I was on the fence about what formats to choose before because ethics would make me promote Theora while aesthetics would make me pull for H.264. If Google hadn't opened up VP8 I would have just resigned myself to accepting the victory of H.264. The announcement yesterday is like hitting 5 home runs in the last inning. However, the best hitter has a sprained shoulder.
I personally think Jason Garrett-Glaser's analysis is fair until he starts discussing patents. The most disturbing bit comes from the spec itself as it uses the software itself for the spec... ugh. By doing things that way any bugs within the code are now part of the specification, and several have been found already. How can this format be improved upon when its existing code is used as the specification?
Um, where exactly in that message does Gregory Maxwell say Jason Garrett-Glaser's analysis is "FUD"? He does argue with any of his technical points, he just says he's wrong about patents and that VP3/Theora sucked as well when it was released but that hey, after six years of development they've managed to get it up to scratch.
It's more interesting what he doesn't respond to: Firstly, that the format has significant weaknesses which could have easily have been resolved has there been a degree of community involvement and peer review prior to the official release. But instead Google have just gone ahead and declared the format final as soon as it is announced, an interesting definition of "open" development.
Secondly, that the spec is extremely poor quality, essentially being a patchily annotated version of the source code. Surely as a writer and reviewer of web standards documents you can see how bad this is? Would you accept a browser vendor's proposal for a new CSS feature that was just a dump of source code with some random additional description?
Thirdly, that there is only a single implementation of the encoder and decoder, both of which share much of the same code, meaning that any bugs in that implementation essentially become features in the spec. Again, this scenario should be familiar to you from your time spent reverse engineering the behaviour of IE6. Hence HTML5's requirement of multiple independent implementations. Mozilla are already discovering you can't fix bugs in the codec because then you'll break all the YouTube content that relies on those bugs. Oops.
Personally, I don't like H.264, and I passionately support open web video. I am very hopeful that VP8 will succeed and very grateful to Google for spending millions to make this happen, but at the same time I'm baffled and kind-of furious at how cack-handedly they have handled the release, forgoing all the best practices of open and collaborative development, just so they can have their big moment at I/O, and announce VP8 as a finished solution when it is clearly not.
Sorry, I didn't spot the line above the quote in Gregory Maxwell's post where he does indeed call Jason Garrett-Glaser's analysis "fud", but either way the rest of what I said stands.
Jon, you're just repeating misinformation without having bothered to check it for yourself.
In the link you give, suggesting that you can't fix bugs in the VP8 codec, you'll find that the Google developers fully intend to fix that bug. They just didn't want to fix a bug discovered a day before the big launch that would result in the live Youtube demo content having visible problems if the encoder and decoder didn't have the same fix. Once they commited the fix they'd need to re-encode all that content, or at least the affected subset, and it is to their credit that they seem fully prepared to do exactly that, they just didn't have time before launch.
Your other accusations are off-base too. What significant problems where found in the spec that could have been prevented by community review? None that I've heard of. The biggest missing feature noted is B-frames, which are left out a) because they are patented, and b) because they are a poor trade-off in low power situations. This second reason is why H.264 baseline doesn't use them either.
Almost all of the criticisms I've seen levelled at VP8 seem to fall into this same category of armchair quarterbacking without understanding, or wishing to acknowledge, the engineering realities of launching a new codec.
If you still believe Google has messed up the open sourcing you should read this take on the release from an FFMPEG dev:
Looking at Today's VP8 Open Sourcing
Then read his previous blog post to see how skeptical he was about VP8 a couple of weeks ago, just in case you think he's biased:
VP8: The Saviour Codec
As far as I can see, that article doesn't dispute any of the criticisms that Garrett-Glaser made, like Maxwell his main point seems to be that it's a lot better than the VP3 release, because you can compile it and they actually included some documentation.
You're right though, I'm not a video format expert, and neither are most of the people discussing this, so we're relying on expert opinion to guide us. And right now, the only really detailed analysis of VP8 I've seen is the Garrett-Glaser article. I've seen plenty of enthusiasm from its supporters, but no detailed rebuttal of the criticisms levelled at it.
For example, the WebM site doesn't even address the question of patents. I've read some claims that Google carried out a patent analysis and concluded VP8 was in the clear, so why aren't they shouting it from the rooftops? Why isn't there a post on the WebM blog explaining exactly how their lawyers went about verifying it was clean, and reassuring people that it's safe. Why haven't we heard from Google/On2 engineers In the absence of this kind of feedback, people will assume the worst.
Given the momentum that H.264 has, the support from Microsoft and Apple, the huge volume of existing encoded content, the patent patent pool security (albeit with royalties), the codecs, and the hardware support, I don't see how selling VP8 on "but it's much better than Theora!" is going to cut it.
If you look into the history of Theora I think you'll find that Mozilla and Xiph have both publicly stated that they've done patent searches on that codec but that their lawyers have advised them not to publish the results as it simply makes it easier for people to file nuisance suits against them.
Neither group is particularly happy about this aspect of patent law but Mozilla has said that the fact that they (and others) are shipping Theora should be all the info you need on what they're lawyers said. And any knowledge of Xiph's mission should make it clear that if they knew of an actual patent threat then they would have worked around it.
In this current case the fact that Google, Mozilla, Opera, Adobe, Skype and a long list of other big companies are shipping WebM should really be enough for anyone who actually cares about avoiding patents and isn't simply looking for a talking point to use against it.
Asking people to prove a negative should be sure sign that you've lost the argument. They've already put 100s of millions of dollars on the line and built a formidable industry coalition who are doing likewise. There's no logical reason that this should be any weaker a position than the MPEG-LA's industry coalition unless you have extremely in-depth knowledge of the video codec litigation landscape. (Just for clarity since lots of people get this wrong: MPEG-LA does not indemnify you and doesn't guarantee that they hold all necessary patents)
And, as I said, there's nothing much technically to rebut in Dark Shakari's rant. He's saying it's a lot like H.264 and therefore it must infringe patents, and it's different in places from H.264 and therefore must be worse quality (than the higher profiles, he seems to think it's better than H.264 baseline). I'd read that same info as saying that it's a lot like H.264 so it's roughly comparable in quality and it's different in places from H.264 precisely to avoid patent issues.
He does seems a bit annoyed that someone may have actually read the H.264 spec and associated patents, learned from them and worked around them rather than invent some entirely new form of codec. I'm not sure why it affects him personally. It's not his spec nor his patents, and both were published openly so that people could learn from them. Apparently On2 learned and then put that knowledge to use and built a codec that didn't infringe the patents. Dark Shikari, on the other hand, mostly just followed the recipe in his work on x264. Of course in the areas where he wasn't just following the spec he makes no attempt to check for patents or indemnify his customers. Seems odd for someone who is on record as saying that the area of video codecs is a patent minefield and demanding exactly that from competing projects.