The Elephant in HTML5’s Room

The new HTML5 video element will allow content developers to embed video directly into their web page without having to utilize third-party plug-ins such as Adobe’s Flash. This is a good thing.

Except there’s one, big problem. The HTML5 spec does not specify what codecs need to be supported by compliant browsers. It is left up to the individual browsers what codecs they do and do not support.

Perhaps the most popular video codec on the street is H.264. H.264 is a great codec that balances the need for small filesize with good picture quality. It’s no wonder that it’s used in newer HD technologies such as Blu-ray. It’s also used in almost all new HD video camers for both personal and professional use. It is also the growing codec of choice for distributing video online.

There’s just one problem: MPEG-LA.

MPEG-LA is a firm that manages patent pools. Patent pools are exactly what they sound like. A company or group of companies will take their patents and put them together into a pool. The patents in a given pool usually have something to do with a specific product, in this case the H.264 video codec. A company can then license all the patents in the pool as a package with respcet to the related technology. MPEG-LA is who you have to pay if you want to use the H.264 video codec. Any DVD or Blu-ray player you might have, as well as any video camera or other device that supports H.264 almost certainly includes a license from MPEG-LA for the use of H.264 on that device.

And right now the MPEG-LA licensing allows free use of H.264 for the purpose of streaming video over the internet so long as you don’t charge any money for it. This is why YouTube has so far received a pass on paying hefty MPEG-LA licenses. Companies like Netflix, however, do have to pay a license as Netflix users are paying for the content.

That could change. The current license ends December 31, 2010. Come January 1, 2011, MPEG-LA could require companies like YouTube or even personal web sites that stream H.264 encoded content to pay a license fee. And for how much? Who knows? That’s entirely at the discretion of MPEG-LA. MPEG-LA could allow their free license to continue the way it has, allow H.264 to become even more popular with the web, and then in 2 or 3 years start asking for hefty license fees. At that point many companies will be so reliant on the codec they’ll have no choice but to pay.

Some people don’t like this arrangement. Some people have set out to develop a new codec that delivers comparable quality to filesize as H.264, but is not encumbered with patents. Enter Theora.

From the same people that brought you Ogg Vorbis comes Theora. Theora is based upon the VP3 codec developed by On2 Technologies. On2 released VP3 into the public domain in the early 2000s. Theora improved upon VP3 to what it is today. Theora’s development was done with an eye towards steering clear of existing patents. The result is a video codec that is unencumbered by patents and free for anyone to use.

Sounds great! Why doesn’t everyone use Theora instead of H.264?

There’s a few of reasons.

The biggest issue is the lack of an actual body or company that’s willing to indemnify users of Theora from patent lawsuits. This, in turn, has lead to the spread of considerable FUD about Theora with hints of some major company just over the horizon laying in wait and ready to strike at any moment the first time a company with a lot of money tries to use the codec in one of their devices. Recently Steve Jobs, the man at the head of Apple, has made statements to that effect. The problem is these threats have been looming for years and yet nobody has ever come forward to challenge Theora. Partly because “they” might be waiting for a big company with lots of money to start using Theora so they can file a lawsuit and win lots of money. But I believe they simply don’t want to risk losing such a challenge in a court of law and proving Theora is free and unencumbered. To do so would vindicate Theora and make it an attractive option for those who don’t want to pay MPEG-LA license fees.

Another reason is that some major companies, including Apple, are part of the MPEG-LA patent pool. They stand to make money by popularizing H.264. To promote a codec they don’t have a hand in would be counterproductive to their revenue stream.

A third reason is the argument that Theora’s video quality isn’t as good as H.264. Early Theorya 1.0 encoders did not produce great results, but Theora 1.1 has proven to be nearly as good, if not equal to H.264, especially at low bitrates. A subset of this argument is the lack of hardware decoders for Theora. This is a more relevant argument. H.264 decoder chips are available and can be found in a wide variety of products including Apple’s iTouch, iPhone and iPad as well as virtually all video recorders produced in the last 5 years.

Now back to HTML5 and its video element.

The people behind open source browsers like Firefox and KHTML don’t have the resources to provide an H.264 license for all their users. Thus these browsers are unable to support that video codec natively. On the other side you have companies like Microsoft and Apple who refuse to include native support for Theora because they worry about patent liabilities in the codec or stand to make money by pushing the use of H.264.

The result is that there is no single video codec that the will be universally supported when HTML5 is finalized. Which means developers that wish to make use of the HTML5 video element will either need to keep two copies of each video (one in H.264 and the other in Theora) or they have to request that the end user install some third-party plugin.

I’m willing to guess that the vast majority of developers will simply continue to do what they already do, which is to use Flash to play videos within their web site.

But wait! Apple has declared itself to be Flash-free. Apple’s iPad, iPhone and iTouch will not support Flash in any form. So developers who wish to display video content on those devices will need to use the HTML5 video element.

So what are developers to do?

Sadly, I believe the majority will do a bit of client detection and deliver an H.264 to Apple products, and the rest will get a Flash movie that will play back the same H.264 stream. Flash and H.264 both win. Theora and open-source lose.

Or maybe not.

Google bought On2 Technologies last year and plans to open-source On2’s VP8 codec. This is the same family of codecs that VP3, the basis for Theora, comes from. But VP8 is five generations removed from the aging Theora (meaning it should be better). The result could be a new codec, backed by a huge company (Google), and used on the largest video streaming web site (YouTube, which is owned by Google). We could see over the next couple years a huge shift towards VP8, leaving Theora and H.264 behind.

But I predict we’ll see a blend of all codecs. Theora will remain a staple of open source browsers like Firefox. Apple and Microsoft will keep pushing H.264 and Google will try to push VP8 through YouTube. But Google will be forced to retain H.264 and Flash video streams to support Apple products and legacy devices that don’t have the power to decode HD video streams.

I’d like to see VP8 be put into the public domain. I’d like to then see Xiph take VP8 and create Theora 2.0. From there Firefox, WebKit, and Opera start supporting Theora 2, YouTube starts moving towards just VP8/Theora 2 video streams which will then be supported by Flash. Apple is left with the choice of either building in support for these codecs or creating its own video sharing site that supports only H.264 and that native YouTube applet on your iPhone goes away.

Isn’t it nice to want things?