Voice and video communications over IP have become ubiquitous over the last decade, pervasive across desktop apps, mobile apps, IP phones, video conferencing endpoints, and more. One big barrier remains: users can’t collaborate directly from their web browser without downloading cumbersome plugins for different applications. WebRTC – a set of extensions to HTML5 – can change that and enable collaboration from any browser. However, one of the major stumbling blocks in adoption of this technology is a common codec for real-time video.
The Internet Engineering Task Force (IETF) and World Wide Web Consortium (W3C) have been working jointly to standardize on the right video codec for WebRTC. Cisco and many others have been strong proponents of the H.264 industry standard codec. In support of this, almost a year ago Cisco announced that we would be open sourcing our H.264 codec and providing the source code, as well as a binary module that can be downloaded for free from the Internet. Perhaps most importantly, we announced that we would not pass on our MPEG-LA licensing costs for this binary module, making it effectively free for applications to download the module and communicate with the millions of other H.264 devices. At that time, Mozilla announced its plans to add H.264 support to Firefox using OpenH264.
Since then, we’ve made enormous progress in delivering on that promise. We open sourced the code, set up a community and website to maintain it, delivered improvements and fixes, published the binary module, and have made it available to all. This code has attracted a community of developers that helped improve the software and use it in their projects; over 200 people outside of Cisco are actively working with the code, and many others have freely made copies. The code has also found its way into other products. For example, Ericsson recently open sourced their WebRTC implementation, which utilizes OpenH264 code.
According to Stefan Håkansson from Ericsson, “We’re really happy about Cisco’s open sourcing of OpenH264 as it makes it easier for implementations to support the H.264 industry standard video codec. We’re using OpenH264 ourselves in our open source WebRTC implementation “OpenWebRTC”, and the GStreamer community has in turn adopted our OpenH264 plugin – it is really nice to see how the communities work together to enable the use of H.264.”
I’m pleased to announce that our work has come to full completion with today’s latest release of Firefox, which will automatically download and use Cisco’s OpenH264 binary module. To realize this, Cisco has been working closely with Mozilla over the past months. Mozilla has been a fantastic partner to work with, helping make improvements and bug fixes on the path to bringing this capability to millions of Firefox users.
“Cisco is an invaluable partner for Mozilla. Together we are helping to lead the industry toward interoperable video on the Web,” said Andreas Gal, Mozilla Chief Technology Officer. “Cisco’s contribution and distribution of OpenH264 enables Internet-connected devices to use the most common video format without royalty payments. This is a victory for the Open Web and hundreds of millions of Firefox users will enjoy the benefits of cross-platform WebRTC-enabled applications.”
I’m also pleased to announce that Cisco and Mozilla worked together to add screen-sharing APIs to utilize H.264. This critical capability will open the door for standards-based interoperability with the vast amounts of existing products that already utilize H.264 for content sharing in meetings.
The topic of a standardized codec will once again be addressed by the IETF in its November meeting. It is our hope that announcements like the one today will increase adoption and help pave the way for a decision, enabling the industry to move ahead with complete voice and video capabilities from any browser, on any device.
congratulations for your work with Mozilla and Ericsson. Although. Its good to see a free (as in beer not as in freedom) H.264 codec that anybody can use and Cisco pays the bill. This will certainly help achieve inter-operable collaboration with many other systems that use H.264.
So , while this is much needed and a step in the right direction – and I certainly appreciate Cisco for doing this – , I have a burning question:
Why is Cisco standing behind the evil MPEG-LA that has tried to create a patent pool in the past, and prevent innovation for the whole world. A codec or an algorithm should not be patentable. It is clear that the patent laws are too old, and should not apply to software and the internet era.
Instead of supporting H.264 and paying the MPEG-LA licences for the community, why is Cisco not embracing a truly royalty-free codec like VP8 or VP9?
That would be the real good thing to do.
That’s not to diminish the real point of your post and your achievement: Congratulations for your advances with Firefox and Ericsson.
But MPEG-LA should stop the BS and release all the patents to the public domain.
I just went through your previous post “No Consensus at IETF” where you kind of answer my question and explain why Cisco supports H.264 over VP8. I watched the whole recording of your presentation, it was really good.
Of all the reasons you state, I think the most critical one is the first one : The huge H.264 installed base. And the other reasons also make sense, but should improve over time as VP8 use would grow.
Still I think that pushing for the standardization of a royalty-needing codec is not a good thing in the end. MPEG-LA should free H.264 like Google did with VP8
That is great, but for the decision to take on the codec I was wondering: why not just make both H.264 and VP8 required by implementations?
Lorenzo – the IETF looked at this option, and very few were in support of it. It ends up being the worst of both worlds for both sides of the fence.
So, I understand there’s no real “technical” reason against this solution… is it so?
Problem: binary plugins
Solution: binary modules
???
As a user of open source browsers, I’m not very excited about the idea of my browser automatically downloading binary modules from third party websites.
I was wondering… OpenH264 in Firefox will support the tag in the future?
In the last message is video tag not the tag.
I don’t know about you guys but I LOVE this plugin, now my computer doesn’t even freeze a bit, as it does with any flash player plugin. Love you Cisco for letting me enjoy internet browsing again.