Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

12
06/22/2022 1

description

Large Scale WebRTC Panel - WebRTC Conference & Expo III - Santa Clara While many deployments anticipate large numbers of users, they generally consider the actual WebRTC event to be with a small group of users. Webcasting, gaming, virtual reality, education and a multitude of other applications will require large to very large groups of users to be in actual real-time simultaneously. This session will examine the issues and potential solutions for using WebRTC for these level deployments.

Transcript of Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

Page 1: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

1

Page 2: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

2

Delivering Large Scale WebRTC

Richard TworekPrincipalWebRTC Strategies STRATEGIES

WebRTC

Page 3: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

3

• Previously CIO France

• Co-founder & CEO

• WebRTC Working Group

Arnaud Budkiewicz

Page 4: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

4

Large Scale Challenges: client

#1 WebRTC B2C platform, in production since early 2012• Frictionless– Simple: a Permanent link to be reached– Any browser: WebRTC & Flash >> the same UX, features

based on 1 million minutes of video call /month

Page 5: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

5

Chrome App

• Open: No registration, no need to be friend>> the right signaling protocol: XMPP>> to build a Guest mode>> and Gateways to G+, FB, Y!, VK… with SSO

• Add Full-time Presence to the Web>> Android Native App

Large Scale Challenges: client

Page 6: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

6

• Cross-platform WebRTC video calls: >> all implementations, all devices– Firefox, Chrome, Chrome OS Devices– Android Mobile Web & Native app, Google Glass

321

from a QRcodeto a video callin a mobile browser

Large Scale Challenges: client

Page 7: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

7

• Video & Audio Quality, Battery life: Codecs– OPUS & VP8: software– H264

• Firefox started H264 integration• Could help leverage WebRTC

Large Scale Challenges: client• Security– WebRTC flows 256-bit AES encrypted– other communications => HTTPS

– First VP8 devices• Google Nexus 5• Kindle Fire HDX

Page 8: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

8

• Multi-party WebRTC Conferencing: pushing the limits– 1 permanent link per user: Dedicated signaling– 4 parties video conferencing

• High CPU usage on the client• Mesh network: no MCU

– Chat without Chat server: Data channels– Screen sharing, Chrome only

Large Scale Challenges: client

Page 9: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

9

Network communications• Flexible, interoperability– REST/JSONWebRTC standard does NOTinclude the signaling

• XMPP over HTTP• LibJingle

92%

• NAT, Firewalls, 3G/4G– WebRTC => STUN/TURN– Flash => RTMP, RTMPT

Large Scale Challenges: net

Page 10: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

10

Large Scale Challenges: backendServer side• Automated, Scalable, Elastic

Cloud based on AWS EC2• Gateways: make the contact list run fast

1 gateway activated by 1 user get list & presence ALL his contacts

+200 Million contacts => Cache Redis• Geo-localize: to be close to the user

=> DB sharding, TURN clustered

Page 11: Delivering Large Scale WebRTC - Bistri - WebRTC Conference & Expo III - Santa Clara

04/11/2023

11

Large Scale Challenges: APIs• Easy to integrate

WordPress, JS, WidgetsSDK Android

• Flexible– XMPP? => Dedicated signaling– Presence management => Websocket Clustered

• Secure =>Api Token /application, domain locked

• Scalable architecture– Socket.io + Nodejs + Redis + pub/sub + MemCache