Real-time communication with WebRTC: what is it and how does it work?

Posted on by Elena Kvitkovska

More than 3 billion people around the world now use social media each month. Internet users are growing by an average of more than one million new users every day. The use of smartphones and tablets is growing at an incredible pace. It’s necessary to improve the quality of communication – and that’s the goal of WebRTC.

What is WebRTC?

WebRTC is a special network protocol developed by Google. It stands for Real-Time Web Communication. WebRTC is an open-source toolkit for real-time multimedia communication working right in an application. It supports audio and video chat and exchange data between the clients. To use WebRTC, you don’t need extra plugins, extensions or other external add-ons. The end-users should not use the same client module to interact with each other. With this standard, you can turn your host into a video conferencing endpoint. Thanks to the direct connection, WebRTC doesn’t need registration or any third-party accounts.

WebRTC was created to quickly transmit and protect confidential information using local network streams (organizing network meetings, remote conferences, etc.). It is a rather new technology and the development is still in progress. Yet, even now, WebRTC is convenient to use.

Benefits of WebRTC

Today, WebRTC is available for Chrome, Firefox, Safari, and Edge browsers. They also provide SDKs for development on the different mobile platforms that are constantly updated.

You can use WebRTC for many tasks, but its primary function is a real-time P2P audio and video chat. It bases on JavaScript, different APIs, and HTML5 and works right in the app. WebRTC makes it possible for the clients to transfer audio, video and other data.

To communicate with another person, each WebRTC client must agree to start the connection, know how to locate one another, bypass security and firewall protection, and send all multimedia information in real-time.

It’s free

WebRTC was first introduced by Google in 2011. Its goal was to provide a standard for real-time media which will be free and available on all platforms and devices.

Cross-platform ready

Any client that supports WebRTC can connect to another WebRTC device or to the media server and enable voice or video chat. The operating system of the device doesn’t matter. This is possible thanks to implementing W3C standard and IETF protocols.

Secured by HTTPS and SRTP

You can easily protect your WebRTC voice and video calls with an encryption protocol. Secure RTP (SRTP) encrypts the data that is especially important for protecting the confidentiality of your information. This prevents the interception and recording of voice and video.

High Communication Quality

To ensure the best communication quality, WebRTC uses a wide selection of codecs that are compatible with all applications. Here are some of them:

  • Opus is a scalable and flexible codec based on Skype SILK technology and used for dealing with audio with different degrees of complexity. It supports stereo signals and encoding from 6 kbit/s to 510 kbit/s without complicating the demultiplexing process
  • iSAC and ILBS are open-source codecs designed for voice transmission used in many streaming audio applications. They are not mandatory and some browsers may not support them.
  • VP8 is a mandatory video compression technology supported by all browsers. VP8 allows video with an alpha channel allowing the video to play with the background able to be seen through the video to a degree specified by each pixel’s alpha component.
  • VP9 supports deeper color, a full range of subsampling modes, and several HDR implementations. You may customize frame rates, aspect ratios, and frame sizes.

All the protocols support data compression, so you can handle a call with your partner even if the internet connection is not really speedy.

Quality automatically adjusts to any types of connection

WebRTC supports work behind NAT and establishes a reliable connection between the hosts. It helps to avoid relaying from the server and thereby reduces latency and improves the video quality.

Multiple Media Streams

WebRTC can adapt to different network conditions. It regulates the quality of communication, responds to bandwidth availability, detects and prevents congestion. It is possible thanks to multiplexed RTP control protocol (RTCP) and secure closed-loop audio-video profile (SAVPF). The receiving host sends network status information back to the sending one. It analyzes the conditions and responds to the changing ones.

Adapts to network conditions

WebRTC supports multi-media and endpoint negotiation. This ensures efficient use of bandwidth, providing the best voice and video chatting. API and signaling can coordinate the size and format for each endpoint individually.

How does WebRTC work?

WebRTC sends SDP Offer to the client JS app to send it to another device using that to generate an SDP Answer.

SDP stands for a Session Description protocol. It describes media communication sessions. It doesn’t deliver any media but the endpoints use it to agree on the type of media, format, and other properties.

The trick is that the SDP includes ICE candidates. ICE helps to connect two hosts using NAT. To do this, it opens the ports and maintains the connection via them. If the client failed to establish the connection or it is not working in a proper way, there is an option to use a TURN server for handling all traffic. To ensure stable performance, we recommend you to create your own TURN/STUN server for working with WebRTC.

Once done the encoding process starts and the data streaming between the clients and the server begins. If they talk directly, they can open a DTLS connection and use it to connect SRTP-DTLS media streams and send DataChannels via DTLS. To exchange data between two participants, the video server is not required. If you want to connect several participants in one conferencing, you will need a server.

What is WebRTC used for?

WebRTC is used handling audio and video chats. The technology is in the process of improvement, and its scope is expanding. Today, various web services use it in their work including Facebook, Google Hangouts, Skype, as well as some sites, and CRM systems.

By installing WebRTC in your meeting room, you will make it available to any of your employees or clients. They can connect to a full-fledged video conferencing from the app on any device. This will give you an opportunity to handle a meeting or an online consulting session.

You can place an access link to the conference on your website for everyone or in your user’s account. It will organize audio-video consultation and support for your customers. They can set up a video conferencing with you in one click.

Wrap-up

WebRTC allows communicating to the highest level of reliability and security. This will improve the quality of online meetings, video conferencing and similar services. Both desktop and mobile-based multi-person multimedia chat applications are achievable by leveraging WebRTC.

QuickBlox video conferencing solution supports WebRTC standards. Contact our experts to learn more about using WebRTC with your app. For more information, feel free to contact our sales department right now!