Browser Based Video Chat
WebRTC is an exciting new technology that makes it possible to create web applications that support real-time video, voice, and data. By leveraging WebRTC you can build a full featured video chat app running in a browser without requiring the user to download any software.
What is WebRTC?
WebRTC is a new standard for enabling Real Time Communication (RTC) within a web browser. A web browser that has support for WebRTC includes the necessary technology to build a two-way video chat client directly in the browser.
Who is working on the WebRTC standard?
The WebRTC project was initiated by Google and standardization is being performed both at W3C and the IETF. WebRTC is being rapidly adopted by numerous technology companies. Vidyo is contributing toward the standard by working with Google to add scalability to the VP9 video codec.
What video codecs are supported by WebRTC?
There are three video codecs that are supported by browser makers today.
The initial video codec implemented in the WebRTC standard. It supports temporal scalability and is intended to be royalty-free.
Recently added as an MTI codec along with VP8, H.264 has been widely used by legacy video compression systems since 2003. H.264 is covered by a patent pool administered and licensed by MPEG-LA.
The next generation video codec from Google includes support for both temporal and spatial scalability. Like the VP8 codec, VP9 is intended to be royalty-free.
Is WebRTC supported on mobile devices?
Today the only mobile platform that can support WebRTC without a download is Android, assuming you have a WebRTC capable browser installed. Not all Android browsers support WebRTC, so you need to be certain you are using a supported browser. On iOS there are currently no browsers that support WebRTC. To enable WebRTC on mobile devices, most developers choose to build it into an existing app. Vidyo.io provides mobile SDKs to make it possible to add multiparty video chat to your app on both Android and iOS.
Does WebRTC work well through firewalls?
WebRTC works well through firewalls. However, in order to properly traverse firewalls and NATs, some network infrastructure is required. WebRTC relies on TURN servers to negotiate connections through firewalls and NAT. Additionally, when TURN is used to negotiate a firewall/NAT the media (audio and video) from the call travels through the TURN server. Therefore, it is vital that TURN servers be deployed at scale to provide geographically localized connections to maintain low latency. Vidyo.io provides a global footprint with automatic geolocation capability. When an endpoint connects to Vidyo.io it is automatically routed to the nearest server automatically.
Can I use WebRTC to create multiparty video app?
While WebRTC provides the fundamental building blocks to create video chat apps, it doesn’t necessarily provide everything you might need for multiparty. To build multiparty video chat, you need to employ peer to peer multiparty or build a conferencing server to bridge the participants together. Peer to peer multiparty has limitations and generally doesn’t scale well beyond 3 to 4 participants. A server-based solution provides better flexibility and scale, but is much more complicated to create. Vidyo.io employs a server-based multiparty architecture as part of its routing core. When building an app using Vidyo.io SDKs you automatically take advantage of this technology allowing any call to be a multiparty call.