H.264 video is now (slightly more) royalty free
Thursday, 2 September 2010
Last week the MPEG-LA announced that it will not charge any royalties for streaming H.264 encoded video in the future. That does change much from the current situation. A couple of years ago the MPEG-LA already promised it would not change for streaming H.264 video until December 2011 and earlier this year this was extended to December 2015. Now they removed that deadline altogether, making H.264 “royalty free”.
At least, that is what several websites concluded. Some even predicted that Mozilla and Opera would soon implement H.264, that it would become the default codec for HTML5 and that WebM was doomed. Well, things are not that simple…
All aspects of H.264 video are covered by the patent pool of the MPEG-LA. If you want to create video, your encoder needs to be licensed. If you want to play video, your decoder needs to be licensed. But it goes further than just the software you use. The actual encoded video you create is also ‘protected’ by patents. Let’s say you are a commercial wedding videographer and only use fully licensed software, you’ll still need to pay the MPEG-LA for every disk you burn. All aspects of H.264 video are covered and require you to pay royalties. All aspects with the exception of streaming H.264 video on the web, but only when you provide the video free of charge. That is hardly royalty free.
It is still great news though. A lot of the financial uncertainty about using H.264 on the web has been resolved by this license grant. And most people use licensed encoders and decoders anyway, right? Maybe. Right now I can make my own video in iMovie, export it to my own website and pretty much anybody can view that video. H.264 video can be played using Flash, Quicktime, Silverlight or in some browsers using native HTML5 video support. All without me having to deal with the MPEG-LA and worrying about paying royalties.
It doesn’t solve the problem that Mozilla and Opera have with H.264 as the default HTML5 video codec. If a browser needs to be able to play video natively, it needs a decoder, which needs to be licensed from the MPEG-LA. That may not be a problem for Microsoft, Google and Apple. They already have a license and adding H.264 to their browsers won’t cost them a dime. Mozilla and Opera are not so lucky – they will have to pay millions to get a license. And the problem is even more complicated for Mozilla, because their browser is open-source and they need to be able to sublicense the H.264 patents to any user of their source code. That is simply not something that the MPEG-LA is going to allow.
There is a way around this though. Both Mozilla and Opera could simply use the media framework provided by the operating system to decode the video. Both Microsoft and Apple have licensed H.264 for use in their media frameworks allowing all applications on that system to decode and encode H.264 video. As long as an application uses that framework it doesn’t have to pay royalties – Microsoft and Apple already paid for them. It doesn’t matter that Mozilla and Opera are companies, or whether or not the browser and videos are used commercially, both are allowed by the license granted to Apple and Microsoft. Only things like commercially distributing video created with the frameworks are not covered by the license. That is the reason why the videographer mentioned above still needs to pay for each copy he distributes, even if he used fully licensed software.
That only leaves Linux users. As far as I know there are no Linux distributions with a properly licensed H.264 decoder. If you want to play H.264 you’ll either need to buy a closed-source binary codec from Fluendo or install an ‘illegal’ decoder. Opera and Mozilla could just ignore this problem and simply let the user worry about this. If a decoder is provided by the operating system, it can use it whether or not it is properly licensed. It’s not their responsibility to ensure that users have properly licensed all the software on their systems.
But that is not how Mozilla and Opera feel about this. They won’t support H.264 just because the MPEG-LA made H.264 slightly more royalty-free. And even though Google does support H.264 in their own browser, they created and actively promote the WebM standard as an alternative together with Mozilla and Opera. WebM is both open and completely royalty-free.
Let’s be clear about this. This isn’t about technology, it isn’t about quality and not even about money. It’s purely political. It’s about promoting a standard that is available to everybody and doesn’t leave anybody behind. Definitely a nobel goal, but I do worry about the outcome of this ‘battle’. It’s an uphill fight against the upcoming onslaught of Internet Explorer 9 and the ubiquitous devices like the iPhone, iPod and iPad.
The current situation is simply not good enough. Right now there are two formats and if you want to reach all devices and browsers with native HTML5 video you’ll need to encode your video in two formats of which one is not royalty-free. That is not an advantage over having to encode your video only once in a format that is not royalty-free. That is only more work and more storage space.
I am afraid that Apple already made their choice and is not going to switch sides even if the W3C decides that WebM will be the default codec for HTML5. Microsoft might change sides, but not Apple. They simply don’t care enough about an open video standard. They care about delivering great products and H.264 seems to work for them. They don’t need to change, everybody will still support their devices.
Unlike Apple and Microsoft, Google most probably does have to pay for the decoder in their browser, since they never paid decoder royalties before.
Well, YouTube does use h.264, although in that case the h.264 decoder is provided by Flash.
But then again, that’s another potential (licensed!) source for the codec on Linux. Nearly all web users have Flash installed, and there’s no particular reason why a browser can’t use Flash’s decoder as a fallback. In the worst case, just wrap it with a flash video player.
Regarding Linux, I don’t think using Flash is a good idea, since one of the reasons for the video tag is to eliminate Flash in that context. Why not just use VLC? Or is VLC illegal?
I hope the H.264 stuff can be resolved or that Microsoft switches sides because there current strategy is to support WebM, but only if the user installs the codec themselves. I don’t want to have to install additonal stuff to get everything working – it should just work out of the box (wasn’t this the point of HTML5?). Especially since I overall like IE the best (the renderer is my only issue with it, and it’s minor since I don’t visit that many sites using HTML5 and CSS3, and for those I have Chrome; this will hopefully be fixed in IE9 anyways, though IE9′s horrifically small space for tabs might just make me switch anyways).