VP8, WebM, and HTML5 video

Google announced a new open-source video project today: WebM, which uses the VP8 codec. This is a big deal for digital video. Zencoder is excited to announce that we’ve launched VP8 transcoding support today as well, and we’re committed to offering the best VP8 transcoding on the market.

What is WebM? VP8?

VP8 is a video codec, like H.264, VP6, Theora, etc.

WebM is two things: a container format (based on Matroska), and the name for an open-source video project. Presumably, WebM could contain other open video and audio codecs down the road.

Does Zencoder support VP8?

Yes! We’ve been working with Google for the last few weeks to build VP8/WebM support into Zencoder. Try it out!

Where does VP8 come from?

Before Google bought them, On2 was one of the few companies in the world that made proprietary video codecs.

Most video and audio codecs are industry standards, combining patents from a few dozen companies. So MP3 audio, for instance, contains 100+ patents. Anyone can read the MP3 spec, but to implement an MP3 encoder, or to decode or encode MP3 audio, you have to license these patents. Conveniently, the patents are grouped together into a patent pool, so you only have to sign one license, not 50, in order to do something with MP3.

But On2 was different. They were a commercial company that created their own video codecs, like VP6, VP7, and (now) VP8. And their codecs were pretty good; VP6 became a big deal on the web when Macromedia licensed it for Flash 7 and 8. At the time, it was a major step forward from H.263, the Flash 6 video codec. It was even _almost_ as good as H.264 for a little while, before H.264 encoder implementations matured.

Overall, though, H.264 is a better codec than VP6. So when Flash 9 got H.264, the need for VP6 was diminished a bit. Not that it went away; it’s still the second most watched video codec on the web (after H.263, not H.264, if you can believe that).

What’s the deal with HTML5 video?

Fast-forward a bit. HTML5 includes a <video> tag, like an <img> tag, which browsers will use to natively play video, without requiring a plugin (e.g. Flash Player or Sliverlight). But it doesn’t specify a standard codec.

Firefox and Opera backed Theora, an open source codec, but a generation or two behind the best video codecs available today. Theora is actually based on On2 VP3, which On2 released under a BSD-like license several years ago. Apple and Microsoft won’t include Theora support in their browsers because it’s worse than H.264, and because they’re concerned about submarine patents.

Safari and IE backed H.264, which is the best codec on the market, but not free. H.264 requires a license from MPEG-LA (who manages the patent pool). The terms aren’t currently onerous; H.264 is free or cheap for most users, at least in 2010. But that could change down the road, and even if it doesn’t, the folks behind Firefox and Opera don’t want to use a patent encumbered codec for philosophical and pragmatic reasons.

So at the moment, HTML5 video is at an impasse. Firefox and Opera won’t support H.264, and IE and Safari won’t support Theora. (Google Chrome, incidentally, supports both.)

Why does VP8 matter?

VP8 is a good video codec, and it is open. That makes it unique in the world. Theora is open, but not a great codec. H.264 is a great codec, but patent encumbered.

Firefox, Chrome, Opera, and Adobe currently support VP8, and Safari and IE may at some point.

So at best, VP8 will completely solve the HTML5 video problem. At worst, it is major step forward for open video. And either way, a high quality open-source video codec is a Good Thing for everyone, even H.264 users.

How good is VP8?

It’s really early, but it appears to be good. H.264 is probably still better, but VP8 is better than most other codecs (including Theora, VP6, MPEG-4, etc.).

Also, VP8 will get better as its encoders get better. Even with the same codec, the difference between one encoder and another can be huge. When H.264 was first released, it wasn’t that much better than VP6 or MPEG-4 ASP (e.g. DivX and XviD), because the first H.264 encoders were rushed to market. But five years later, H.264 encoders have gotten significantly better. Give VP8 a year (let alone five), and it’s going to get better and better.

What doest his mean for H.264?

Competition is good. H.264 has liberalized their licensing terms a bit in the last year, and part of this is probably due to pressure from Firefox and Opera. VP8 will only accelerate this; a credible competitor to H.264 will encourage the H.264 patent holders to offer favorable licensing terms.

Is H.264 going away?

No. A lot of companies are committed to H.264, including Apple, and many devices (like the iPhone) include hardware-based H.264 decoders. Beyond that, H.264 is still the best codec on the market, so bandwidth-conscious businesses will continue to use it.

Where can I find a technical analysis of VP8?

Check out Jason Garrett-Glaser’s post, or skip to the TL;DR summary at the end if you’re lazy. Granted, as a lead developer on the open-source x264 project, he’s biased. But he’s a clear writer, and he really knows what he’s talking about. Just make sure you find a VP8-biased post to balance out his perspective. :)

What audio codec do I use with WebM/VP8?

Ogg Vorbis. Unlike Theora, which is quite a bit behind H.264 in quality, Vorbis is actually quite good as an audio codec. It’s competitive with MP3 and AAC.

How do I play VP8 video?

Download Chromium, Firefox, or another browser. Other players will pop up soon.

How do I add VP8 to my website?

Checkout our video.js project, an open-source universal video player. Video.js provides a single embed code for HTML5 video, Flash video, and iPhone and other mobile devices.

Tags: ,

  • http://topsy.com/trackback?utm_source=pingback&utm_campaign=L2&url=http://zencoder.com/encoder-blog/2010/05/19/vp8-webm-and-html5-video/ Tweets that mention VP8, WebM, and HTML5 video « Zencoder Blog — Topsy.com

    […] This post was mentioned on Twitter by news.yc Popular, Marc Parent, Mike Cane, Web Startup Group, Christopher Warren and others. Christopher Warren said: RT @zencoderinc: Zencoder announces support for #WebM and #VP8: http://zencoder.com/encoder-blog/2010/05/19/vp8-webm-and-html5-video […]

  • Aronymus Croward

    H.264 is better than VP8, but VP8 is better than MPEG-4? Come again?

  • Aronymus Croward

    H.264 is better than VP8, but VP8 is better than MPEG-4? Come again?

  • https://www.google.com/accounts/o8/id?id=AItOawm-7vebO42HvRnfV8uUFK3Dr8m0XoacZcU Manish Sinha

    Isn't the codec quality depend a lot on the encoder?

  • https://www.google.com/accounts/o8/id?id=AItOawm-7vebO42HvRnfV8uUFK3Dr8m0XoacZcU Manish Sinha

    Isn’t the codec quality depend a lot on the encoder?

  • http://zencoder.com Jon Dahl

    MPEG-4 specifies two video codecs: MPEG-4 Part 2, aka ASP (DivX and XviD are implementations of this codec) and MPEG-4 Part 10, aka AVC, aka H.264. When people refer to MPEG-4 Video, they're usually referring to Part 2, or ASP/XviD/XviD. So H.264/MPEG-4 Part 10/AVC > VP8 > MPEG-4 Part 2/DivX/XviD. Confusing, I know.

  • http://zencoder.com Jon Dahl

    MPEG-4 specifies two video codecs: MPEG-4 Part 2, aka ASP (DivX and XviD are implementations of this codec) and MPEG-4 Part 10, aka AVC, aka H.264. When people refer to MPEG-4 Video, they’re usually referring to Part 2, or ASP/DivX/XviD. So H.264/MPEG-4 Part 10/AVC > VP8 > MPEG-4 Part 2/DivX/XviD. Confusing, I know.

  • Witek

    I think it is. Theora and H264 we have good mature implementations. VP8 still lacks some obvious optimalisations and enhancments to the encoder. So we can assume that VP8 can be slightly better if they will be implemented. And becasue it is already better than Theora and comparable to H264 (but still not there), we can hope it will be very good in one or two years from know we community and industry support.

  • Witek

    I think it is. Theora and H264 we have good mature implementations. VP8 still lacks some obvious optimalisations and enhancments to the encoder. So we can assume that VP8 can be slightly better if they will be implemented. And becasue it is already better than Theora and comparable to H264 (but still not there), we can hope it will be very good in one or two years from know we community and industry support.

  • David

    A nice thing with VP8 is that it's also very dependent on the decoder, much more so than H.264. With H.264 you have to specify the quality at encoding time, so if you want video that runs smooth on a mobile phone but also looks good on a high-end computer you typically have to encode two videos, one with lesser quality for the phone and one with better quality for the computer. This takes time and resources.
    With VP8 you can encode one video and then use different quality in the decoding instead. So on the phone you would decode with lesser quality and gain some speed and on the computer you would decode with better quality for better video quality. This is also great for web usage!

  • David

    A nice thing with VP8 is that it’s also very dependent on the decoder, much more so than H.264. With H.264 you have to specify the quality at encoding time, so if you want video that runs smooth on a mobile phone but also looks good on a high-end computer you typically have to encode two videos, one with lesser quality for the phone and one with better quality for the computer. This takes time and resources.
    With VP8 you can encode one video and then use different quality in the decoding instead. So on the phone you would decode with lesser quality and gain some speed and on the computer you would decode with better quality for better video quality. This is also great for web usage!

  • http://zencoder.com/encoder-blog/2010/06/01/speedups-new-codecs-new-features/ Speedups, new codecs, new features « Zencoder Blog

    […] We added VP8 and Vorbis support to our platform two weeks ago, when Google launched the WebM project. […]

  • http://zencoder.com/encoder-blog/2010/08/20/welcome-flix-cloud-customers/ Welcome, Flix Cloud customers! « Zencoder Blog

    […] 2010, Google acquired On2, presumably for its VP8 codec (and others). Since then, Google has decided to stop offering the Flix Cloud […]

blog comments powered by Disqus