What Is WebRTC, and What Can You Use It For?

By Allie Mellen on March 23, 2018
read

WebRTC has vast, exciting use cases in internet of things devices, peer-to-peer video, messaging, content sharing, and onion-routed communications. But what exactly is WebRTC, and how can you leverage it to make your products even more powerful? This post is the first in a series dedicated to understanding the various use cases of WebRTC data channels and how you can use them in your own projects.

What Is WebRTC?

Web Real-Time Communications (WebRTC) is an open source project created by Google to enable peer-to-peer communication in web browsers and mobile applications through application programming interfaces. This includes audio, video, and data transfers. It eliminates the need for plugins or native app installations, and aims to make peer-to-peer communication user-friendly. WebRTC empowers you to create high-quality RTC applications that can be used in Chrome, Firefox, Opera, and Android, as well as natively on iOS and Android.

WebRTC was initially released in 2011, and over the past several years has become decidedly prevalent. Facebook, Google, Amazon, and many other companies implement WebRTC in their applications to provide fast, reliable, and secure communication. Excitingly, there is only more room for WebRTC to grow to other companies. It has the potential to be useful for companies like Netflix, whose users consume 1 billion hours of content per week as of 2017.

What Are The Most Important Parts Of WebRTC?

WebRTC has several key JavaScript API elements to help you build impressive P2P applications.
1. getUserMedia() accesses the audio and video available on your device by accessing your device camera and microphone.
2. MediaRecorder records audio and video available from your device.
3. RTCPeerConnection allows peer-to-peer audio and video communication. This includes the initial connection, monitoring the connection, and closing the connection.
4. RTCDataChannel enables bidirectional transfers of data between two peers.

getStats is a real-time statistics API built to ensure WebRTC calls are offered at the best possible quality. It was co-authored by our CEO, Varun Singh.

The Web Real-Time Communications Working Group and the Internet Engineering Task Force are in the process of creating standards for WebRTC use.

Is WebRTC Secure?

While WebRTC offers an exciting value proposition, namely in-browser audio, video, and data communication without plugins, it raises important security questions. It is secure to use, and what must developers implement to ensure this security?

All WebRTC components have mandatory encryption, and all JavaScript APIs require secure origins via HTTPS or localhost.

A main security concern for developers when implementing WebRTC resides in using proper, secure protocols. Signaling methods, or the methods used to exchange metadata, are not specified in WebRTC and are left to you to execute. This gives you the flexibility to create your app in a way that best fits your use case.

How Can You Use WebRTC?

WebRTC data channels have various use cases, several of which are outlined in our WebRTC Metrics Reports. Over the next few weeks, we will be diving into some of these use cases, including internet of things devices, P2P video, messaging, content sharing, and onion-routed communication. This post is the first in a series on WebRTC data channels use cases.

For more information on WebRTC data channels, check out one of our previous posts here.

WebRTC and IoT

The second post in this series is dedicated to WebRTC and the internet of things. The internet of things device industry has expanded significantly in the past several years, and only has more room to grow. Using WebRTC with IoT devices is a natural fit, and can have a positive impact on communication between these devices. To read the second post in this series, please check it out here.

WebRTC and P2P Video Calls

The third post in this series is dedicated to WebRTC and P2P Video Calls. 66% of CXOs consider mobile video and real-time information sharing to be critical aspects of their daily communication. In this post, we explore how WebRTC is changing the video call landscape and making real-time video calls more accessible. To read the third post in this series, please check it out here.

WebRTC and P2P Messaging

The fourth post in this series is dedicated to WebRTC and P2P Messaging. P2P messaging is huge right now, popularized through apps like WhatsApp and Slack. What does WebRTC bring to the table, and where is it all headed? In this post, we discuss how WebRTC has improved P2P messaging, and what it holds for the future. To read more about how WebRTC is driving successful P2P messaging, check out this post.

WebRTC and Content Sharing

The fifth post in this series is dedicated to WebRTC and Content Sharing. WebRTC receives its fair share of focus and attention due to its ability to integrate audio, video and text communication within a web or mobile application. An often-overlooked feature, however, is the ability to use WebRTC to facilitate content sharing. To read more about how WebRTC is consistently enhancing content sharing, check out this post.

WebRTC and Onion-routed Communication

The sixth post in this series is dedicated to WebRTC and Onion-routed Communication. While onion-routed communication has already proven quite effective, thanks in large part to Tor, this is another area where WebRTC can significantly improve the status quo. To read more about how WebRTC robustly augments onion-routed communication, check out this post.


Tags: WebRTC, WebRTC Verticals