HTML5: Understanding the Video Standards Landscape

Posted by Michaela B., Verisign

Our guest blogger today is a repeat visitor – Professor Karthik Shyamsunder. As HTML5 is in the news a bit lately, we thought we’d follow up with some more thoughts on the topic.

In my previous blog post, I discussed the new tag, its usage, and how we are going to have native tags on the web. It just so happens that there is a whole range of technologies, standards and market force that is driving this new native video technology and shaping its future. In order to understand this landscape, it is probably a good idea to have a quick understanding of the video technology, namely video containers and video codecs.

What are Video Containers?
A video container defines how to store video and audio streams in a single file. When you think of video files, you usually thing of “AVI” or “MP4″ files, but they are in reality called “container formats”. A close analogy for container formats is a ZIPfile.

Don’t forget that a ZIP file is a container format that can contain any sort of file within it. It does not really define the contents of the file. In the same way, a video container format defines HOW to store video things (video stream, audio stream, track information, synchronization information, metadata etc.) and not WHAT kinds of data to store. Well, I say that cringingly because not all video streams are compatible with all container formats. Shucks!

Anyway, there are several video container formats in the marketplace. Some of the popular ones are:

  • MPEG4 - The Movie Picture Experts Group (MPEG4) video container files usually have an extension of .mp4 or .m4v. This is a specification from Apple and is based on Apple’s old QuickTime (.mov) container.
  • FLV - The Flash Video (FLV) container files usually have an extension of .flv. This is a specification from Adobe and is of course used by Adobe Flash runtime, which also supports files based on MPEG4 container. This is very popular and is used heavily in the Internet.
  • OGG - The OGG video container format files usually have an extension of .ogv. OGG is an open standard, open-source friendly format that is unencumbered by any known patents. So, clearly Firefox supports this natively and of course all major Linux distributions bundle support for this container.
  • AVI – The Audio Video Interleave (AVI) video container files usually have an extension of .avi. This container format from Microsoft has fallen behind in technology and does not support the feature set of many modern containers. Over time many companies have tried to extend it and generally in incompatible ways.

What are Video Codecs?
A video codec defines what kind of data to store in the file. Imagine you’re watching a video; when you do so, there is a video codec (Coder Decoder) that has to interpret the bytes in the stream to display the video and synchronize it with the audio. Hence, think of a video codec as a data structure and an algorithm by which video and audio has to be encoded.

There are several video codecs in the market place. Some of the popular ones are:

  • MPEG-4 ASP – The MPEG4 ASP (Advanced Simple Profile) is developed by MPEG group and is a popular codec that can be embedded in popular containers such as AVI and MP4. This codec is patent encumbered and is licensed through the MPEG LA consortium.
  • H.264 – The H.264 codec is also known as “MPEG-4 part 10″ or “MPEG-4 AVC”. This format developed by the MPEG group prides itself in having a single codec that can be used in cell phones (low-bandwidth, low CPU device) and desktops (high-bandwidth and high CPU device). This is licensed under the MPEG LA consortium too and is considered one of the best.
  • THEORA – This is a codec developed by Xiph.org. It is royalty free and goes hand in hand with OGG container. It’s supported by Firfox 3.5+ and popular Linux distributions by default.

So, what is the standard?
HTML5 defines the tag, but does not specify the video container or the codec. The question is when we use the tag in our HTML page, which codec can we count on being present in all browsers and across all platforms including mobile devices. This is an interesting question and a challenging battle between the big players. H.264 is technically better than MPEG-4 and THEORA, with support for multiple profiles lo – low and high end profiles. It also has a good market share as it is currently embedded in many popular products including Apple’s iPhone, Apple TV, Adobe Flash, YouTube HD, and Android phones.

It so happens that Google acquired On2 technologies within the last year and gained rights to a codec called VP8. The VP8 codec is said to be superior to H.264 with more than 40 new innovations delivering outstanding quality at low bitrates and low complexity, thus reducing the cost of streaming video. Interestingly, there is a rumor that Google plans to open source this technology (this may be announced in the Google IO conference this year). Google is obviously interested in entering this space. Flash Video, the most popular internet video format, is feeling left out as Apple announces no support for Flash in iPod and iPad.

As you can see, the big boys are playing politics, but the reality is we will eventually have native VIDEO on the web. And, what does that mean to the average user and to video? It means we will finally have video with no plugins, it will simply work on all browsers and all platforms including mobile phones (and iPads…and that next thing we haven’t thought of yet). You think video is growing now. Just wait!

One Comment / Post a Comment