Cisco announces open-sourced version of H.264

Cisco_logoIn the last year we’ve witnessed VP8 proponents and H.264 proponents debate which codec should become “official” for WebRTC. The main points of contention? Licensing fees associated with H.264 make it unaffordable for a non-profits like Mozilla to support. In addition, VP8 isn’t compatible with existing and legacy video conferencing platforms which are typically built to support H.264.

We saw Google draw a line in the sand early on by announcing the “perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable” licensing of VP8. In addition, they recently moved their flagship video conferencing product, Google Hangouts, on to VP8.

Yesterday, Cisco unexpectedly announced that they will release an open-source version of the H.264 codec. The open-source version will include a free downloadable binary module that can be integrated into any application. All without the cost of licensing the codec [1]. This is a strategic precursor to the IETF #88 next week where a vote will take place about the MTI (mandatory to implement) video codec for WebRTC, with the dominant front-runners being VP8 and H264.

Monty Montgomery, an open codec developer that recently joined Mozilla,  may have summarized the tech community’s view on the WebRTC codec debate best in his blog:

“Let’s state the obvious with respect to VP8 vs H.264: We lost, and we’re admitting defeat. Cisco is providing a path for orderly retreat that leaves supporters of an open web in a strong enough position to face the next battle, so we’re taking it.”

What does Cisco’s announcement mean for WebRTC?

Cisco will pay H.264 royalties for any user of a browser integrating the open-sourced H.264 module. That means the licensing fees are no longer a reason not to adopt H.264 as part of the WebRTC standard. According to some initial estimates, over the next 10 years this could cost Cisco nearly $65M.  This demonstrates how much money is at stake for companies like Cisco if VP8 were to be selected as the MTI codec.

There are still concerns about setting a precedent on selecting a non-royalty free for a web standard, and also about platforms that could be supported under those terms (at least iOS will be excluded because of Apple restrictions).

How have browser vendors reacted to this announcement?

Mozilla

In a huge step forward, Mozilla confirmed that it will include H.264 support in Firefox in early 2014. By announcing open-source H.264, Cisco is eliminating the royalty-free argument which browser vendors like Google and Mozilla have been using to avoid H.264 support. By getting Mozilla, poster child for all things “open”, to sign on and commit to supporting H.264 is a brilliant last minute push to give H.264 a credible chance.

Google

In the best case scenario, Google will include support for H.264 in Chrome, ensuring a common codec and interoperability across browsers. Concerns about WebRTC endpoint fragmentation will be alleviated.

In the worst case scenario, Chrome won’t include support for H.264 and interoperability with Firefox could be continue to be based on VP8. For browsers who choose to add WebRTC support in the future, it would be impossible to interop with Chrome without intermediate elements converting the video flows.

What does this mean for the OpenTok platform?

1) We could offer a better experience on mobile

H.264 support in all browsers would mean that we could offer a better experience for users with devices that have restricted capabilities and H.264 hardware. For example, if one endpoint within an OpenTok session were a Firefox browser, and another endpoint an iOS device using a native app leveraging OpenTok, we could use the H.264 codec to reduce CPU and battery consumption in the mobile device.

2) We could support a wider range of endpoints (not just browsers)

H.264 support enables interoperability with a range of legacy video conferencing endpoints, all without the need to transcode (which would be the case should VP8 be chosen).

In addition, if Google agrees to include H.264 support in Chrome, we could move all OpenTok traffic to H.264 in our media routing infrastructure Mantis. We could maintain a similar quality to what we have today with VP8, and potentially support browsers from Microsoft and Apple in the future.

In summary, we’re excited about the new opportunities brought by Cisco’s open-sourced version of H.264. If universally adopted, it will provide a high quality video codec that could be available across browsers and devices, making the WebRTC vision a reality. If VP8 is finally selected as MTI codec, then we have a free alternative that can be used for some specific scenarios. Now the ball is in Google’s court and we’ll have to wait and see what transpires at next week’s meeting.