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?
Browsers on Android and iOS do support WebRTC. Not all browsers on Android support WebRTC, so you need to be certain you are using a supported browser. For convenience of the user and better performance, most developers choose to build video chat support directly into an existing app. Vidyo.io provides mobile SDKs to make it possible to add group 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.
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.