WebRTC Video Harmony at Last?
The decision by the IETF’s RTCWeb working group to mandate inclusion of H.264 and VP8 codecs should put an end to video interoperability woes… for now.
At this month's IETF meetings in Honolulu, the RTCWeb working group again took up the issue of how to deliver interoperable video conferencing within the WebRTC specification -- and finally made a decision that should satisfy, at least temporarily, developers.
It's been a long haul. Past discussions have largely stalled due to debate between those who favored H.264 for its ability to integrate with existing video conferencing equipment and those who favored Google's VP8 because it is a royalty free codec. Last year Cisco even attempted to swing momentum behind H.264 by offering to pay all royalties for those wishing to use a binary it would make available. But this gesture fell flat in the open source community where developers wanted the freedom to modify and recompile the binary to meet their individual application needs.
Lurking behind the scenes is the market dynamic. Google is driving VP8, while Microsoft and Cisco were largely seen as the forces behind H.264. It stands to reason that Microsoft and Cisco (and presumably Apple) would have little interest in adopting what is perceived as a "Google codec," whereas Google would have little interest in giving up its efforts to develop VP8.
As mentioned earlier, licensing issues factored heavily into the discussion as well. MPEG LA owns H.264 and requires a license fee for its use, something Web browser vendors do not want to pay. Google makes VP8 free for use, but pending outcomes of patent infringement lawsuits VP8 users may one day be required to pay a royalty.
So after more than a year of stalemate, the RTCWeb working group finally agreed to make both VP8 and H.264 "mandatory to implement" (MTI), meaning that any Web browser or app providers that want to support WebRTC would have to include support for both VP8 and H.264 within their browsers or apps (see details here).
Problem solved, right? Not so fast. Several issues remain before we see truly ubiquitous interoperability for WebRTC.
1. Apple: Apple has not yet jumped on the WebRTC bandwagon. Until we know its plans for WebRTC, and if it will agree to implement VP8, Safari users remain in the dark.
2. Microsoft: Since Microsoft is part of the WebRTC working group, we can expect it to include VP8 support into Internet Explorer. However, Microsoft is pushing an alternative approach to WebRTC session definition (Open RTC, or ORTC) that will mean interoperability issues for those not supporting it.
3. VP9/H.265: While the IETF is mandating VP8 and H.264 support, Google and the video conferencing vendors are quickly moving to their next generation codecs, VP9 and H.265. Thus WebRTC developers must enable support not only for just the baseline VP8/H.264 standard, but also potentially for the newer versions of each codec. VP9 is already available within Chrome and Firefox while video conferencing vendors are largely embracing H.265.
4. Royalties: The IETF agreement largely avoids mandating the type of H.264 codec, but it does include language stating that if any codec (VP8 or H.264) becomes royalty free, with no declarations or lawsuits, then the IETF will change its agreement to mandate only that codec.
Despite these challenges, the ratification of VP8 and H.264 as MTI marks a significant step forward in WebRTC's development. In the not-so-distant future those wishing to deliver WebRTC-based services will no longer have to worry about whether or not their users are on Chrome, Internet Explorer, Firefox, or, hopefully, even Safari to provide a base level of video capabilities. However, taking advantage of the reduced bandwidth requirements and improved quality of VP9 and H.265 will still present ongoing interoperability challenges.