By the end of 2015, WebRTC will have 3 video codecs.
Up until recently, using WebRTC meant you had VP8 as your video codec. Mozilla added H.264 into Firefox. And now that we know Microsoft Edge is adding WebRTC, it is time to ask what will be the video codec that will be supported?
My bet is on H.264 and no other video codec.
Here is how I foresee the video codec map in WebRTC browsers evolve by year end:
|Today||Dec 2015 (estimate)|
|Google Chrome||VP8||VP8, H.264, VP9|
|Mozilla Firefox||VP8, H.264||VP8, H.264|
Why is this my forecast?
Google pushes Chrome towards VP9
- Google is in the process of adding VP9 already
- If all goes well, VP9 will be officially launched this year as part of WebRTC
- That said, Google can’t ignore H.264. It was added as a mandatory codec to WebRTC
- Not implementing it won’t look good, so Google will need to pay attention to it
- Since some have already added H.264 on their own to WebRTC, that shouldn’t be as challenging as the introduction of VP9
- Support for both H.264 and VP9 will maintain Google’s lead in WebRTC
Mozilla won’t have time for VP9 in Firefox
- Mozilla have bigger worries to deal with
- Firefox OS has been a dud, causing Mozilla to shift its focus of Forefox OS towards quality. This requires resource and attention
- Firefox is lagging behind Chrome in many areas of WebRTC (see is WebRTC ready yet). This is mainly true in the more sophisticated media processing features which are becoming a lot more common and required these days
- Until Firefox closes these gaps versus Chrome, it should not invest in a new video codec adventure
- Add to that the new ORTC APIs that get wrapped into WebRTC and the need to support promises
- To implement VP9, it first need Google to stabilize and improve its current VP9 support in WebRTC. This will delay its adoption of VP9 which will get it into 2016
Microsoft’s razor Edge focus on Skype (and H.264)
- Microsoft is late to the WebRTC game
- It has IE to think about and its new Microsoft Edge browser
- This isn’t just about adding WebRTC – it is about revamping IE and rewriting it with new rules (no plugins for example)
- The work on this new browser needs to be synchronized with other (LARGE) groups at Microsoft with their own announcements:
- Skype for Web
- Skype for Business
- A new Skype web SDK
- With so much on its plate, Microsoft will need to focus on the bare essentials
- First priority will be a WebRTC/ORTC implementation that can run Skype
- Second priority will be interoperablity with other browsers
- Firefox will come first, as it supports H.264
- Microsoft will assume Google will add H.264 before it can add VP8 anyway
- Once they get over the basics, it will be time to add VP8
- With their current speed, don’t expect VP8 to happen in 2015
Why is this important?
- The codec wars may have been over, or just in an intermission in between acts in this grand play; but at the same time, developers are left to their own devices in figuring what video codec to use
- Selection of a video codec needs to take into consideration many issues: performance, royalty payments, hardware support, browser availability
- At times, multiple video codecs will need to be supported
- In some cases, multiple video codecs will need to be supported in the same session (multiparty video calls)
Got a use case in mind for WebRTC? Which video codec will you be using for it?
So… which of these video codecs should you use in your application? Here’s a free mini video course to help you decide.