🥳 welcome interested partners, do something meaningful together! Translator: Dao Li

I launched a weekly translation project at github.com and fedarling.github. IO

Currently, there is still a lack of like-minded partners, which is purely personal interest. Of course, it will also help to improve English and front-end skills. Requirements: English should not be too bad, proficient in using Github, persistent, modest, and responsible for what they do.

If you want to participate, you can either click here to view it or send an issue message to the warehouse. My blog also has specific personal contact information: daodaolee.cn

preface

If you’re wondering about WebRTC, you’ll probably Google it and see something like this:

WebRTC is an open source project that allows you to add point-to-point real-time communication capabilities to your applications.

Let’s analyze what this sentence tells us:

  1. The open source project

    As the name suggests, it is an open source project that is free to use.

  2. Point to point

    You don’t need an expensive media server just for WebRTC. For a common media server, video call bandwidth may be 1 Mbit/s. If you have a platform of 1000 active users and you need 1Gbit/s of bandwidth, what if you have a million users?

  3. Real-time communication

    When we hear about real-time communication, the average person thinks about audio-video calls, but real-time communication is a much broader concept.

    You can use WebRTC to transfer real-time data.

    An online game called Haxball, for example, can also be played using WebRTC. ShareDrop, for example, is a site that allows you to send files peer-to-peer. You can send files to your local network or even peer-to-peer to different networks.

  4. The application

    When WebRTC was first released, it was aimed at Web applications running on Chrome. But today, you can develop WebRTC applications on almost every popular browser, Android, iOS, and desktop platform.

    Popular browsers like Chrome, Firefox, Safari, Edge, and Opera support WebRTC on both desktop and mobile browsers. WebRTC also allows application developers to use the native framework for iOS and Android native development.

Which products use WebRTC?

WebRTC is now the network communication standard for video and audio calls. Most popular video calling apps already use it, like:

  • Zoom
  • Microsoft Teams
  • Google Meet & Google Duo
  • Facebook Messenger
  • Jitsi
  • Twilio
  • Discord

According to the 2017 Kranky Geek event, Google shared a statistic at the event:

Attention! This statistic is four years old, meaning that video and audio call usage soared before it became popular. Don’t be surprised if WebRTC usage exceeds billions of minutes in a given day.

What are the advantages of WebRTC?

So why are so many platforms using WebRTC? What good can it do?

If it was the case before, you need to consider a number of factors when creating a real-time communication application or platform, such as:

  • Quality of communication (latency, media quality, stability, etc.)
  • Access to device hardware (camera, microphone, etc.)
  • Network usage (bandwidth usage, network restrictions, etc.)
  • Video and audio encoding/decoding
  • security
  • UX improvements (noise reduction, echo cancellation, etc.)
  • Cross-platform support (Windows, Mac, Linux, Android, iOS, etc.)

That’s all I can think of so far, and there may be more.

If you use WebRTC, you don’t need to worry about the above! WebRTC enables application developers to enable real-time communication capabilities using simple apis.

The API provided is as simple as getUserMedia(). Not only that, but applications can use this API to access the device’s camera and microphone. Other important apis will be covered in more detail in the next article.

What does the application do?

At this point, you might be thinking, “If WebRTC is so good, how am I supposed to use it?” .

Signaling channel and media channel are two different concepts in communication:

  • When you call your friend, your phone first sends a call request to your friend’s phone. Then, if your friend answers the call, it will send an answer call response to your phone. This process occurs on a signaling channel.

  • After your device receives an acceptance response, you can hear your friend’s voice, which happens on the media channel. WebRTC technology follows the same approach as other communication technologies.

The following is an example of Signalling and Signalling channels and media channels:

WebRTC takes care of the data transfer in the media channel, and it lets the application handle the signaling channel.

In another picture, your application on Device-1 calls WebRTC’s API and sends a request to Device-2. Then device-2 should do the same thing:

So far, we have a simple understanding of WebRTC. In the following articles, WebRTC will be introduced in detail. Please look forward to it!

The relevant data

WebRTC in a Nutshell (Ep-I)

Translation plan