RSS

H.264 vs OGG theora

This entry was posted on May 01 2010

Back in 1993 when I started experimenting with video on the web, there were a number of available video formats: MPEG, AVI and QuickTime. These codecs were optimized for NTSC/PAL encoding and playback from hard drives and CD’s. But they were horrible for the (dial-up) web. Way too large.

All kinds of early codecs

In the following years, many new video formats and codecs were introduced. Real. Indeo. H.263. Sorenson. MPEG2. ON2. Microsoft video. Many more. There was no standard at all. Most of the codecs were never widely adopted on the web. And many new ones kept coming. It was a mess.

Real, Windows Media, QuickTime

In the year 2000, most of the crappy codecs became obsolete, (fortunately) and the web knew three standards for online video: Real, QuickTime and Windows Media. Consumers needed to install all three players to be able to consume all the video content on the web. Because every player used it’s own video formats and codecs. New codecs were introduced: ON2 as a plug-in, RealVideo G2, MPEG-4. This was the media player war.

A standard?

There was a clear need of a standard. The industry players sat down. They proposed and adopted MPEG-4. Apple proposed a QuickTime like container format. Real proposed RTSP as the delivery protocol. Microsoft actually proposed a first draft of the MPEG-4 video codec. This codec was rejected. And it was actually stolen and called DIVX! That is why Microsoft turned it’s back on MPEG-4 and introduced Windows Media. The media player war continued. But at least the MPEG-4 format (including H.264 and AAC) became a standard. Real and Apple adopted MPEG-4. The mobile 3GPP standard adopted MPEG-4. Mobile phone vendors, Set Top Box vendors and encoders vendors all adopted MPEG-4. MPEG-4 was popular. But Windows Media 9 became much more popular. Windows Media was actually the basis for VC1, which is a standard for Blu-Ray, as well as H.264 is.

Flash: Sorenson, ON2

The popularity of virtually other codecs dwindled on the web. You could achieve great quality with codecs such as ON2 and Sorenson, but encoding was heavy, and decoding as well. It still is. And you had to install their plug-in within every media player. Outside the web, there was no support at all. And actually, many codecs that were introduced in these years were more or less designed after the first H.264 codec drafts. When Adobe introduced Flash video, they surprisingly used the Sorenson Spark codec.  Later versions added support for ON2 VP6. The latest versions use H.264. Flash is the most used video format on the web, today.

ON2 theora

ON2 decided to open source their older codecs: ON2 VP3 was open sourced. The theora codec is a popular open source codec. But video codecs are a patent landmine. Some claim that VP3 infringes patents.

H.264 (also known as AVC)

H.264 is not an open standard. It is an industry standard. It is adopted by many global industry players. And it is contributed by many as well. Today, H.264 is the widest adopted format out there: Microsoft Smooth Streaming, Adobe Flash, QuickTime. But also video cameras, digital cameras, encoders, players, TV’s, servers: H.264 is everywhere.

HTML5 video

Even though H.264 is used everywhere, you still need a player to playback content on your PC, Mac, mobile device or Set Top Box. That is why HTML5 video is introduced. Similar to the <IMG> tag, you can now put a <VIDEO> tag in any web page, and the browser can playback the video, without the need for a video player or plug-in. This is a great feature, but it will not replace video players. HTML5 can give a nice set of features by using modern AJAX technology, but -at least in the next years- this will not replace the richness that players such as Flash or Silverlight can bring.

HTML5 video codec

The discussion with HTML5 video is the codec. The video codec is not specified (similar to <IMG>, where you can embed JPG, GIF and PNG files). Apple Safari and Microsoft IE use H.264 because it is an industry standard. Firefox and Chrome use OGG Theora because it is an open standard free. This means that content owners have to encode to H.264 and Theora to support all HTML5 browsers. That is not the way to go. So is it going to be H.264 or Theora?

IMHO H.264 is far more advanced. H.264 is widely adopted. H.264 runs on virtually any device, with hardware acceleration. It is not just an industry standard: it is an adopted standard. The overall goal here is to achieve an adopted standard. Open sourcing can be a mean to achieve adoption. But open sourcing should not be a goal by itself.


Latest developments!

Dean Hachamovitch, General Manager, Internet Explorer at Microsoft writes:

“The distinction between the availability of source code and the ownership of the intellectual property in that available source code is critical. Today, intellectual property rights for H.264 are broadly available through a well-defined program managed by MPEG LA.   The rights to other codecs are often less clear, as has been described in the press.”

Steve Jobs, Apple CEO writes:

“All video codecs are covered by patents,” read the reply. “A patent pool is being assembled to go after Theora and other ‘open source’ codecs now. Unfortunately, just because something is open source, it doesn’t mean or guarantee that it doesn’t infringe on others patents. An open standard is different from being royalty free or open source.”

You must be logged in to post a comment.