40

Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

  • Upload
    buingoc

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party
Page 2: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Media Services - Beyond the MCU

Richard Tworek

Page 3: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Workshop Leaders

• Chad Hart

– Dialogic

• Jason Fedore

• Tadas Straševičius

– FACEmeeting

Page 4: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

D3-4 Beyond the MCU

Chad Hart

WebRTC Expo V

Page 5: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Image source: http://thewrestlinglifeupdate.tumblr.com/

Multi-PARTY! Video Conferencing

Page 6: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Easy & cheap approach to multi-party: Mesh

6

Full Mesh

Works for a few parties

No server cost

Lowest latency

Page 7: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Mesh does not scale for many video conferees

7

Full Mesh

Clients get overloadedEncode costs more than decode

Limited uplink bandwidth

Inconsistent performance across participants

Page 8: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Traditional Telephony Approach: MCU

8

Multipoint Control Unit (MCU)Good at manipulating all media

Transcoding

Transizing

Transrating

Interworking

Server-side CPU intensive

Client can request different conference mixes

Usually client friendly

Downsizing & mixing can reduce bandwidth

Fewer client streams to process

MCU

Page 9: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Traditional MCU resource usage

9

Worst-case process:1. Each stream decoded at

the MCU

2. MCU mixes each conferee

3. MCU encodes individual mix for each conferee

MCU

11 2

23

34

455

66

Ingress streams 6

Egress streams 6

MCU decodes 6

MCU encodes 6

Page 10: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Efficient MCU resource usage

10

Efficient process:1. Each stream decoded at

the MCU

2. MCU mixes each conferee

3. MCU shares same encoder for all conferees

MCU

12

3

45

6

Ingress streams 6

Egress streams 6

MCU decodes 6

MCU encodes 1

1

Page 11: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Resource efficient MCU with encoder sharing

• 30%-50% reduction in compute resources

0%

20%

40%

60%

80%

100%

1 2 3 4 5 6 7 8 9 10 11 15 17 20

Syst

em

CP

U U

tiliz

atio

n

Conferees

Encoder sharing vs. multi-encode

Traditional MCU Dialogic Evolved MCU

Page 12: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Newer approach: SFU

12

SFU

Selective Forwarding Unit (SFU) routing

Clients send one & receive many

Client can instruct SFU which streams to send

High throughput

Can be lots of downlink bandwidth

Low latency

Page 13: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Newer approach: SFU

13

SFU

Selective Forwarding Unit (SFU) routing

Clients send one & receive many

Client can instruct SFU which streams to send

High throughput

Can be lots of downlink bandwidth

Low latency

Page 14: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

New WebRTC approach: Simulcast

14

SFU

High bitrate

Low bitrate

Selective Forwarding Unit (SFU) with Simulcast

Clients send multiple streams to SFU

one high-bit rate

one or more lower-bit

Client directs SFU which streams to receive

Reduces bandwidth vs. SFU

Simulcast in WebRTC coming

Page 15: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

A look at Google Hangouts with Simulcast

http://webrtchacks.com/hangout-analysis-philipp-hancke/

Page 16: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Future Approach with VP9 – SVC?

16

SFU

MediumHigh LowLayered bitrates:

Selective Forwarding Unit (SFU) with SVC

Clients send layered stream to SFU

Layers have varying bitrates –time, size, quality

SFU directs who gets what

Coming to WebRTC eventually

Page 17: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Multi-party video summary comparison

http://networkfuel.dialogic.com/webrtc-whitepaper

Page 18: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Building a compelling UX with a MCU

Page 19: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Video UX: Traditional method

MCU1 2

3 4

Mixed stream 1 2

3 4

3G Device

Page 20: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Video UX: Traditional method

MCU1 2

3 4

Mixed stream 1 23

3G DeviceActive Talker

Media Server Chooses Layout

Page 21: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Integrating Intel CS for WebRTC

to your Web Application

Tadas Strasevicius, CTO FACEmeeting

Jason Fedore, Founder of FACEmeeting

Page 22: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Agenda

• What is FACEmeeting?

• What problems we solved with Intel CS?

Intel CS integration to your web app:

• Conference Server Installation

• Adding Intel CS SDK to your server side

• Adding Intel CS SDK to your client side

Page 23: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

What is FACEmeeting?The next generation video platform

Page 24: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party
Page 25: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Why Intel CS for WebRTC?Stable multiparty video conferencing solution

WebRTC compatible

Signaling WebSockets

Scalability

Easy integration

Hardware acceleration in server side

Page 26: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Why you need MCU?It is not possible to make multi-party meetings

without enough device resources

High local CPU consumption

Bandwidth limit

High battery consumption

Best scenario for mobile devices

Page 27: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Peer to Peer modelThat’s why we love WebRTC

Page 28: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

MCU modelSave your device resources

Page 29: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Hybrid model with Intel CSWebRTC is so great because of P2P

{Leave data channel open using P2P}

{Fallback to Intel MCU if needed}

Page 30: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party
Page 31: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

L00ks good, h0w to st4rt?Step by step

+ Download and install Intel CS to your server

+ Using Client SDK integrate to your web application

Page 32: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

IntegrationSteps

Installing conference server

Integrating Intel CS SDK to server side

Integrating Intel CS SDK to client side

1 2 3

Page 33: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Intel CS modes

Forwarding

reducing outgoing streams

Mix Mode

use only one incoming and one outgoing

stream

Page 34: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Install Intel CS to your serverStep by step

# Download from

https://software.intel.com/sites/landingpage/webrtc/

# Configure your server for Intel CS installation

# Install it on your server (Ubuntu 12.04 LTS* 64-bit recommended)

+ bin/init.sh –deps

# Enable hardware media acceleration

# Run MCU

+ bin/start-all.sh

# Configure MCU cluster (not necessary if you don’t need scalability)

Page 35: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Fast integration to your web appFront and back ends

# Server side integration with Intel CS server SDK

# Front end integration with Intel CS client SDK

Page 36: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Intel CS integration to your web app server-side

Step by step

Add Intel CS Server API file

Create Token

Create Room (or use existing)

Page 37: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

Intel CS integration to your web app front-end

Step by step

1. Get local media

2. Get Token from server-side

3. Connect to room

4. Add event listeners

5. Subscribe mixed stream

6. Publish your local stream

Page 38: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

MCU administration Awesome tool

Server resources monitoring

Services/Rooms management

Logs monitor

Users management

Page 39: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

ContestWin FREE T-SHIRT!

http://webrtc.facemeeting.com/

Page 40: Media Services - Beyond the MCU - TMCnet · Media Services - Beyond the MCU ... •Jason Fedore •Tadas Straševičius –FACEmeeting . D3-4 Beyond the MCU Chad Hart ... Multi-party

THANK YOU

FOR YOUR ATTENTION!

Tadas StraseviciusCTO, FACEmeeting

[email protected]

Facemeeting.com/tadas

Jason FedoreFounder, FACEmeeting

[email protected]

Facemeeting.com/jason.fedore