Cisco Pulls a Rabbit out of its WebRTC Hat
Pigs must be flying because H.264 is free.
What? No pigs flying? Hmmm – maybe this isn’t free.
Cisco, in a bold attempt to end the WebRTC codec debate, has done the impossible. Cisco is offering an Open H.264 for free. Rowan Trollope posted on the Cisco Blog:
We plan to open-source our H.264 codec, and to provide it as a binary module that can be downloaded for free from the Internet. Cisco will not pass on our MPEG LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use in WebRTC.
In the big debate, Cisco along with many video incumbents, has been on the side of H.264. Cisco supports H.264 in all of its video devices. Google wants the Internet to transition to VP8, a codec it acquired and offered as a freely available open source solution.
The benefit to H.264 is its tried and true, and broadly licensed in the video gear that powers the Internet. The benefit of VP8 is it is comparable in quality and totally free. Cisco is attempting to make H.264 free by offering to pay for it.
It won’t cost that much either – evidently, the MPEG LA licensing agreement for H.264 has a cap on it – I’ve heard $5 million. Cisco isn’t far from that cap now, so it’s exposure isn’t significant. This begs the question: why didn’t Cisco offer this years ago?
Most of the video industry uses H.264, so a change will be disruptive. Hardware has been optimized to work with H.264. A switch to VP8 will decrease the value of the installed base. Since Jonathan Rosenberg, CTO of Cisco, prides himself on disruption of the communications industry, I asked him why he was backing H.264 over VP8. His response was “WebRTC needs to work on the Internet as it is today, not the Internet as we wish it to be.”
I think the debate was slightly favoring H.264 before, so this will probably put an end to it – as soon as next week . I’ve been partial to VP8, I believe video is about to explode and making it freely available to any app developer will increase the explosion. Cisco’s offer is close, but not the same thing as a freely available codec. For example, the codec has to be downloaded from Cisco. A product that wants to use the codec can’t include the Cisco code and distribute it per the licensing rules.
Downloading a codec is what we industry professionals call a plugin, and the promise of WebRTC was to be free of plugins. Not everyone will have to download it. Microsoft, for example, also a proponent of using H.264 already licenses the codec. Presumably, IE can use the Microsoft version. That’s why Cisco also had to open source it – to ensure compatibility. If it gets approved, Google will have the difficult choice of licensing H.264 from MPEG LA for Chrome, using the free version from Cisco (plugin), or insist on VP8. The vast majority of today’s WebRTC developers are using Chrome.
The IETF folks that decide things like this include heavy representation from the incumbent video players.
Microsoft may determine that it’s also near the $5 million cap and may offer the world its own H.264 free download. Microsoft and Cisco sometimes like to measure the size of their “contributions.” IBM might have an opinion on this too. In other words, this approach to settling the dispute could cement a future of H.264 plugins – but only by firms that already spend close to $5 million in licensing.
Cisco’s strategy is being received quite positively. Google hasn’t formally responded, and Mozilla said “we will add support for Cisco’s OpenH.264 binary modules to Firefox soon.”
I keep hearing two concerns. Can Cisco stop paying for it after the standard is approved, and can MPEG LA change its terms because it wants more money? I think both of these are minimal risks. Cisco wants H.264, it won’t cost them much, and the patents will eventually expire. MPEG LA is a consortium that includes many of its customers as owners. They can’t make quick changes to their license agreements that would impact all of their big customers. Besides, MPEG LA will get more money from this, especially if other firms follow suit.
There was never any assurance VP8 would remain free.
The good news is that WebRTC will now be able to move forward. Open source fans will be disappointed, but they should be used to that.
VP8 won’t go away – Google is committed to it. I don’t know if Google licenses H.264 or not, but probably not – so saving $5 million annually will help offset the hundreds of millions its dropped on VP8.
Hi Dave, Thank you for the informative article. I personally have been building webrtc apps here and there and never worried about codecs and things so I learned alot from this article! I’ve built a multiparty video chat site (https://OpenTokRTC.com) and it seems to me that with H264 support will enable webrtc to perform much better on mobile devices, so I’m very happy with what cisco is doing.
Thanks Song. You hit a core issue: the trade-off is installed base compatibility vs. openness and a royalty free environment for innovation. My issue with the installed base is I don’t think it matters. I think video tomorrow will dwarf video today. Smartphones have a 2 year lifespan. Room systems are already in decline and can be maintained with gateways.
We all know that if Mokia (Microsoft/Nokia) wouldn’t be sueing over patents and some of the other players were not part of the MPEG-LA VP8 would already have been adopted and included with all the software.
I’m not so sure the whole hardware support story really holds up.
So far there have been many, many problems trying to get the hardware acceleration working. I’m not so sure they’ll ever get it working.
The hardware has basic support for encoding/decoding, but not all hardware support dynamically changing bitrates (or whatever the proper term is) that is needed for WebRTC to avoid congestion or to ramp it back up again to get a better quality.
And it all needs to be properly supported in all parts of the stack, hardware, hardware firmware drivers, OS layers and APIs, which it currently isn’t.
I hear there is not even 1 toplevel generic API even on Android.
I don’t think the question is “Why didn’t Cisco offer this years ago?” but rather “Why don’t all the members of the MPEG LA licensing pool agree to get with the times and make this 10-year old codec Royalty Free so it really can be pervasive across the Internet”? Instead they have been sitting there and hoping for more fees (with some of them still suing Google over VP8) while Google has spent hundreds of millions of dollars trying to get a completely royalty free video codec for the open web (VP8 and VP9). Cisco is doing something admirable here, but its still a kludge with binaries vs source code due to one thing – the constraints of MPEG LA licensing. Even Cullen Jennings at Cisco commented in IETF chats (e.g. see http://bit.ly/16TJ5R1) that the amount of money they get back from MPEG LA is minimal compared with everything else and the opportunity. So let’s be clear who the bad guys are.
That’s an excellent point, thanks Lawrence.