The history of HTML5 video is a convoluted one; and while it was championed as the “Flash-killer” it’s hard to see how web video hasn’t failed to achieve what it was supposed to. For the open web to be successful each component of it has to be open, such that anyone adhering to the open web standards can do so for free and in an open manner.
High quality audio is already possible royalty free with Vorbis, and FLAC. Video however is more complex, and there are few royalty free formats of video.
Theora was such a format, it is an open royalty-free video format that can be used by anyway; however its quality is lacklustre compared to H.264. Furthermore, Microsoft and Apple refused to implement support for it in their browser despite it being free. Instead they support H.264, a heavily patented video format, which — big surprise — they have patents for. They both have a stake in H.264 and sacrificed the open royalty-free nature of the web in order to push a format from which they have to gain.
VP8 / WebM was another such format. Google bought On2, and released their VP8 video codec, which was a better competitor to H.264, but still a little behind it. Now there are two open royalty-free video formats, and neither Apple nor Microsoft support them in their browsers. Internet Explorer 9 can, however, support WebM / VP8 if codecs for it are installed; and Safari similarly can support it if the proper plug-in for QuickTime is installed. Of course having to install a plug-in to play web standard video defeats the point.
Mozilla till now has maintained its stance for not including support for the heavily patented H.264 video format in Firefox since it flies against the whole open web philosophy. It seems they have finally had to bite the bullet and will be including support for H.264 playback, at least on mobile. It will do so by using the system-installed codecs rather than shipping a codec bundled with the browser.
Mozilla’s Brendan Eich gives an interesting reasoning for this decision, which makes sense. A number of factors have played a part such as:
- Google claimed they would drop support for H.264 in Chrome over a year ago. They have yet to follow through. While they claimed to be doing this to promote and open web, they never mentioned any plans to remove MP3 or AAC support from Chrome.
- Even Google’s own YouTube doesn’t offer all its content in WebM yet. Content with ads cannot be played without Flash Player, and is thus always in H.264.
- Adobe too declared they would support VP8 in a future version of Flash Player. Since then Flash Player 10.1, 10.2, 10.3, 11, and 11.1 have been released, but this feature has yet to materialize. Furthermore, Adobe’s roadmap for Flash Player does not seem to include this either.
- There is no real support for hardware-acceleration for WebM playback yet. While this might still be OK on desktops, on mobiles it will not do.
- Users already play back H.264 video in Firefox using Flash Player, and Mozilla already relies on this so people can watch their videos.
So why the change now? Well, Adobe dropped support for the mobile version of their Flash Player, which means Firefox on Mobile no longer has a fallback for playing H.264 video. In order for Firefox to remain competitive and offer people access to the web as it exists right now, Mozilla will add support for H.264 video in Firefox. This support however, extends only as far as to use the codecs installed on the system to play back video. Firefox will itself not include a decoder.
Mozilla is also creating its own mobile OS, Boot2Gecko, which doesn’t stand much of a chance to compete against the other mobile devices if it doesn’t support playing back the most popular video format on the internet today.
It is unfortunate that Mozilla one the the few remaining champions for the open web have to resort to this, but in the end it they have to be pragmatic in order to survive, and these are just the facts of the web.