Channels ▼

Mark Nelson

Dr. Dobb's Bloggers

One Codec to Rule Them All

April 18, 2010

We've been hearing a lot lately about how HTML 5 is going to make video on the Internet a thing of joy. No more need for plugins, no need to completely download videos before watching, and no external software required.

It's a beautiful plan, with just one missing piece: a standard video codec.

As things stand right now, Apple appears to be solidly behind H.264, and it looks like that is the codec that will be supported in their browser. Mozilla, on the other hand, either can't or won't use H.264, as it is tightly bound up by tons of IP, requires some licensing fees now, and may require more in the future.

So Mozilla and other FOSS parties are partial to Theora, a free codec that can be distributed without any obvious licensing fees.

Problems With Theora

Theora seems to be a perfectly good video codec, but it's not clear how it measures up to H.264. Determining that requires sophisticated subjective testing, and open source projects tend to not have the funds for niceties like that. Search the web and you'll find some ad hoc testing, but it would be good to have the real deal.

What's worse about Theora is the FUD regarding patents. As written up here and elsewhere, the MPEG-LA licensing group has bantered about the possibility that Theora infringes on this or that patent.

Regardless of what anyone says, there is no way to prove or disprove this without going to court. And there area literally thousands of video coding patents that could be flung at Theora. Nobody can say for sure that there is not one that might have a winning case. And contingency lawyers in the Eastern District of Texas would be happy to bankrupt Mozilla, and probably Opera, without even breaking a sweat. That's how they roll.

Enter VP8

A late entrant to the game might be VP8, the codec developed by On2 and thus in the process of being picked up by Google. Speculation abounds that Google will open source VP8, which might be able to go toe-to-toe with H.264 when it comes to video quality.

If this were to happen, I envision a happy ending where Apple, Microsoft, Google, and Mozilla all agree on VP8 as a standard video codec for their browsers. This far-fetched idea has some really nice things going for it.

First, everyone gets a royalty-free codec.

Second, in the event of a patent dispute, their is a deep-pockets party to sue: Google. No need to go after Mozilla or second tier browswer providers - go straight to the source.

And why would Google do this? Their simple strategy of having more people on the Internet, viewing more content, with less fuss, and less delay. Imagine a seamless HTML 5/VP8 world where broadcast TV is replaced by the Internet and Google gets to sell all the ads.

Back to Reality

It would be really nice if this happened, but can you really imagine Apple cooperating with Google just for the good of the net in general? No, Apple will continue to push H.264, and if Google pursues a VP8 strategy, we'll just get more fragmentation.

To web developers, it means more transcoding, and at least four copies of any video being hosted: H.264, Ogg Theora, VP8, and of course, whatever VP? is needed by the latest Flash player.

If it's good for anyone, it will be the people who sell disk drives to the server farms.We've been hearing a lot lately about how HTML 5 is going to make video on the Internet a thing of joy. No more need for plugins, no need to completely download videos before watching, nd no external software required.

It's a beautiful plan, with just one missing piece: a standard video codec.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Dr. Dobb's TV