webrtc - smarter news, analysis & research communities

26
Video Chat Issues Session: D1-5 Richard Tworek Principal WebRTC Strategies [email protected] STRATEGIES WebRTC

Upload: others

Post on 03-Feb-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Video Chat Issues

Session: D1-5 Richard Tworek Principal WebRTC Strategies [email protected]

STRATEGIES

WebRTC

Session Presenters

• Gustavo Garcia Bernardo – Cloud Architect – TokBox

• Philippe Sultan – Title – R3Load

• Dr Alex Gouaillard – CTO – Temasys

• Michael Trank – Product Manager – Apex Voice

Gustavo García Cloud Architect [email protected]

• Best possible audio quality even on noisy environments or under low bandwidth

• Adaptation to heterogeneous devices and different network conditions

• Archiving solution for recording and playback • Integration of legacy endpoints and networks • Dynamic and flexible layouts • Large scale distribution for broadcast-like events

What are our customers demanding

What solutions are we using today

Router MCU

Full Mesh “Super Peer”

MCU/Mixer Router/Relay

• Improved audio processing and coding

• Advanced and more flexible congestion and bitrate control

• Simulcast and layered video coding capabilities

What else do we need to make it real

“The goal is connectivity, the tool is the Internet Protocol, and the intelligence is end to end rather than hidden in the network.” Architectural Principles of the Internet (RFC1958)

Flexibility

Quality

Cost

Philippe Sultan CTO R3Load [email protected]

Who we are • We’re a VoIP carrier that offers an API

• Get a SIP domain, phone numbers

• Write code on your server using our REST / XML API

• And write JavaScript for WebRTC applications that

– Allows connections to the PSTN (e.g. Real click-to-call)

– Use our MCU for multi conferencing

Why we chose an MCU? • We use opensource telecom softwares

– Asterisk, FreeSWITCH, Kamailio

• Asterisk and FreeSWITCH already have good audio MCU engines

embedded

– Audio mixing on the fly

– Bridging WebRTC and the PSTN is easy

• Lesser known but nice : Licode by Lynckia

• Okay, can’t we just use that to relay streams to/from WebRTC

endpoints?

Issues with video • You can’t mix video like you mix audio

• Need to distinguish between video sources

• At the network level

– By using multiple UDP sockets for RTP

– By using multiple SSRCs over a single UDP socket for RTP

– By decoding/encoding the video frames on the MCU

Options to relay the video • Multiple PeerConnections

• A single PeerConnection with multiple video MediaStreams?

• A single PeerConnection/MediaStream with multiple videoTracks?

• A single PeerConnection/MediaStream/videoTrack?

– Needs decoding/encoding on the MCU

– FFmpeg?

Need to adapt the code • Asterisk

– ICE, SRTP, SDP included

– A good candidate to be a PeerConnection

• Developed our own signalling channel (raw JSON actually)

– “chan_websocket.so”

• Push events to the WebRTC endpoints

– Join/leave events

– Text messages

– Who’s talking events

Dr. Alex Gouaillard, CTO Temasys

Extension of reference code: p2p, a.k.a Mesh - Limits of pure meshes

Alice Bob

Alice Bob

Chris

Alice Bob

Chris David

2

6

12

Alice

Bob

Chris

Ed Dave

20

n(n-1) O(n^2)

Extension of reference code: p2p, a.k.a Mesh - Limits of pure meshes

More streams = more bandwidth but …… the real bottleneck is the CPU today - VP8 hardware support

- Tegra2 / nexus, yes but no ….. - Tegra 3? - Others

- Bandwidth opt implementation (2,000k per stream really?) - Constraint - B=AS:<>

- Encoder/decoder params? Sorry, no API. Bottom line: 9 people on this macbook air. How many with GPU support? Mobile needs love, but also need GPU support (well, mostly GPU )

Business as usual MCU: multiplexing streams - wow, super bandwidth ! - Hum, what about latency? - What happen if peers are far away …. ?

Alice

Bob

Chris

Ed Dave

MCU

5

n O(n)

Smarter topology ? - bandwidth optimization WITH layout freedom

Alice

Bob

Chris

Ed Dave

Multi cast

12,5

(n^2)/2 O(n^2)

type Streams IN Streams

OUT

p2p N-1 N-1

MCU 1 1

Hybrid

N-1 1

Smarter topology ? - bandwidth optimization WITH layout freedom

0

100

200

300

400

500

600

2 7 12 17 22

type Streams IN Streams

OUT

p2p N-1 N-1

MCU 1 1

Hybrid

N-1 1

Broadcast / seminar - group chat, but one way, and latency not a problem - can webRTC relay today ….. ? - can we send a video file through a PC ?

Prof

Multi cast

Multi cast

Multi cast

Multi cast

Multi cast

S

S

S

S

S

S

S

S S

S

S

S

S S

S

S

Michael Trank Product Manager Apex Voice [email protected]

WebRTC changes traditional web traffic patterns

• Digital bandwith utilization has grown less assymetric with new multimedia services.

• WebRTC Video streams are bandwidth hogs.

– VGA: 600 – 1.2 Mbps

– 720p: 1.0 – 2.0 Mbps

• Good user experiences will require availability of high capacity subscriber lines.

Users will mostly access WebRTC services through “Fiber to the Node” (FTTN) Subscriber Lines

• Subscriber line “last mile” consists of twisted-pair phone wires or coax cable – Annoyingly bandlimited, especially in the upstream direction – Capacity diminishes with distance from node

• The “broadband” subscriber lines available to most users will be inadequate for good user experience with WebRTC multimedia services.

Are Telecoms and Triple-Play providers holding out on us? • Fiber-to-the-Home (FTTH) is proven, off-the-

shelf, cost-effective technology.

– Passive Optical Networks

– 155 Mbps upstream

• In the USA Service providers are slow to roll out FTTH.

– They prefer to stick with ADSL2+ over copper wires?

– Lobbying and court cases permit them to avoid a large investment.

– Longstanding public policy and regulatory problem that is holding back innovation.

• WebRTC developers and service providers need be aware of this challenge

Source: Fiber to the Home Council

See Ferguson, Charles, Anatomy of a Market Failure and Policy Dilemna, Brookings, 2004

Questions 1. What is the biggest issue with large party video?

2. Should WebRTC implementations use routing or MCUs?

3. When do MCUs make sense for WebRTC conferencing?

4. When does routing make sense?

5. Should developers have the own central facilities for media or

use available cloud offers?

6. How many peer to peer video sessions can you manage before

needing a central facility? What are the limiting factors?

7. How good are the Open Source MCUs out there?