The WebRTC video codec wars have waged since the inception of WebRTC as a technology. While the Internet Engineering Task Force (IETF) has mandated both VP8 and H.264 codecs in WebRTC, the decision could be worthless in 2018 or even earlier.
When the IETF made its decision late last year, we already knew the following:
1. Google is actively adding VP9, the successor to VP8, to its Chrome browser. The intent is to make VP9 an officially supported video codec in Chrome's WebRTC implementation.
2. H.265, also known as HEVC, is the obvious candidate to replace H.264 when the time comes.
The IETF's concession was obvious: Take a break from arguing about video codecs and let the war rage once the next generation of codecs is ready.
Expect that next generation of codecs to be twice as efficient as the current one. H.265 and VP9 should perform similarly to H.264 and VP8 with 30% to 50% less bandwidth. They should also take up two to three times the computation.
WebRTC (Web Real-Time Communications) is an open-source project that seeks to embed real-time voice, text and video communications capabilities in Web browsers. Currently, Chrome and Firefox support it natively.
Video codecs are essential to video conferencing, as they allow participants to see those on the other end in real time. Video codecs encode and decode transmissions, and compress and decompress digital video streams in real time. The main challenge is ensuring users at every endpoint of the system can interoperate, which means their codecs must be compatible.
Recently, some interesting announcements and moves were made that drastically change the dynamics of video codecs. What are these changes and how do they affect the market?
Google's VP9 codec shows promise
Google is trying to show VP9 as a superior WebRTC video codec. Google benchmarks the codec against H.264 to prove its point. While the main benchmark should be against H.265, the results are impressive.
If you watched a YouTube video in a Chrome browser in the past year on a relatively new machine, chances are that video was streamed to you using VP9. As stated on YouTube's official blog in April: "YouTube users have already watched more than 25 billion hours of VP9 video."
Since people watch hundreds of millions of hours of video on YouTube every day, the 25 billion hours of VP9 video boils down to a single digit percentage of VP9 video views for YouTube -- not much of a percentage, but a humongous amount of hours.
Google has been working to get VP9 to work in Chrome for much of this year. So far, the result is VP9 is behind a Chrome execution flag, meaning developers can play with it, but can't use it in production systems.
With all that going on, Google has also started work on VP10. The main difference this time is market forces are behind this initiative:
- VP9 has been validated already by its YouTube success.
- Royalty-free codecs are a growing trend. The notion of developing such a codec is no longer absurd. The blunders around H.265 (see below) validate this trend even further.
- And this time, Google is trying to attract external parties in active design and specification of the VP10 codec, which can help attain market acceptance and adoption down the road.
Google will no doubt continue in this route, trying to get VP9 into WebRTC as far as possible to secure its position in the war for the default next-generation video codec.
H.265: A video codec with royalty payments
H.265 is the industry effort at a commercial video codec and a successor of H.264. As with the current codec, the intent was to create a considerable patent pool under the MPEG-LA umbrella. This enables enterprises with enough of a budget to benefit from this video codec (translation: pay for using it). And those investing in the required research to create this new codec could receive their revenue in the form of royalty payments.
This effort is now challenged by reality: The patents and licensing strategy by MPEG-LA for H.265 makes it very difficult to get adopted by WebRTC.
In addition, a new patent pool called HVEC Advanced is forming around H.265. Having a single patent pool around a codec is bad enough since you have to pay to use it. Having two patent pools compete over royalties makes it extremely hard for those who wish to adopt H.265.
Unless things clear up in the H.265 camp, there is little chance H.265 will be adopted by the masses.
Daala looks to add to video codec definition
Daala is a video codec pioneered by Mozilla. The idea behind it is to provide a video format that's free to implement, use and distribute.
Mozilla contributed Daala to an IETF workgroup called NetVC, which is tasked with defining a modern video codec with intellectual property rights (IPR) licensing that is reasonable for large-scale adoption.
At face value, Mozilla is following Google's footsteps. The decision to define Daala instead of joining forces around VP9 most probably stem from a desire to have a larger role in the specification -- so far, Google seems to prefer going it alone with the definition of VP9.
Cisco announces Thor WebRTC video codec
And now Thor, a new codec by Cisco, has entered the ring of video codecs. In August, Jonathan Rosenberg, chief technology officer for Cisco's collaboration business, explained the rationale and intent behind Thor in Cisco's official blog. In part, he wrote:
"We believe the industry needs a high quality, next-generation codec that can be used everywhere. The effort is being staffed by some of the world's foremost codec experts. We also hired patent lawyers and consultants familiar with this technology area."
The undertaking of a new WebRTC video codec that is patent-free requires video experts and lawyers.
Thor was also contributed to NetVC. The comments section of Cisco's blog also outlines the differences between the design and governance of VP9 versus Daala and Thor. And as with Daala, Thor is far from being complete or ready for primetime -- they are both a work in progress.
The future is royalty-free codecs
The majority stake around video coding is perhaps starting to shift toward the idea of royalty-free video codecs.
On one hand, the IPR-based camp of H.265 has an approach toward commercial agreements that doesn't seem to suit modern times, where business models are often asymmetric in nature or require hundreds of millions of users to monetize properly. Conversely, Google, with its VP8 and VP9 initiatives, has shown that royalty-free video codecs are valid alternatives. This in turn, caused Mozilla and Cisco to start their initiatives.
It is hard to say which codec will win the WebRTC video codec wars. My own estimate is that H.265 will not prevail. It doesn't make any business sense within a browser. VP9 may need to compete with Daala and Thor -- or join forces to create a new codec -- a combination of the three.
You can expect VP9 in WebRTC on Chrome browsers to happen in less than a year. H.265 probably won't make it.
The next royalty-free codec will most probably come from NetVC, but won't be Daala or Thor as we know them today. But don't expect it to happen in the next two to three years; these processes take time.
Using Web browsers for calls and video conferencing
Video conferencing standards and interoperability considerations
Will WebRTC video conferencing finally make video easy?