Huge news in WebRTC/Video: Cisco open-sources, gives away free H.264
October 30, 2013 1 Comment
Cisco H.264 is open source and free
Just head of the November IETF meeting where the decision on which codec should be mandatory to implement in WebRTC, Cisco Systems’ Rowan Trollope has announced that Cisco will “provide an open source distribution of H.264 and do so while not passing on licensing costs to other parties” which opens up the ability for browser manufacturers to embed Cisco’s own H.264 code into their WebRTC browser stacks free of charge.
(There has been some work to show the true costs of H.264 licensing, and suffice to say, it has not been free up to this point. Estimates pin the cost to implement it in browsers for realtime communications at around $0.10 per browser. )
What this means?
This essentially means that the way is cleared for the IETF to choose Cisco’s open source H.264 codec as “the standard” for HTML5 based native browser real time vide communications. The main pushback against choosing H.264 as the standard, and rather picking Google’s VP8 has come from those who have issues with licensing cost. Now a non-issue.
What this means for you is that the HTML5 real-time video codec likely to land in your favorite browser will be able to talk natively to the vast majority of other video, telepresence systems, surveillance systems and more in existence today, including those of Cisco… No plugins required.
What that means is that there is no longer an unfair advantage for thick apps like Skype. If Facebook.com or Salesforce.com can do as good a live real-time bi-directional video stream as Skype, why bother fire up Skype when all it has in addition is a contact list… whereas Facebook has your social graph and Salesforce has all your sales data?
In fairness, this still needs to be voted on by the IETF, which will likely happen by November 8th.
Currently there are two competing standards for the must implement video codec: H.264 and VP8
If H.264 is made mandatory:
- Users of web browsers will be able to interoperate natively with existing h.264 capable devices’ video streams.
- Hardware acceleration of H.264 in graphics chipsets can be leveraged to improve quality and battery life
- Browser makers may need to secure H.264 licenses to implement the codec, but they would know they are legally compliant
The big news here is that the third bullet of this list is now gone and is not a factor, which is HUGE news.
If only VP8 is mandatory:
- WebRTC will not directly interoperate with just about any of the existing video clients and hardware that existing video providers and other telecomm companies make (which are based on H.264)
- Transcoders will need to be deployed at cost and cause more complexity and hairpinning
- Google is giving VP8 away for free to all including browser makaers
- There are still some potential outstanding patent disputes (notably from Nokia) against VP8, leaving browser makers open to potential legal action
But which one is “better”?
This is the heart of the conversation. The proponents of VP8 claim better performance of up to 10%, whereas proponents of H.264 show better results in their tests. Baselines and compression parameters will be tweaked by both… but I think on average performance of both will ultimately be similar enough to make this a wash. Whats more material is interoperability and licensing.
It is in the best interest of almost every single existing video user out there that H.264 be a MTI codec in this standard. Google’s own webrtc.org site doesnt even mention it. (They are pushing VP8)
What about iOS support?
If you read the FAQ on the Cisco open264.org site you’ll notice that iOS is explicitly omitted since Apple does not allow code to be installed at runtime. A few have panicked at this, but its highly likely that if H.264 is standardized upon for WebRTC that Apple will simply use their existing H.264 libraries which are used in FaceTime and light up the functionality in Safari anyway. In fact its likely then that Safari will be the only .264 browser on iOS thats actually hardware accelerated (Apple does not allow any other companies access to H.264 hardware acceleration on the platforms)
Jonathan Rosenberg’s Email to the IETF WebRTC working group mailer:
I’d like to make an announcement material to the conversations around MTI video codecs in rtcweb.
Cisco is announcing today that we will take our H.264 implementation, and open source it under BSD license terms. Development and maintenance will be overseen by a board from industry and the open source community. Furthermore, we will provide a binary form suitable for inclusion in applications across a number of different operating systems (Windows, MacOS, Linux x86, Linux ARM and Android ARM), and make this binary module available for download from the Internet. We 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 on supported platforms.
We believe that this contribution to the community can help address the concerns many have raised around selection of H.264 as MTI. I firmly believe that with H.264 we can achieve maximal interoperability and now, do it with open source and for free (well, at least for others – its not free for Cisco J)
More information on the open source project can be found at http://www.openh264.org, which is sparse now but more coming soon.
Jonathan Rosenberg, PhD
VP, CTO Collaboration