This is the first post I’ve written about WebRTC. Here’s a better overview of What is WebRTC.
For over a decade the VoIP market has been a relatively closed one, especially compared to what is happening with web based technologies. If you narrow it down to video conferencing, then almost every year I’d hear that this year – this one – is going to be the year video conferencing takes off – truly. And guess what? It never did happen. Now there’s a new game in VoIP town and it is called WebRTC.
WebRTC in a Sentence
If you look at the browser, with a few exceptions it currently replaces all of the other platforms and environments for the applications we use. One such exception are applications that require bidirectional voice and video calling capabilities. While you can get these by way of a Flash plugin, this has its drawbacks.
In the beginning of 2010, Google finalized its acquisition of On2, a video codec company that has developed the VP series of codecs, with the latest one being VP8. On2 has always positioned its codecs as a patent free replacement to the H.26x series of codecs, which were standardized, patented and widely used. It then went about opening On2’s technologies to the world and open sources VP8 under the name of WebM. The idea was to replace H.264 for web videos and by that, reduce patent costs for everyone – especially Google itself.
What’s Inside WebRTC?
From a codec perspective, WebRTC comes with the VP8 codec for video – instead of the more common H.264. On the voice front, it touts G.711, iSAC and iLBC. G.711 is the vinyl voice codec, while iSAC and iLBC are GIPS homebrewed codecs. WebRTC simplifies a lot of technologies for developers:
- Transport layer, which is relatively simple, but hard to tweak for realtime communications
- Codecs, something that is usually acquired from third parties
- Media engine, something that is always looked at as art more than a straight forward implementation
And it then takes it to the masses of web developers – a group much larger than VoIP experts. Here’s the architectural diagram found on the WebRTC project page:
WebRTC is a work in progress. It isn’t integrated into most browsers yet. You can get a test bed for it on every Chrome browser today, but that’s about it. And it doesn’t have all of its features available. It does have a lot of disruption potential.
Classic VoIP or WebRTC?
WebRTC is a paradigm shift for video calling. It works differently and behaves differently.
Here’s a short comparison chart between WebRTC based video conferencing system and the classic one that can be found today.
|Signaling||SIP or H.323 in most cases||Undefined|
|Security||SRTP in SIP,H.235 in H.323||SRTP|
|NAT traversal||STUN/TURN/ICE in SIP,H.450.x in H.323||STUN/TURN/ICE|
|Video codecs||H.263, H.264||VP8|
|Voice codecs||G.7xx series of codecs, and then some||G.711, iLBC, iSAC|
In future posts, I’ll try to go over some of the aspects of WebRTC, its advantages and challenges over existing solutions.