VP8 Video Codec Opened. Now What?
I haven't seen it hit the mainstream IT media yet but give it a few minutes... Google has released On2's VP8 video codec... both the source code and the specification. They have created a project named WebM that includes VP8, the Vorbis audio codec, and a container format based on a subset of the Matroska media container. To get it going, they have released patches to mplayer and ffmpeg that adds VP8 support. Gstreamer is listed as coming soon.
Haven't heard of VP8? Well I'm pretty sure you have heard of the Ogg Theora video codec, right? Theora is based on On2's VP3 codec. On2 continued to work on video codecs and came out with VP6, then VP7 and then VP8... each adding an additional layer of functionality to the previous codec. VP8 is said to be a high quality video codec that is highly compressed and streams well... comparable at a technology level with the proprietary H.264 codec.
The complaint had been that Theora, being based on VP3, was good BUT that it was not on par with H.264. Now that VP8 is open, we supposedly now have a free codec on par with H.264. The question that remains is... Now what?
What is coming
- We need free encoders that support VP8. As stated earlier, Google has released patches for mplayer and ffmpeg that add support for VP8. I assume that these patches will be accepted upstream and become part of mplayer and ffmpeg proper... and will be adopted by many other media libaries / projects.
- We need browsers to adopt VP8 playback. Firefox, Google Chrome, and Opera have promised to add VP8 support real soon now. Firefox already has a development build with VP8 playback support. I'm guessing Chrome and Opera do too but I haven't looked yet. I'm sure it is just a matter of time before browser updates happen and most everyone will be running a browser that can do VP8. Microsoft plans to add VP8 in addition to H.264. Apple and Safari? Over Steve Jobs' dead body I'm sure... since Apple is one of the creators and heavy backers of H.264 and the MPEG-LA.
- We need content providers to offer content in VP8. Will YouTube be doing this? What services will change? That remains to be seen... but I'm sure it is coming. I'll definitely put all of future content in VP8 once I can.
- We need mobile device makers to support VP8. I'm sure anything Google touches will include VP8 support if at all possible. During the keynote it was stated that Google is working on a reference hardware platform to share with partners. I'm sure software-only decoders will work on many existing mobile platforms that are on the higher resource end... like Android phones. Again, you can forget about the iPhone getting it.
Start the stop watch now. Click.
How long will it take all four of those elements to be widely deployed before VP8 is considered strong competition against H.264? Which will win? I don't know... and I don't necessarily think one has to "win"... as continuing competition is good for everyone. I'm guessing things will be greatly different one year from now.
Give it a try
While I don't really know of any online VP8 content you can try right now (unless you have one of the devel browsers and access to YouTube's HTML 5 Beta site), VP6 has been built into Flash since Flash version 8 was released. Adobe says they will be adding VP8 to a future version of Flash but until then, try some of the VP6 sample videos. Check out this demo page or the HD demo page.
Unlike many Flash videos, these play full screen without the horrible choppiness of most Flash videos... even with the Linux Flash player on my Atom-based netbook... even the 1280x533 1750Kbps version down sampling to fit on my 1024x600 display. To me that means that the decompresser / playback for VP8 requires minimal resources although I don't know well it'd do on a sub-1GHz machine. Anyone care to report?
Hmmm. I downloaded one of the VP6 1920x1080 .flv files and was able to play it fine with several of my video players (totem and dragon for example). Of course the playback speed was a bit choppy down sampling it to 1024x600 but it wasn't too bad. The audio was in sync with the video. I do want to point out that it looks like many of the existing players / codec libraries already do VP6... and VP8 is just supposed to be a more refined VP6. Of course the .webm format is going to be a bit different so that'll take some additional work. Oddly mplayer could play the audio but not the video.