Daily Archives: May 19, 2010

Google open-sources VP8 & choses Matroska

Today Google announced something that’s great on many levels: for the OpenSource community in general, for Matroska in particular, even for every internet user. First they’re open-sourcing the VP8 video codec they’ve acquired recently as part of the WebM project. VP8 is said to achieve similar encoding efficiency as the AVC/h.264 video codec while keeping quality on a comparable level. Not only are they open-sourcing it, they’re also making sure that you can use it any way you want without ever having to pay royalties or acquire licenses. It’s free in each and every sense of the word.

Second they’ve chosen Matroska format as the basis for the WebM file format as the native container for VP8 video tracks. WebM files are nothing but a stricter version of the Matroska container with fewer features and a fixed set of codecs — VP8 as the video codec and the well-known OpenSource audio codec Vorbis. Google and On2, creators of VP8, have worked behind the scenes with the Matroska developers (myself included) in order to create a specification that is easy to implement for everyone. The goal is to create a free standard for movie content that’s as easy to use for end-users as JPEGs or PNGs are when it comes to pictures. That’s where the limitations come from.

What’s even better is that Google has worked with the teams behind the web browsers Chrome/Chromium, Firefox and Opera. All three teams stand firmly behind the new format and have already integrated playback capabilities into preview versions of their respective browsers. As for content Google has started streaming Web Media files on YouTube with its HTML5 interface.

In a future post I’ll dive deeper into the technical differences between Matroska and WebM files. Suffice to say for now that they’re so few that adjusting existing playback software so that they can play Web Media files is done in a few hours tops. I’ve already created a build of MKVToolNix that supports Web Media files — both as input files and as output files (source code only for now for Linux/Mac/BSD users). If you want to create a Web Media file either add the command line parameter “--webm” anywhere or simply use “.webm” as the file name’s extension of your output file.