On July 8, 2017, Liu Bo, senior engineer of cloud multimedia development, gave a speech on “Cloud communication – Real-time communication service development practice based on WebRTC technology” in “Not only cloud computing, but also the treasure book of cloud era”. IT Tycoon said (ID: ITdakashuo) as the exclusive video partner, by the sponsor and speaker review authorized release.

Read the word count: 1126 | 4 minutes to read

Guest speech video review and PPT: suo.im/3zAPJv

Abstract

This time share the development experience of real-time communication service based on WEBRTC technology, hope to let everyone be more interested in this aspect through this sharing.

What is interactive live streaming?

Interactive live broadcasting is a solution of multi-channel audio and video and real-time data communication.

First let’s take a look at the application scenario of the cloud itself. Patting cloud is composed of hangzhou RESEARCH and development headquarters plus Beijing, Shanghai, Guangzhou and other branches. Our management has a weekly meeting every Monday morning, and we really need a simple and reliable teleconferencing system.

In the past, we used traditional teleconferencing hardware, which was difficult to use, expensive and ineffective.

Now, all we need is a laptop with an HD camera, no configuration, no plugins.

Interactive live broadcast features

The essential difference between interactive live broadcast and traditional live broadcast is the delay.

Compared with traditional live broadcast, interactive live broadcast endows each member of the live broadcast with the ability to interact and communicate. Therefore, it also has higher requirements for real-time and anti-echo.

In many scenes such as video conference, distance education, distance consultation, video social networking and interactive games, the interactive live broadcasting technology with higher real-time performance can only be selected.

Why WEBRTC?

WebRTC is an open source, royalty free project, greatly saving our development time costs.

Led by Google, WebRTC is technologically advanced.

Browsers and terminals increasingly support WebRTC technology.

WEBRTC OVERVIEW

WebRTC stands for Web Real-Time Communication. WebRTC is not a single protocol, but a standard with a bunch of protocols and apis.

WebRTC enables the browser to share P2P audio and video and data by providing easy-to-use JavaScript APIs without the need to install any plug-ins.

WEBRTC STANDARDS AND HISTORY

In May 2010, Google bought GIPS for $68.2million and opened the WebRTC project a year later.

WEBRTCW3C Working Group: Browser API;

RTCWEBIETF Working Group: protocol, data format, security, P2P, etc.

WebRTC is not an isolated agreement. At first, it is used for real-time communication between browsers. It can also connect to existing SIP clients, PSTN networks, and mobile terminals through signaling protocols.

Core components of WEBRTC

Audio and video engines: OPUS, VP8/VP9, H264;

Transport layer protocol: The bottom transport protocol is UDP.

Media protocol: SRTP/SRTCP;

Data protocol: DTLS/SCTP;

P2P Intranet penetration: STUN/TURN/ICE/Trickle ICE;

Signaling and SDP negotiation: HTTP/WebSocket/ sip. Offer Answer model.

Our real time communication underlying platform UPRTC

The traditional WebRTC application model is P2P, we changed to server transfer model.

Fully distributed system, deployed to all edge nodes nationwide, accelerated through our internal accelerator network.

Network congestion adaptive control, strong weak network adaptability.

Optimized for underlying open source components to support high concurrency.

Flexible and efficient service signaling, supporting authentication of sensitive signaling.

Utun solves network problems such as high latency and instability across regions and ISPs.

Covering more than 200 edge nodes and more than 4000 servers; It covers 3 large operators and 2 small operators.

Uprtc enables media access, both Web and mobile.

The first project based on our underlying UPRTC platform will

The encoding format we choose is H.264 + Opus. Fix WebRTC kernel iOS side audio processing excessive CPU consumption BUG, and fix WebRTC core audio and video sync BUG. H.264 encoding of Android terminal does not support hard decoding of chips other than Qualcomm. The decoding capability of the client is limited, and the number of general conference users must be limited to eight. The server side needs to add a bit rate adaptive algorithm to automatically control the total bandwidth within 2Mbps according to the number of participants. Beauty, filter access will increase processing delay, so the performance requirements are very high.

That’s all for today’s sharing, thank you!