Uncover the mystery of WEBRTC Media server--WEBRTC Media Server & Open Source project Introduction

Source: Internet
Author: User
Tags jitsi

Uncover the mystery of WEBRTC Media server--WEBRTC Media Server & Open Source project Introduction

The WEBRTC ecosystem is very large. When I first tried to understand WEBRTC, the number of network resources was unbelievable. This article provides some introduction to WEBRTC media servers and related open source projects such as kurento,janus,jitsi.org. And will try to reduce the technical barriers needed to understand the business value of WEBRTC.

What is a WEBRTC server?

Since the birth of WEBRTC, one of the main selling points of this technology is that it can communicate with point-to-point (Browser-to-browser), and it requires little server intervention, and the server is only used to send signaling. The concept of the WEBRTC Media server is the opposite of the peer.

Below, I'll try to explain why media servers are useful, what types of features they typically provide, and what open source solutions are available to the user.

Multi-point users in video calls

While it is true that you can use peer communication (Figure 1 grid architecture) to keep multi-point users on video calls, this scenario is no longer practical as the number of users increases, because a user is required to stream his/her video/audio to each of the remaining users while receiving the video/audio streams for each of the remaining users.

In fact, even under optimal network conditions, normal mesh video calls cannot exceed 5 users. This is where the media server comes in handy because it reduces the number of streams the client needs to send, and also reduces the number of streams the client needs to receive, depending on the performance of the media server.

When a media server acts as an intermediary, it is often referred to as SFU (single Forwarding unit), which means that its primary purpose is to forward media streams between clients.

There is also the concept of an MCU (Multipoint Conferencing Unit Multiponit Conferencing unit), such that a server can not only forward the media stream, but also process the media stream through it (for example, mixing all video or audio streams into one).

Video recording

One of the main benefits of having all video streams through a media server (cluster) is the ability to record and store media streams for any purpose, which is hard to do on the mesh architecture.

Integration with other communication technologies

Another advantage of using media servers is the ability to communicate with other systems outside the web system, such as the PSTN via SIP trunking or a service streamed over rtmp (like Fackbook live or YouTube live streaming).

You can see an example of a previous blog in which the Kurento media server is used to make video calls between the browser and the SIP phone.

Processing of media streams

Some media servers allow for on-the-ground processing of video and audio streams, such as the ability to run computer vision models on video or to send audio streams to the speech recognition engine, such as Google Speech. These features elevate the WEBRTC to another level. In my opinion, it provides a richer and more innovative real-time interaction that adds a lot of value to a common communications platform.

We discussed this before, and the Kurento Media server applied the face recognition model to the video stream, wearing a hat on the person's head.

What OSS open source Media servers are available??

As mentioned earlier, the WEBRTC ecosystem is very large and there are many open source projects on the market.

The following are the most mature and popular:

Jitsi Platform

Jitsi is not just a WEBRTC media server, but a whole platform built around WEBRTC. The Jitsi series includes Jitsi Videobridge (media relay, SFU), Jitsi Meet (Conferencing Web Client), Jicofo (Jitsi Conference Focus), Jigasi (Jitsi Gateway to SIP) and Jitsi sip phones. The most appealing feature of the Jitsi platform is that it contains all the features of a communications platform that starts and runs in a few hours. It also implements its own signaling using jingle (XMPP) and a full-featured web interface. Unfortunately, it does not have a solid, easy-to-use media recording feature.

Kurento Media Server

This is one of the most common solutions. It's not just a media server, it's building a toolkit.
The main advantage of Kurento is that it enables versatility by introducing the concept of media workflow (Meidia workflow), which allows you to define how media streams are transferred and transmitted in code. This allows WEBRTC developers to integrate very interesting features, such as computer vision (such as identification of QR codes, face detection), real-time media remediation, and interoperability with RTP (VoIP) services. Kurento can also be configured as SFU or MCU (or both) in a single instance.

Janus WebRTC Gateway

Although it does not refer to "Meidia server" in its description, Janus can easily set SFU to SFU. One of its most notable features is its plug-in architecture, which enhances the core functionality of the service. There is a demo page that shows some interesting Janus use cases, such as SIP Gateway, screen sharing, and so on.

Mediasoup

A relatively new and interesting media server that differs from other media servers in that it is designed as a library (for node), allowing it to be integrated into larger applications.

Original link

Uncover the mystery of WEBRTC Media server--WEBRTC Media Server & Open Source project Introduction

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.