Google, H.264 and Video on the Web
Yesterday, Google set the modern web design & development world on edge by announcing that they are dropping support for H.264 from Chrome. I’ll next elaborate on what H.264 is; if you’re well familiar with the details already, skip to the heading “What this means.”
H.264, for the uninitiated, is one of three main web video codec standards (technology used to compress video to make it usable on the Internet), the other two being Ogg/Theora and Google’s own initiative, the brand-new WebM. Unlike the latter two, H.264 is not “open” in that it is patent-encumbered and comes with licensing fees depending on how you distribute it. If you’re any bit serious about distributing video on the Web using the H.264 codec, you’ll likely have to pay some fees.
The organization you pay those fees to is MPEG LA, and represents a huge pool of companies that all contributed technologies, innovations and patents (or patent rights) to make H.264 a video codec standard. All the fees you pay to MPEG LA get distributed amongst all those companies, based on how much they contributed respectively to the codec. All in all, a messy, entangled situation, one which your average video-enthusiastic individual really doesn’t want to get involved in.
Contrast that to “free” web video codecs like Ogg/Theora and WebM whereby the video-enthusiast doesn’t have to worry about a thing… so far. There are lingering concerns—mostly among bigger companies—that the MPEG LA/H.264 license pool of companies will go after someone making a good chunk of money using Ogg/Theora or WebM. Until we see Google stating on the record that they will shield any company using WebM from patent litigation, this concern remains valid to some extent.
What this means
So what does this mean for you? The answer obviously depends on what you are: are you only a web video consumer, or (also) a web video producer? In the first case, you’ll be affected if you browse the web using Chrome as your browser. Thus far, Google has not said that they are removing H.264 support from the Android platform, so this move will only affect Chrome users on desktop computers. Will it affect the newly-released ChromeOS netbook (prototype) that has started shipping to some people last month? Who knows. As for how your browsing experience will be affected remains to be seen, but it’s not going to be better.
Now if you’re a web video producer, this move affects you mostly depending on how ideological you are. For the sake of argument, we’ll assume that you have a need to serve video to as many visitors as feasibly possible, e.g. you work for or run a company that doesn’t plan to tell its customers “Screw you, no video for you!” just because they don’t align with you ideologically. This means having to support:
- Mobile devices, mostly iOS and Android based ones but probably also Blackberry, webOS and perhaps even Symbian
- Modern desktop browsers that have HTML5 Video support
- Older desktop browsers that don’t have HTML5 Video
This table shows you which of those support which video codecs once Google drops this change into Chrome:
- Note that the desktop browsers listed are the latest releases of each, with Desktop Chrome’s adjusted to represent their announced version wherein H.264 is dropped.
- Pre-HTML5 Video support versions of each browser have the H.264-via-Flash fallback support in all cases, and some also support Ogg/Theora.
- Flash is expected to support the WebM codec the same way it currently supports H.264, but it is a huge unknown when that support will actually ship.
- Android supports WebM as per 2.3, but it’s a software renderer, not a hardware decoder. This has huge repercussions on battery life, hence the “(no HW)” value for it.
So the question to you is: in which codec(s) should you encode your video for the web? Well, that brings us back to how ideological you are. If not very ideological, or if you are too constrained by time, storage and/or money, H.264 allows you to support all devices and browsers with a single encoding. If you charge your visitors for the videos, you’ll have to pay royalty fines, but if you offer the video for free you won’t have to worry about that, ever. Ever? Yes, ever.
However, say you are (quite) ideological, and so you don’t want to force Firefox, Opera and future-Chrome users to use Flash instead of cool native HTML5 Video. In that case, you can choose to encode in either Ogg/Theora or WebM. The main problem with Ogg/Theora: that codec alone will exclude the entire mobile market, as well as IE (and Safari). The main problem with WebM: support for it is extremely minimal right now and for the short-term future as it was only released 8 months ago, and it doesn’t have any hardware decoders in shipping devices (nor in any of the >300 million devices in consumers’ hands already). Those WebM hardware decoders are currently being developed and tested and will be available sometime in Q1 2011, meaning the first consumer devices with these HW decoders will not ship any earlier than Q2 2011. By that time, there will be somewhere upwards of 350 million devices in consumer hands around the world that all have a hardware H.264 decoder in them, offering great video playback performance.
So, this means that if you want to properly support the mobile market and offer them usable, hardware-accelerated video, you will have to use H.264 on top of your ideologically preferred codec. Same if you currently want to support IE in any realistic way.
Furthermore, while WebM is supposed to be patent-free, that has yet to be proven. Google has not made an official statement that it will shield companies from being sued over using WebM, so if you choose to use it and it turns out that WebM does violate some patents somehow, you’re on your own. Good luck.
What this means, other side of the coin
Why did Google make this announcement? Their stated reason is for the sake of “openness” on the web, but that’s a ridiculous claim because they embed the not-open-at-all Flash player inside the browser, and will continue to do so. If openness was such a hugely important thing for them, they never would have embedded Flash in the first place.
It also is not beneficial to its users (directly), because neither WebM nor Ogg/Theora offer a better experience than H.264 and even if they did, how does taking a support feature away help users? It just creates the risk they might encounter some video on the Web that they won’t be able to play back. So this move is directly harmful to consumers, albeit with a small risk.
What does Google have to gain from dropping H.264? Nothing at face value; it’s all to do with preventing H.264 from becoming the de facto standard for “Video on the Web”, not realizing that it already is. Perhaps Google made this move to try and dethrone H.264, but to that end, I have but one question:
Why do it in a way that hurts your users when time itself would sort that out automatically?
I have no vested interest in H.264 at all, and would be perfectly happy to see WebM become the open standard (or codec) for video on the web, but the thing is: not right now. Time will take care of this by itself when hardware decoders for WebM are found in millions of devices and Flash has added support for the WebM codec. Google’s move might put some pressure on this, but I sincerely doubt that pressure was needed: Adobe, Google and the manufacturers all have an interest in a royalty-free video codec and hardware decoders in devices for it. Taking H.264 out of Chrome will hardly speed up that process, if at all, so the only thing I can imagine that they wanted to (and might) accomplish with this move is this: to encourage web video producers to start encoding in WebM today, rather than tomorrow.
If that’s really why they did it, and that’s all it is, then harming users in the process is a poor decision in my opinion. Especially since that very same goal could have been accomplished with just a little waiting.
As a side note, it would be great if MPEG LA would simply open up the licensing terms for H.264 and make it royalty-free forever for 1: browsers to implement it, and 2: people on the Internet to produce & sell video with it. They could still charge license fees for camera manufacturers and software producers that deal with video production, e.g. Final Cut Pro. I’m undecided on manufacturers and H.264 hardware decoder chips. Either way, by opening up H.264 this way, MPEG LA would lose out on some royalties and license fee incomes in the short term, but they would almost guarantee the long-term usefulness of H.264 from which they would at least have some lifetime income. As it is today, H.264 is bound to one day be supplanted by WebM, perhaps after a many-years-long litigation process and some huge settlements, but ultimately it is doomed to die unless they adapt it to be compatible with the spirit of the Web.
And on a closing note: since I haven’t yet re-added commenting to my own site, I have also posted this to Hacker News for discussion there. I’d love to hear people’s thoughts on this.