Chrome recently made the announcement that they will soon discontinue support for the H.264 video codec. While end users may not care, nor should they notice, to video producers this is significant, because supporting multiple codecs means higher costs and longer development. Chrome is no longer a fringe browser, with 15% of the global browser market share and gaining quickly on Firefox’s 31% and IE’s 47%. Android phones are also capturing the market at high rates and these phones use Chrome, and will undoubtedly follow suit and move away from H.264.
From the Google Chromium blog:
“Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies,” said Mike Jazayeri, Product Manager for Chrome.
And from Information Week:
The move is a direct challenge to Apple and Microsoft, which own some of the patent rights associated with H.264. Those rights are managed by MPEG LA, an intellectual property licensing organization.
Why is a video codec important? The codec handles the compression of video images. Without compression, and 5 minute video might be over a gigabyte in size, whereas compression will bring it down to maybe 5 megabytes, or a digestible size for viewing on the web. The speed in which the compressed data can be decoded is important as well – else your video would stall while the processor is working. And then there’s the consideration of how often it decompresses, since a one hour video should obviously not be read into memory all at once.
Video on the web has always been the Holy Grail. There have been huge advancements in recent years thanks to the efforts of Flash video and YouTube, but the field is still evolving rapidly. Now that video on the web can be done, the next step should be that it can be done cheaply, and without fear of patent infringement.
Supporting Multiple Codecs
I don’t like the H.264 monopoly, but I do like being able to render one video and through front-end magic make it work everywhere. In order to achieve “one video everywhere”, Flash is used in IE and Firefox… and it could be used in Chrome as well. However, BetterVideo has already found that the one-video solution doesn’t quite work anyway. Users want high quality video on the broadband home computers, and on their cell phones, they want the video to download and play fast, with minimal buffering.
Mobile, and the iPhone specifically, is controlling the future of video. Apple is heavily invested in H.264 and show no signs of budging. Flash will not help with the WebM transition. Adobe made an announcement that they will support WebM, but unfortunately, even if they come out with it tomorrow, we need to wait at least 9 months for adoption, and more realistically, 18 months for proper market saturation.
H.264 – Not all that
The H.264 is a video compression format that is widely supported amongst mobile devices, phones, Blu-ray Discs, DVD Players and several others. But it’s not like your Blu-ray video will play on your iPhone, much less your DVD player. Fact is, while H.264 is used seemingly everywhere, it does not mean the compatibility is built in. There are 3 “profiles” and 15 “levels” associated with the encoding of any H.264 video. Loosely interpreted, different combinations of profiles and levels are used for different devices and capabilities. One video does not play everywhere.
What about quality? H.264 on the web has its problems – most notably, its tendency to freeze and stutter. It’s somewhat known for it’s size versus quality ratio, but it’s hard to quantify this, because I can render a video with each to be the same size and both will look fine. H.264 gets a lot of hardware support from almost every device in which its supported. You could say that’s a good thing, but I call it being co-dependent and it ultimately breaks forward-compatibility. You can easily update software, but to update hardware you pretty much need to replace it.
But at least H.264 is free isn’t it? The MPEG LA Group guarantees that H.264 will remain free didn’t they? Well, they did guarantee that consumption of over the internet is free, but we still pay the licensing fees buried in our Blu-ray players, our game boxes, our computers, and our encoding software.
Choice is good
As web developers, we should know to be wary of proprietary technology. Internet Explorer’s dismissal of standards has made web authoring painful over the last decade. Adobe’s fears of users stealing their precious copyrighted fonts has left the web starkly designed with Arial and Times New Roman. Oracle is currently causing tremors in the Java community.
It’s important to know that Google is not damning H.264. They didn’t claim they are going with WebM because H.264 (or any proprietary technology) is bad – just that they believe in open source, including the WebM codec they invested heavily in. It will be hard to convert users/devs if they keep H.264 as a viable fallback.
There is already a lot of criticism of Google’s move in both the original blog comments and elsewhere. I should remind those critics that you didn’t choose H.264 – it was thrust upon you by corporate entities. I know developers wish for write-once run-everywhere, but if the browser wars taught us nothing else, it’s that this will never happen. The browsers still aren’t standardized – just try and do a simple background gradation with CSS3. But these repetitive tasks are a good thing – and why the web isn’t still dominated by IE 6, and is in effect, moving forward.
WebM and Litigation
There is an awful lot of buzz in the blogosphere that WebM is not safe from patent infringement and it’s inevitable that Google will face lawsuits. While lawsuits are inevitable, they won’t threaten WebM as a whole, and they will most likely be biting at its ankles. In my humble and not legally-educated opinion, I suggest not worrying about this. Google knew of this possibility before they paid for the underlying VP8 technology, and they of course knew about it before making the announcement to give it their full support in lieu of H.264. Besides, corporate lawsuits are common place and part of business. And the patent system is badly broken and becoming a mockery as evidenced by IBM recently applying for a patent to patent patents.
Don’t forget, WebM is open source. This means that infringing technology could be swapped out with new and better code by anyone, perhaps someone in your company. Or the code could be forked and other, more specific codecs can be written. The thing is, H.264 backed by the MPEG LA Group stands as good or a better chance of being sued out of existence than the Google-backed WebM open source project does (neither is likely). Besides being backed by the deep pockets of Google, WebM will be backed by the open source legal system, which can be quite ferocious. But it does beg the question: which do you want to side with? The code that is given to you free, or the code that you have to pay for and the profits used to prevent you from using that free code?
It’s easy to say “H.264 has the most support so that’s what we use”. But then we might want to think back to the Eolas debacle that crippled IE (and due to IE dominance at the time, crippled the web) which was based on a patent dispute. Open standards are important to the future of the web. What if a group owned the patent on HTML markup and tomorrow decided that everyone who reads or writes HTML will thereafter be charged a fee?
Conclusion
H.264 is still king, and we will continue to serve it as the primary codec for our customers. But we have to evolve along with technology and be poised and ready to make the inevitable transitions that come our way. Sometimes we need to bite the bullet and do what’s right, not what’s easy.
Tags: Chrome, Flash, Google, H.264, H264, HTML5 Video, video









[...] This is an excerpt from my article on BetterVideo: [...]