SlideShare una empresa de Scribd logo
1 de 27
Scaling Video
Infrastructure
Dr. Alex Gouaillard
CTO Temasys Communications
Limits of P2P
Other interesting configurations / use cases
MCU internals
Open Source MCUs
Limits of P2P
Other interesting configurations / use cases
MCU internals
Open Source MCUs
Limits of P2P: client side scalability
Alice Bob
Alice Bob
Chris
Alice Bob
Chris David
2
6
12
Alice
Bob
Chris
EdDave
20
n(n-1) O(n^2)
Business as usual MCU: multiplexing streams
- wow, super bandwidth !
- Hum, wait, what about latency?
- What happen if peers are far away …. ?
- Interface layout ??
=> CP, VAS
Ok, that’s great but ….
- Chat? I mean, if only to pass a link
- Collaboration (white board?)
- Services other than A/V?
- Usage beyond the boardroom model: BYOD device, work from home, ….
Alice
Bob
Chris
EdDave
MCU
5
n O(n)
Smarter topology ?
Alice
Bob
Chris
EdDave
broad
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
Limits of P2P
Other interesting configurations / use cases
MCU internals
Open Source MCUs
Broadcast / seminar
Prof
Broad
cast
Broad
cast
Broad
cast
Broad
cast
Broad
cast
S
S
S
S
S
S
S
SS
S
S
S
SS
S
S
Heterogeneous – Bandwidth, CPU, Display - Concept
Desk.
Desk.
Cr.
Book
Mobil
e
Mobil
e
MCU
HD
HD
SD
QVGA
QVGA
Heterogeneous – Case 1: simulcast
The user send the same stream at different resolutions
Pro: easy on the server side (switch)
Cons: overhead on client (still better than p2p)
Desk.
HD
MCU
SD
QVGA
Cr.
Book
Mobile
Desk.
HD
SD
QVGA
Heterogeneous – Case 2: video Proc. In MCU
Scale down and/or drop frames in the MCU
Pro: no overhead on client
Con: full overhead on server
(need access to raw frame)
Desk. MCU
HD Cr.
Book
Mobile
Desk.
HD
SD
QVGA
Heterogeneous – Case 3: streams management In MCU (SVC)
- PRO: Only 30% overhead on client.
- PRO: No need for raw media on server
Limits of P2P
Other interesting configurations / use cases
MCU internals
Open Source MCUs
MCU Internals – The Onion
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
MAGIC
Raw Media
loadencode encrypt
VP8 RTP SRTP
stream
UDP
TCP
TLS
MCU Internals – Variation 1: old school MCU
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
Scale &
Rotate
Raw
Media
loadencode encrypt
VP8 RTP SRTP
stream
UDP
TCP
TLS
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
Scale &
Rotate
Raw
Media
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
Scale &
Rotate
Raw
Media
MCU Internals – Variation 2: relay / TURN
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
MAGIC
Raw Media
loadencode encrypt
VP8 RTP SRTP
stream
UDP
TCP
TLS
MCU Internals – Variation 3: Broadcast
unstream
UDP
TCP
TLS
stream
UDP
TCP
TLS
multicopy
stream
UDP
TCP
TLS
stream
UDP
TCP
TLS
stream
UDP
TCP
TLS
stream
UDP
TCP
TLS
MCU Internals – Variation 4: Recording
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
record
Raw Media
MCU Internals – Variation 5: Transcoding
decryptunstream unload
UDP
TCP
TLS
SRTP RTP VP8
Decode
Raw Media
loadencode encrypt
H264 RTP SRTP
stream
UDP
TCP
TLS
Limits of P2P
Other interesting configurations / use cases
MCU internals
Open Source MCUs
Foreword on Open Source MCUs
● All Chrome/Mozilla ready (except Jitsi)
● No data channel (Janus is the closest to have it)
● None gave huge CPU saving but expect bandwidth saving
Kurento (Total files:210/LoC:25000) - JAVA
PROS CONS
● Licensed under L-GPL License.
● 2$M EUR support from EU
● Using GStreamer
● Developers answering quickly
● Large project, Complicated design
● no low level API
● 3 entities: Web Server -> Connector-
>Media Server
● Academic driven.
● Webrtc Loopback to Http player. Http player = possibility to integrate into IE or Safari but latency of 5 secs.
Currently there is a bug on the IE/Safari support.
● Audio + Video recorder into webm or mp4 format (one user only)
Currently the javascript API is “one user only”. This means that it is not possible to mix source of different session
(availability expected: end of the month).
Available with the JAVA API:
● Video conferencing up to 4 peers
Licode/ Lynckia (Total files:110/LoC:26000) – C++
PROS CONS
● MIT License ● No working example/demo
● Project dead? (last commit on the
MCU 2 months ago:
https://github.com/ging/licode/tree/m
aster/erizo)
Personal Comment: Even the demos on their website are down: http://chotis2.dit.upm.es/
Jitsi (Total files:15/LoC:8000) - JAVA
PROS CONS
● Licensed under MIT license
● Small code base
● Bandwidth improvement
● XMPP (federation, presence, …)
● Installation can be difficult
● No real CPU improvement
What I did with it/Available demos tested:
● Video conferencing https://meet.jit.si/
Janus (Total files:30/LoC:14,000) - C
PROS CONS
● Low level. CPU efficient.
● Easy to install/use
● Bandwidth management
● Easy Extension through plugin arch.
● Developer answering FAST.
● License: GPL
• Each function needs to be a plugin
Personal Comment: I have been able to test many functionalities and easily. After one day studying the
source code I’m able to understand the main functionalities
What I did with it/Available demos tested:
● Video/Audio conferencing with control for the number of publisher (1 publisher = broadcasting) and number of
person in the room
● Screensharing
● Streaming Audio file: on demand (different streaming contexts for each client) or live (same streaming context for
each client)
● Streaming rtp source using a rtp source generator (gstreamer = audio+video -> gateway -> clients)
● Audio conferencing: mix all audio of other peers into one audio stream. Possible to record the audio into wav.
● Audio recording into .opus format
● NOT TESTED Sip Gateway (works with Asterisk)
QUESTIONS
THANK YOU!

Más contenido relacionado

Más de Alexandre Gouaillard

DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc projectAlexandre Gouaillard
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoTAlexandre Gouaillard
 
2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The ArtAlexandre Gouaillard
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - EnglishAlexandre Gouaillard
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語Alexandre Gouaillard
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversAlexandre Gouaillard
 
Webrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersWebrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersAlexandre Gouaillard
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesAlexandre Gouaillard
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC StackAlexandre Gouaillard
 
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Alexandre Gouaillard
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFAlexandre Gouaillard
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015Alexandre Gouaillard
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaAlexandre Gouaillard
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 

Más de Alexandre Gouaillard (17)

WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2WebRTC Status Update - 2017Q2
WebRTC Status Update - 2017Q2
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
2014 Webrtc Summit & Cloud Expo, RealTime Interactions for IoT
 
2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art2016 Q1 - WebRTC testing State of The Art
2016 Q1 - WebRTC testing State of The Art
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English
 
2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語2016 February - WebRTC Conference Japan - 日本語
2016 February - WebRTC Conference Japan - 日本語
 
WebRTC Object Model API - Transceivers
WebRTC Object Model API - TransceiversWebRTC Object Model API - Transceivers
WebRTC Object Model API - Transceivers
 
2015 Q4 webrtc standards update
2015 Q4 webrtc standards update2015 Q4 webrtc standards update
2015 Q4 webrtc standards update
 
overview-peerconnection-lifetime
overview-peerconnection-lifetimeoverview-peerconnection-lifetime
overview-peerconnection-lifetime
 
Webrtc plugins for Desktop Browsers
Webrtc plugins for Desktop BrowsersWebrtc plugins for Desktop Browsers
Webrtc plugins for Desktop Browsers
 
WebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differences
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC Stack
 
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
Open Source Options for Building your WebRTC Solution, May 2015 @ WebRTC Conf...
 
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SFWebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
WebRTC Infrastructure scalability notes - Geek'n Kranky - June 2014 @ Google SF
 
WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015WebRTC status and what to expect in 2015
WebRTC status and what to expect in 2015
 
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlantaPlugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 

Último

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 

Último (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

Scaling WebRTC Video Infrastructure, June 2014 @ WebRTC conference and Expo

  • 1. Scaling Video Infrastructure Dr. Alex Gouaillard CTO Temasys Communications
  • 2. Limits of P2P Other interesting configurations / use cases MCU internals Open Source MCUs
  • 3. Limits of P2P Other interesting configurations / use cases MCU internals Open Source MCUs
  • 4. Limits of P2P: client side scalability Alice Bob Alice Bob Chris Alice Bob Chris David 2 6 12 Alice Bob Chris EdDave 20 n(n-1) O(n^2)
  • 5. Business as usual MCU: multiplexing streams - wow, super bandwidth ! - Hum, wait, what about latency? - What happen if peers are far away …. ? - Interface layout ?? => CP, VAS Ok, that’s great but …. - Chat? I mean, if only to pass a link - Collaboration (white board?) - Services other than A/V? - Usage beyond the boardroom model: BYOD device, work from home, …. Alice Bob Chris EdDave MCU 5 n O(n)
  • 6. Smarter topology ? Alice Bob Chris EdDave broad 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
  • 7. 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
  • 8. Limits of P2P Other interesting configurations / use cases MCU internals Open Source MCUs
  • 10. Heterogeneous – Bandwidth, CPU, Display - Concept Desk. Desk. Cr. Book Mobil e Mobil e MCU HD HD SD QVGA QVGA
  • 11. Heterogeneous – Case 1: simulcast The user send the same stream at different resolutions Pro: easy on the server side (switch) Cons: overhead on client (still better than p2p) Desk. HD MCU SD QVGA Cr. Book Mobile Desk. HD SD QVGA
  • 12. Heterogeneous – Case 2: video Proc. In MCU Scale down and/or drop frames in the MCU Pro: no overhead on client Con: full overhead on server (need access to raw frame) Desk. MCU HD Cr. Book Mobile Desk. HD SD QVGA
  • 13. Heterogeneous – Case 3: streams management In MCU (SVC) - PRO: Only 30% overhead on client. - PRO: No need for raw media on server
  • 14. Limits of P2P Other interesting configurations / use cases MCU internals Open Source MCUs
  • 15. MCU Internals – The Onion decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode MAGIC Raw Media loadencode encrypt VP8 RTP SRTP stream UDP TCP TLS
  • 16. MCU Internals – Variation 1: old school MCU decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode Scale & Rotate Raw Media loadencode encrypt VP8 RTP SRTP stream UDP TCP TLS decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode Scale & Rotate Raw Media decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode Scale & Rotate Raw Media
  • 17. MCU Internals – Variation 2: relay / TURN decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode MAGIC Raw Media loadencode encrypt VP8 RTP SRTP stream UDP TCP TLS
  • 18. MCU Internals – Variation 3: Broadcast unstream UDP TCP TLS stream UDP TCP TLS multicopy stream UDP TCP TLS stream UDP TCP TLS stream UDP TCP TLS stream UDP TCP TLS
  • 19. MCU Internals – Variation 4: Recording decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode record Raw Media
  • 20. MCU Internals – Variation 5: Transcoding decryptunstream unload UDP TCP TLS SRTP RTP VP8 Decode Raw Media loadencode encrypt H264 RTP SRTP stream UDP TCP TLS
  • 21. Limits of P2P Other interesting configurations / use cases MCU internals Open Source MCUs
  • 22. Foreword on Open Source MCUs ● All Chrome/Mozilla ready (except Jitsi) ● No data channel (Janus is the closest to have it) ● None gave huge CPU saving but expect bandwidth saving
  • 23. Kurento (Total files:210/LoC:25000) - JAVA PROS CONS ● Licensed under L-GPL License. ● 2$M EUR support from EU ● Using GStreamer ● Developers answering quickly ● Large project, Complicated design ● no low level API ● 3 entities: Web Server -> Connector- >Media Server ● Academic driven. ● Webrtc Loopback to Http player. Http player = possibility to integrate into IE or Safari but latency of 5 secs. Currently there is a bug on the IE/Safari support. ● Audio + Video recorder into webm or mp4 format (one user only) Currently the javascript API is “one user only”. This means that it is not possible to mix source of different session (availability expected: end of the month). Available with the JAVA API: ● Video conferencing up to 4 peers
  • 24. Licode/ Lynckia (Total files:110/LoC:26000) – C++ PROS CONS ● MIT License ● No working example/demo ● Project dead? (last commit on the MCU 2 months ago: https://github.com/ging/licode/tree/m aster/erizo) Personal Comment: Even the demos on their website are down: http://chotis2.dit.upm.es/
  • 25. Jitsi (Total files:15/LoC:8000) - JAVA PROS CONS ● Licensed under MIT license ● Small code base ● Bandwidth improvement ● XMPP (federation, presence, …) ● Installation can be difficult ● No real CPU improvement What I did with it/Available demos tested: ● Video conferencing https://meet.jit.si/
  • 26. Janus (Total files:30/LoC:14,000) - C PROS CONS ● Low level. CPU efficient. ● Easy to install/use ● Bandwidth management ● Easy Extension through plugin arch. ● Developer answering FAST. ● License: GPL • Each function needs to be a plugin Personal Comment: I have been able to test many functionalities and easily. After one day studying the source code I’m able to understand the main functionalities What I did with it/Available demos tested: ● Video/Audio conferencing with control for the number of publisher (1 publisher = broadcasting) and number of person in the room ● Screensharing ● Streaming Audio file: on demand (different streaming contexts for each client) or live (same streaming context for each client) ● Streaming rtp source using a rtp source generator (gstreamer = audio+video -> gateway -> clients) ● Audio conferencing: mix all audio of other peers into one audio stream. Possible to record the audio into wav. ● Audio recording into .opus format ● NOT TESTED Sip Gateway (works with Asterisk)