What is WebRTC and What is it Good For?


What is WebRTC and What is it Good For? This 7-minute video provides a quick introduction to WebRTC and demonstrates why it is growing in importance and popularity.

Covered in this video:

  • What is WebRTC?
  • Current state of adoption of WebRTC
  • Why is it so much more than just a video chat enabler
  • The power of “Open Source” in WebRTC
  • How WebRTC works
  • Five reasons to choose WebRTC

(this article was updated in December 2019)

What is WebRTC?

WebRTC is an HTML5 specification that you can use to add real time media communications directly between browser and devices.

Simply put:

WebRTC enables for voices and video communication to work inside web pages.

And you can do that without the need of any prerequisite of plugins to be installed in the browser.

WebRTC was announced in 2011 and since then it has steadily grown in popularity and adoption.

By 2016 there has been an estimate from 2 billion browsers installed that are enabled to work with WebRTC. From traffic perspective, WebRTC has seen an estimate of over a billion minutes and 500 terabytes of data transmitted every week from browser communications alone. Today, WebRTC is widely popular for video calling but it is capable of so much more.

A few things worth mentioning:

  • WebRTC is also completely free
  • It comes as open source project that has been embedded in browsers but you can take and adopt it for your own needs
  • This in turn has created a vibrant and dynamic ecosystem around WebRTC of a variety of open source projects and frameworks as well as commercial offerings from companies that help you to build your products
  • WebRTC constantly evolving and improving, so you need to keep an eye on it

So, how does WebRTC work?

Code and API

It is important to understand from where we are coming from: If you wanted to build anything that allowed for voice or video calling a few years ago, you were most probably used C/C++ for that. This means long development cycles and higher development costs.

WebRTC changes all that: it takes the need for C/C++ and replace it with a Javascript API.

WebRTC comes with a Javascript API layer on the top that you can use inside the browser. This makes it far easier to develop and integrate real time communications anywhere. Internally, WebRTC is still mostly implemented using C/C++, but most developers that use WebRTC won’t need to dig deep into these layers in order to develop their applications.


WebRTC today is available in all modern browsers. Google Chrome, Mozilla Firefox, Apple Safari and Microsoft Edge support WebRTC.

You can also “take” WebRTC and integrate it into an application or an embedded device without the need of browser at all.

Media and access

What WebRTC does is allow the access to devices. You can access the microphone of your device, the camera that you have on your phone or laptop – or it can be a screen itself. You can capture the display of the user and then have that screen shared or recorded remotely.

Whatever WebRTC does that does in the real time, enabling live interactions.

WebRTC isn’t limited to voice and video. It allows sending any type of arbitrary data.

There are several reasons WebRTC is a great choice for real time communications

  1. First of all, WebRTC is an open source project
    • It is completely free for commercial or private use, so why not use it?
    • Since it is constantly evolving and improving, you are banking on a technology that would service you for years to come
    • WebRTC is a pretty solid choice – It already created a vibrant ecosystem around it of different vendors and companies that can assist you with your application
  2. WebRTC today is available in all modern browsers
    • This has enabled and empowered the creation of new use cases and business models
    • From taking a Guitar or a Yoga lesson – to medical clowns or group therapy – to hosting large scale professional Webinars; WebRTC is capable of serving all of them and more
  3. WebRTC is not limited to only browsers because it is also available for mobile applications
    • The source code is portable and has been used already in a lot of mobile apps
    • SDKS are available for both mobile and embedded environments so you can use WebRTC to run anywhere
  4. WebRTC is not only about for voice or video calling
    • It is quite powerful and versatile
    • You can use it to build a group calling service, add recording to it or use it only for data delivery
    • It is up to you to decide what to do with WebRTC
  5. WebRTC takes the notion of a communication service and downgrades it into a feature inside a different type of service. So now you can take WebRTC and simply add communication in business processes you need within your application or business

So what other choice do you really have besides using WebRTC?

The idea around WebRTC and what you can use it for are limitless. So go on – start building whatever you need and use WebRTC for that.


RealTimeWeekly | RealTimeWeekly #180 says:
May 22, 2017

[…] What is WebRTC and What is it Good For? […]

    Blake_Butler says:
    October 1, 2020

    Encryption is mandatory part of WebRTC and is enforced on all parts of establishing and maintaining a connection.The preferred method for this is to use perfect forward secrecy (PFS) ciphers in a DTLS (Datagram Transport Layer Security) handshake to securely exchange key data. For audio and video, key data can then be used to generate AES (Advanced Encryption Standard) keys which are in turn used by SRTP (Secure Real-time Transport Protocol) to encrypt and decrypt the media.This acronym-rich stack of technologies translates to extremely secure connections that are impossible to break with current technology. Both WebRTC and ORTC mandate this particular stack, which is backwards-compatible and interoperable with VoIP systems. While the basis of WebRTC has historically been peer-to-peer video conferencing, there are many promising add-ons that can help make WebRTC even more powerful of a real-time communications tool.

Colin Hirdman says:
June 30, 2017

Great article! Appreciate the clarity and how you articulated the value of webrtc.

Megan says:
October 24, 2017

Web rtc can leak your ip. Learn how to disable it for privacy protection here https://www.purevpn.com/blog/disable-webrtc-in-chrome-and-firefox/

    Tsahi Levent-Levi says:
    October 31, 2017

    Megan, this whole IP leak in WebRTC is tiring. It is FUD and less of an importance than a lot of other issues. It is also solvable with a simple extension.

      mrigloo says:
      March 30, 2018

      Seriously? FUD, common. That’s a very poor comment. If it’s actually FUD why even mention it’s solvable with a extension?

      The issue is there either you or anybody else like it or not and for VPN users it’s crucial Not to have there IP and especially ones local IP leaked. It’s Not the users fault and definitely not VPN vendors fault either as this is a builtin Browser feature! Ignoring it and just point towards other is IMO weak at best.

      Other then that nice blog and good information on what WebRTC is.

        Tsahi Levent-Levi says:
        March 30, 2018


        It is mostly FUD. Most people today don’t use a VPN, and if they do, it is more likely than not to be associated with trying to get to regionally restricted content (like people in Israel trying to watch US TV shows).

        Those who do need and care about VPN for privacy reasons should use a VPN vendor that actually knows what they are doing (not an easy task with all them “free” VPN services out there that just suck your data from you along the way), and that also means that said VPN vendor uses what the browsers have to offer to hide their local IP addresses.

        WebRTC and any other VoIP protocol needs these local addresses to work. A VPN can be seen as a trusted proxy, and in most cases, for real time communications, such proxies are undesirable if you want decent media quality.

        I hope this is a bit clearer in what my opinion on this matter is.

          George Preston says:
          July 29, 2018

          I came to this page after reading Daniel Roesler’s project, because I wanted to learn more about how RTC works before installing any kind of extension. The comment you make above does not endear me to the trustworthiness of your organizaton, or of WebRTC.

          For one thing, that many people are using a VPN to get regionally restricted content has little bearing on the seriousness of a security flaw, and your point comes as if the size of that category of users is the only reason the problem has had any attention. It isn’t.

          From the write-ups on the research, there is no vendor that could “[know] what they are doing” to the extent it would mitigate this problem – as you’ve said in your last sentence, the needs of VPN users are at odds with the requirements of WebRTC in providing direct connections. So whether someone is using a VPN for “privacy reasons” or not, it would help to hear a serious response from you on this issue, rather than a churlish bit of opinion on why it doesn’t matter.

          Tsahi Levent-Levi says:
          July 29, 2018


          I am no VPN expert and can only share my churlish bit of opinion.

          WebRTC requires local IP addresses to work well. It can work without it and even has mechanisms to disable or limit the use of local IP addresses (see here: https://webrtchacks.com/so-your-vpn-is-leaking-because-of-webrtc/).

          This then becomes a problem of finding a VPN product that gets the work done instead of complaining that WebRTC isn’t secure.

soni says:
February 1, 2018

plzz Explain What is Apprtc ??

Automate Your Twilio Contact Center Testing with testRTC says:
March 27, 2018

[…] The Twilio Contact Center reference application showcases 4 different customer journeys. Of those, 3 make use of a technology called WebRTC: […]

tomer tabib says:
July 7, 2018

I liked this article very much it helped me understood the usage WEBRTC now i wish to use it .

i do have a question how many simultaneous web conference can make ?

can i get 35 pepole to log to a webserver with WEBRTC enabaled and get all 35 pepole to watch 35 windows at the same time .

so each person can see 34 screens of his webrtc mates ?

this will similar but not exactly equal to running a conference meeting but also with private window chat to each participant .

so a participant ca also say some words to one of the participant in private window without the other people hearing it .


    Tsahi Levent-Levi says:
    July 7, 2018


    The answer to this would be “maybe”.

    I assume it is possible, but depends on a lot of variables – the network used, the quality you expect on each video stream, the machines, etc.

tricky says:
October 27, 2018

We have been experimenting with WebRTC because we currently have a Flash-based video chatroom. With Flash quickly becoming obsolete, we have been experimenting with WebRTC as a replacement for this; the really good thing with testing a new alternative is that our users can now use the video chat function on their mobile devices. For us, WebRTC is now the only viable option due to all the modern browser restrictions (including https encryption) when trying to use Flash and it looks likely that we will soon be implementing WebRTC to replace Flash.

Steven Titchenell says:
March 29, 2019

The article says it’s built into most browsers, without having to add anything. With Chrome, you have to add an extension, in order to use it

    Tsahi Levent-Levi says:
    March 29, 2019

    Steven, there is no extension needed in any of the browsers in order to use WebRTC. Up until recently, Chrome required an extension if you wanted to screen share in WebRTC (anything else worked without the extension) – and even that is going away now.

Selçuk says:
August 22, 2019

Is it possible to use WebRTC to live broadcast audio when one, two or a few more users up to say ten are listeners and speakers to each other where a large number of other users (say 10K listeners) only listeners to their speech? Is that achieveable by P2P?

    Tsahi Levent-Levi says:
    August 22, 2019


    P2P doesn’t scale well beyond a small number of participants. In your case, you want sessions with thousands of participants. There are a team or two trying to achieve this without the use of media servers. I don’t think we’re there at this point due to many different reasons.

    If you want to cater for such use cases, then WebRTC can be the solution for you but you will need to deploy media servers as part of the solution.

Roland says:
November 6, 2019

Hi! Excellent information, just what I required! Thanks!

I only have one question, is possible to stream the audio of a device with WebRTC? I know is possible send the microphone audio, but what about the sound of a notification on my computer as a replacement of PC speakers?