SlideShare a Scribd company logo
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 
D3-4 Media Services - 
Beyond the MCU 
Chad Hart 
WebRTC Expo V
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 2 
Image source: http://thewrestlinglifeupdate.tumblr.com/ 
Multi-PARTY! Video Conferencing
Easy & cheap approach to multi-party: Mesh 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 3 
3 
Full Mesh 
Works for a few 
parties 
No server cost 
Lowest latency
Mesh does not scale for many video conferees 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 4 
4 
Full Mesh 
Clients get overloaded 
Encode costs more than decode 
Limited uplink bandwidth 
Inconsistent performance 
across participants
Traditional Telephony Approach: MCU 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 5 
5 
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
Traditional MCU resource usage 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 6 
6 
Worst-case process: 
1. Each stream decoded 
at the MCU 
2. MCU mixes each 
conferee 
3. MCU encodes 
individual mix for 
each conferee 
MCU 
1 
1 2 
2 
3 
3 
4 
4 
5 
5 
6 
6 
Ingress streams 6 
Egress streams 6 
MCU decodes 6 
MCU encodes 6
Efficient MCU resource usage 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 7 
7 
Efficient process: 
1. Each stream decoded 
at the MCU 
2. MCU mixes each 
conferee 
3. MCU shares same 
encoder for all 
conferees 
MCU 
1 
2 
3 
4 
5 
6 
Ingress streams 6 
Egress streams 6 
MCU decodes 6 
MCU encodes 1 
1
Resource efficient MCU with encoder sharing 
100% 
80% 
60% 
40% 
20% 
0% 
Encoder sharing vs. multi-encode 
1 2 3 4 5 6 7 8 9 10 11 15 17 20 
System CPU Utilization 
Conferees 
Traditional MCU Dialogic Evolved MCU 
30%-50% reduction in compute resources 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 8
Newer approach: SFU 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 9 
9 
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
Newer approach: SFU 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 10 
10 
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
New WebRTC approach: Simulcast 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 11 
11 
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
A look at Google Hangouts with Simulcast 
http://webrtchacks.com/hangout-analysis-philipp-hancke/ 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 12
Future Approach with VP9 – SVC? 
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 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 13 
13 
SFU 
Layered bitrates: High Medium Low
Multi-party video summary comparison 
http://networkfuel.dialogic.com/webrtc-whitepaper 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 14
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 15 
Building a compelling UX with a 
MCU
Video UX: Traditional method 
MCU 
1 2 
3 4 
3G Device 
Mixed stream 1 2 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 16 
3 4
Video UX: Traditional method 
MCU 
1 2 
3 4 
3G Device 
Mixed stream 1 2 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 17 
3 
Active Talker 
Media Server Chooses Layout
Modern UX with MCU mixing, HTML5 & JavaScript 
Mixed stream 
App Server Client app 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 18 
2 
Browser 
MCU 
1 2 
3 4 
HTML5 Canvas 
Javascript 
Application-defined UX 
Layout 
"Lorem ipsum dolor sit 
amet, consectetur 
adipisicing elit, sed do 
eiusmod tempor 
incididunt ut labore et 
dolore magna aliqua. Ut 
enim ad minim veniam, 
quis nostrud 
exercitation ullamco 
laboris nisi ut aliquip ex 
ea commodo 
consequat. Duis aute 
irure dolor in 
reprehenderit in 
voluptate velit esse 
cillum dolore eu fugiat 
nulla pariatur. 
Excepteur sint occaecat 
cupidatat non proident, 
sunt in culpa qui officia 
deserunt mollit anim id 
est laborum." 
Benefits: 
Application defined UX 
User specific & customizable layout 
Lower client BW & CPU vs. mesh
What do you care more about? 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 19
CPU & processing power is expensive 
Client view Provider View 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 20
Bandwidth is not always ubiquitous or free 
Client-side Server-side 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 21
Why do you need a media server? 
Multi-party conferencing Transcoding Interworking 
Recording Stream processing Person-to-machine 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 22
Case Study: Video Recording Service 
Key Functions 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 23 
Application highlights 
Record live events – E.g. Kids 
soccer game 
Share event recording with 
family/friends – Multi-party 
stream 
Supported Recording 
Formats 
.3GP 
.mp4 
.wav 
Codecs 
G.711, Opus, AMR-NB and 
AMR-WB (voice) 
VP8, H.264 (video) 
Message Storage 
Local storage 
Remote message deposit via 
MSRP 
HTTP/ 
MSRP 
REST (HTTP) 
Application Server 
Media Server 
Message Storage 
RTP (media) 
Solution Highlights 
Software-based Media Server 
Virtualized (VM) and COTS deployment 
High Availability and Geographical Redundancy 
Scalability via Media Resource Broker 
Architected to support 3.5M Subscriber Network 
Recording 
Remote Message 
Deposit 
Transcoding 
WebRTC Signaling 
WAN
The future: gesture controls 
https://github.com/mtschirs/js-objectdetect/ 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 24
The future: machine vision 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 25
The future: augmented reality 
http://jooink.blogspot.com/2012/10/gwt-augmented-reality-howto-step-1.html 
COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 26

More Related Content

Beyond the MCU

  • 1. COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. D3-4 Media Services - Beyond the MCU Chad Hart WebRTC Expo V
  • 2. COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 2 Image source: http://thewrestlinglifeupdate.tumblr.com/ Multi-PARTY! Video Conferencing
  • 3. Easy & cheap approach to multi-party: Mesh COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 3 3 Full Mesh Works for a few parties No server cost Lowest latency
  • 4. Mesh does not scale for many video conferees COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 4 4 Full Mesh Clients get overloaded Encode costs more than decode Limited uplink bandwidth Inconsistent performance across participants
  • 5. Traditional Telephony Approach: MCU COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 5 5 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
  • 6. Traditional MCU resource usage COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 6 6 Worst-case process: 1. Each stream decoded at the MCU 2. MCU mixes each conferee 3. MCU encodes individual mix for each conferee MCU 1 1 2 2 3 3 4 4 5 5 6 6 Ingress streams 6 Egress streams 6 MCU decodes 6 MCU encodes 6
  • 7. Efficient MCU resource usage COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 7 7 Efficient process: 1. Each stream decoded at the MCU 2. MCU mixes each conferee 3. MCU shares same encoder for all conferees MCU 1 2 3 4 5 6 Ingress streams 6 Egress streams 6 MCU decodes 6 MCU encodes 1 1
  • 8. Resource efficient MCU with encoder sharing 100% 80% 60% 40% 20% 0% Encoder sharing vs. multi-encode 1 2 3 4 5 6 7 8 9 10 11 15 17 20 System CPU Utilization Conferees Traditional MCU Dialogic Evolved MCU 30%-50% reduction in compute resources COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 8
  • 9. Newer approach: SFU COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 9 9 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
  • 10. Newer approach: SFU COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 10 10 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
  • 11. New WebRTC approach: Simulcast COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 11 11 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
  • 12. A look at Google Hangouts with Simulcast http://webrtchacks.com/hangout-analysis-philipp-hancke/ COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 12
  • 13. Future Approach with VP9 – SVC? 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 COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 13 13 SFU Layered bitrates: High Medium Low
  • 14. Multi-party video summary comparison http://networkfuel.dialogic.com/webrtc-whitepaper COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 14
  • 15. COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 15 Building a compelling UX with a MCU
  • 16. Video UX: Traditional method MCU 1 2 3 4 3G Device Mixed stream 1 2 COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 16 3 4
  • 17. Video UX: Traditional method MCU 1 2 3 4 3G Device Mixed stream 1 2 COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 17 3 Active Talker Media Server Chooses Layout
  • 18. Modern UX with MCU mixing, HTML5 & JavaScript Mixed stream App Server Client app COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 18 2 Browser MCU 1 2 3 4 HTML5 Canvas Javascript Application-defined UX Layout "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." Benefits: Application defined UX User specific & customizable layout Lower client BW & CPU vs. mesh
  • 19. What do you care more about? COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 19
  • 20. CPU & processing power is expensive Client view Provider View COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 20
  • 21. Bandwidth is not always ubiquitous or free Client-side Server-side COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 21
  • 22. Why do you need a media server? Multi-party conferencing Transcoding Interworking Recording Stream processing Person-to-machine COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 22
  • 23. Case Study: Video Recording Service Key Functions COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 23 Application highlights Record live events – E.g. Kids soccer game Share event recording with family/friends – Multi-party stream Supported Recording Formats .3GP .mp4 .wav Codecs G.711, Opus, AMR-NB and AMR-WB (voice) VP8, H.264 (video) Message Storage Local storage Remote message deposit via MSRP HTTP/ MSRP REST (HTTP) Application Server Media Server Message Storage RTP (media) Solution Highlights Software-based Media Server Virtualized (VM) and COTS deployment High Availability and Geographical Redundancy Scalability via Media Resource Broker Architected to support 3.5M Subscriber Network Recording Remote Message Deposit Transcoding WebRTC Signaling WAN
  • 24. The future: gesture controls https://github.com/mtschirs/js-objectdetect/ COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 24
  • 25. The future: machine vision COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 25
  • 26. The future: augmented reality http://jooink.blogspot.com/2012/10/gwt-augmented-reality-howto-step-1.html COMPANY CONFIDENTIAL © COPYRIGHT 2014 DIALOGIC INC. ALL RIGHTS RESERVED. 26

Editor's Notes

  1. In most WebRTC design is additional bi-directional stream is added for each party. Each end-point must fully encode and decode the stream for each party.
  2. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  3. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  4. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  5. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  6. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  7. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  8. The better approach is to centralize and mix all the media in an MCU and send a single or subset of streams to the each device.
  9. Some server cost Reduced bandwidth Reduced client processing Requires specialized clients