In case anyone missed the news this morning, at Google’s developers conference they announced the long awaited and suspected open sourcing of the VP8 video codec. In a quick follow-up, Adobe announced the release of a new add-on kit for Dreamweaver CS5 supporting the new(ish) HTML5 tags and utilising VP8 as the video codec of choice for the new <video> tag.
What does this mean for us?
The HTML5 video landscape is a complicated one that has been causing a fair amount of confusion over the last few months. Basically what we are seeing are the biggest, most important tech companies of the time squaring off against each other over the argument of video codecs, and the whole mess exists because the standards committee do not specify a codec that must be used for interoperability in the standard itself.
There are four key players in this drama and they are the usual suspects, Apple, Microsoft and Google, joined by the Mozilla foundation. Combined they represent a massive majority of the browser traffic on the web through their four key browser products. Safari, Internet Explorer, Google Chrome and Firefox.
These browsers are all split in which video codecs they are going to (or already do) support for the video tag in HTML5. Apple and Microsoft have joined forces and both Safari and Internet Explorer support the H.264 codec exclusively, much to the consternation of many developers and interest groups. H.264 is, although a great codec, heavily patent encumbered which has financial consequences for anyone wishing to work with the codec. As many have correctly pointed out, this introduces a potentially insurmountable barrier of entry for many developers and companies who are unable, or unwilling, to pay licence fees required.
Just what licence fees are required and who has to pay them is another scarily murky area. It’s well known that both Apple and Microsoft are paying heavy licence fees for the right to use the codec in their browsers, but what of developers and content producers? Are they required to pay a licence fee to use the codec? Opinion is divided on this topic.
In response to this, Mozilla spoke out against the codec and has refused to add support for it into their Firefox browser (though support is being added for non-patent encumbered countries via the Wildfox fork). Instead, the Firefox browser supports the open source Ogg Theora codec.
Apple has, quite famously,claimed that Ogg Theora is breaching several patents and issued a statement around Ogg Theora, claiming that a “pool of patents” is being drawn together to “go after” Ogg Theora. Whether or not they will personally be involved in this attack is not clear.
Google appears to be taking advantage of the chaos to push uptake of their Chrome browser by taking the sensible route (someone had to) and supporting both codecs. As well as this, they have now opened VP8 codec as previously mentioned, offering an alternative to both H.264 and Ogg Theora that is guaranteed protection from patent attacks. (At least, until someone attempts to claim that it too violates H.264’s patents).
So what we have is a fractured landscape, now containing three separate codecs. At this point, from the user’s point of view, Google Chrome has to be the logical choice as it will support all three codecs and thus you wont consistently come across sites whose video you are unable to view. Given that Mozilla’s stated reason for boycotting H.264 is to “avoid helping uptake and de-facto standardisation of a patent encumbered codec”, it will be interested to see if they write support for VP8 into the Firefox browser.
What this means for developers is more complicated. By offering a truly free and patent unencumbered codec Google has taken a big step towards standardising the platform and providing a web-video solution that could truly cross all browsers. Unfortunately for that to work, all of the other browsers will have to come to the party and support VP8 in their own browsers, and in the short term this seems unlikely. Apple in particular seem devoted to the H.264 codec and will likely fight any solution that seeks to minimise its use. The fact that they have been visibly antagonistic towards Google over the last few months is unlikely to help matters.
So unfortunately, the best choice for developers in the current situation is probably H.264. It is supported currently by all major browsers except for Firefox as a straight HTML5 video tag. For firefox users, we’re back to where we were years ago, writing pages that display different content for different browsers. H.264 is also one of the codecs supported natively by Flash, so a solution that wont require keeping two different encoded version of each document is to embed a flash player in the page when the browser is detected as Firefox.
What we’ll have then is a page that can be viewed on all browsers except Firefox on HTML5 (including iPhone and iPad browsers), and viewed using a flash player plugin on Firefox.
For the near future that seems to be the best option. It does leave the question of content creator licensing open and it certainly isn’t optimal, but barring an unusual act of respect for developers and open standards on the part of Apple, it is likely to be the situation we are stuck with for some time.