SlideShare a Scribd company logo
1 of 37
Developing WebRTC applications with advanced 
media processing 
Luis Lopez 
lulop@kurento.org 
www.kurento.org
WebRTC infrastructures: at the heart of the 
long tail 
Peer-to-Peer WebRTC Application (without media infrastructure) 
WebRTC video stream 
WebRTC Application based on media infrastructure 
media infrastructure
WebRTC media servers: the simplest WebRTC 
infrastructure 
• Media server 
– Monolithic software 
– Based on shared memory 
– Scales well vertically 
– Can’t scale horizontally 
• Media server vendors 
– Software vendors 
– Hardware vendors
WebRTC media server vendors
Common functions of WebRTC media servers 
Transcoding media server 
VP8 H.264 
MCU/SFU media server 
Recording media server
Evolution of media servers: functionality 
What common WebRTC 
Media Servers do: 
• Transcoding 
• MCU 
• Recording 
What future Media 
Servers will do: 
• Flexible processing 
• Augmented reality 
• Blending 
• Mixing 
• Analyzing 
• Etc. 
Media is 
here 
Media goes 
there 
Current media servers 
Transcoding 
MCU/SFU 
Recording 
Media is 
here 
Rich Media 
goes there 
Future media servers 
Media 
Events 
Transcoding, 
MCU/SFU, 
Recording, 
Enrich, 
Augment, 
Analyze, 
Combine, 
Transform, 
Adapt, … 
Context 
Content 
Commands
Why is this important? 
Explicit augmentation 
with target information 
Implicit augmentation 
with external knowledge 
Why do you communicate? 
To see other’s face? 
WebRTC convergence with Telco 
Why don’t converge with Content?
Kurento Media Server: an open source 
software WebRTC media server 
Applications define the processing 
of streams getting through KMS 
Send 
Receive 
Analyze 
Augment 
Enrich 
Transform 
Transcode 
Record 
Process 
Replicate 
Media 
Source 
Media 
Sink 
KMS 
Java 
API 
JavaScript 
API 
Other 
languages
What does Kurento mean?
Kurento History 
2012 
•Kurento goes 
open source 
LGPL v2.1. 
Professional 
services 
provided by 
Naevatec 
(startup) 
June’13 
•1M€ of 
investment for 
providing 
multimedia 
capabilities to 
FI-WARE 
Dec’13 
•Kurento 
Featured at 
WebRTC Expo 
(Paris) 
Feb’14 
•3.3M€ of 
investment for 
making 
Kurento an 
elastic cloud 
platform 
(NUBOMEDIA) 
April’14 
•Kurento 
featured at IMS 
World 
Conference 
(Barcelone) 
July’14 
•Kurento 
featured at 
DevCon5 (New 
York) 
Sep’14 
•500K€ of 
investment for 
maintenance of 
Kurento FI-WARE 
APIs
Kurento Client API 
Sink	 SRC	 
Sink	 
SRC	 
SRC	 Sink	 
Sink	 
 
Media Element 
• Provides a specific media 
functionality 
› Send/receive media 
› Process media 
› Transform media 
• Exchange media through 
› Sources 
› Sinks 
 
Media pipeline 
• Chain of media elements 
implementing the desired media 
logic. 
• The Media API provides the 
capability of creating media 
pipelines by joining media 
elements of the toolbox 
Media Element 
Sink 
SRC
Creating applications: the Lego game 
H pEndpoint	 
WebRtcEndpoint	 
Protocols	 
&	Codecs	 
Application 2 
IPTVConnector	 Mixer	 
FaceDetector	 
PointerTracker	 
BarCodeReader	 
Computer		 
Vision	 
HeartRateBlender	 
ChromaFilter	 
FaceOverlay	 
Augmented		 
Reality	 
Mul sensory		 
Mul media	 
DataChannelEndpoint	 
PlayerEndpoint	 
RecorderEndpoint	 
Media		 
Repository	 
IPTV	 
Integra on	 
Group	 
Communica ons	 
Sink% 
Sink% SRC% 
RtpEndpoint	 
SRC$ 
Sink% SRC% 
Sink% 
SRC% 
Sink% 
Sink% 
SRC% 
SRC% 
Sink% 
SRC% 
Sink% 
Sink% 
SRC% 
SRC% 
Sink% 
Sink% 
SRC$ 
CdnUpload	 
Sink% 
Sink	 SRC	 
Sink	 
Sink	 
SRC	 
SRC	 Sink	 
Sink	 
Application 3 
Sink	 
SRC	 
Sink	 
Sink	 
SRC	 Sink	 
Sink	 SRC	 
Application 1 
Sink	 SRC	 
Sink	 SRC	 
Sink	 SRC	 
Sink	 SRC	 
Toolbox of media elements
Architecting a Kurento application
Ready?
Installing Kurento 
• The doc 
– http://www.kurento.org/docs/current/installation_guide.html 
• The video 
– https://www.youtube.com/watch?v=RGdDpyZAPus 
• In short 
sudo add-apt-repository ppa:kurento/kurento 
wget -O - http://ubuntu.kurento.org/kurento.gpg.key | sudo apt-key add - 
sudo apt-get update 
sudo apt-get install kurento-media-server
Get a Kurento cloud instance for free 
• FI-WARE (http://www.fi-ware.org) 
– Funded through European Commission research programmes 
– PaaS cloud infrastructure offering a bunch of capabilities and 
enablers for the “Future Internet” 
– You can get money developing WebRTC applications with 
Kurento and FI-WARE 
• http://www.fi-ware.org/accelerators/ 
• How to get a Kurento instance in FIWARE in 5 minutes 
– https://www.youtube.com/watch?v=lFM12pXeWu8
Kurento “Hello World”
Source & demo 
https://github.com/Kurento/kurento-tutorial-js/ 
tree/master/kurento-hello-world
Recording and playing 
Media Pipeline 
WebRTC 
Streaming 
Sink SRC 
Sink 
Media 
to 
file or 
URI 
Media Pipeline 
WebRTC 
Streaming 
Sink SRC 
Media 
from 
file or 
URI 
SRC 
WebRtcEndpoint 
WebRtcEndpoint 
RecorderEndpoint 
PlayerEndpoint
Source code 
kurentoClient.create("MediaPipeline", function(error, p) { 
if(error) return onError(error); 
pipeline = p; 
pipeline.create("WebRtcEndpoint", function(error, webRtc){ 
if(error) return onError(error); 
pipeline.create(”RecorderEndpoint”, function(error, recorder){ 
if(error) return onError(error); 
webRtc.connect(recorder, function(error){ 
if(error) return onError(error); 
webRtc.connect(webRtc, function(error){ 
if(error) return onError(error); 
webRtc.processOffer(sdpOffer, … 
if(error) return onError(error); 
webRtcPeer.processSdpAnswer(sdpAnswer); 
}); 
}); 
}); 
}); 
});
I don’t like callbacks 
From that code structure 
to this code structure
Second try … generators 
• https://github.com/Kurento/kurento-tutorial-js/ 
tree/master/kurento-hello-world-recorder-generator 
• Transactions very soon … 
– By end Q4’14
Advanced media processing
Source & demo 
• https://github.com/Kurento/kurento-tutorial-js/ 
tree/master/kurento-magic-mirror
Create your own filter: working with Kurento 
external modules 
WebRTC 
Streaming 
Sink SRC 
WebRtcEndpoint 
Sink 
ArMarkerDetector 
SRC
Source & demo 
• https://github.com/Kurento/kurento-tutorial-js/ 
tree/master/kurento-alvar
Putting it altogether: calls with recording and 
filtering
Source & demo: let’s switch to Java for fun 
• https://github.com/Kurento/kurento-tutorial-java/ 
tree/master/kurento-one2one-call-advanced
Bonus: going beyond the media server vision 
WebRTC Application based on media infrastructure 
WebRTC Cloud
WebRTC cloud infrastructures 
IaaS SaaS 
PaaS 
Provider 
- Computing resources 
Provider 
Developer 
- Development API 
- Installation 
- Administration 
Developer 
- Security 
- Application logic 
- Application logic 
Provider 
- Service 
Developer 
- Nothing to do
Multimedia PaaS: scalability types 
“Broadcasting 
Non-RTC” 
Number of concurrent sessions 
Number of users per session 
WebRTC PaaS Phone system 
TV 
Broadcasting 
CDNs 
Media Server 
based Services 
“RTC calls” 
“Media server 
RTC” 
“Beyond RTC calls”
The scalability problem in call clouds 
Call Call Call Call Call Call 
Call Call Call Call Call Call 
Call Call Call Call Call Call
The scalability problem beyond call clouds 
Media stream 
One to MANY
WebRTC services beyond the call model 
Users in call Monitoring users 
Users can dynamically 
change their role
Nubomedia: Kurento as an elastic media 
server 
Load%Balancer%Func. on% 
Applica. on%Server%Func. on% 
Broker%Func. on% 
Media%Server%Func. on% 
IaaS%Cloud%Manager% 
Cloud% 
Orchestrator%
Thank you 
Partners 
Luis Lopez 
lulop@kurento.org 
www.kurento.org

More Related Content

What's hot

Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
 
Developing applications with Kurento
Developing applications with KurentoDeveloping applications with Kurento
Developing applications with KurentoLuis Lopez
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoLuis Lopez
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCLuis Lopez
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond callsLuis Lopez
 
Kurento - FI-WARE Bootcamp
Kurento - FI-WARE BootcampKurento - FI-WARE Bootcamp
Kurento - FI-WARE BootcampIvan Gracia
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoIvan Gracia
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingFIWARE
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...Boni García
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96Boni García
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArt Matsak
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyJose de Castro
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)Chad Hart
 
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesVladimir Beloborodov
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Lorenzo Miniero
 

What's hot (20)

Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
 
Developing applications with Kurento
Developing applications with KurentoDeveloping applications with Kurento
Developing applications with Kurento
 
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoFOSDEM 2016 - Creating rich WebRTC Applications with Kurento
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
 
Kurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTCKurento: a media server architecture and API for WebRTC
Kurento: a media server architecture and API for WebRTC
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond calls
 
Kurento - FI-WARE Bootcamp
Kurento - FI-WARE BootcampKurento - FI-WARE Bootcamp
Kurento - FI-WARE Bootcamp
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - Kurento
 
Kurento FIWARE
Kurento FIWAREKurento FIWARE
Kurento FIWARE
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream Processing
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
 
WebRTC
WebRTCWebRTC
WebRTC
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)
 
WebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and OpportunitiesWebRTC on Mobile Devices: Challenges and Opportunities
WebRTC on Mobile Devices: Challenges and Opportunities
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 

Viewers also liked

NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...Luis Lopez
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Luis Lopez
 
Open platform - Conferencia Esri 2016
Open platform  - Conferencia Esri 2016Open platform  - Conferencia Esri 2016
Open platform - Conferencia Esri 2016Esri España
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkBilly Shih
 
Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...Guido Schmutz
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices Apigee | Google Cloud
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityMongoDB
 
Mining public datasets using opensource tools: Zeppelin, Spark and Juju
Mining public datasets using opensource tools: Zeppelin, Spark and JujuMining public datasets using opensource tools: Zeppelin, Spark and Juju
Mining public datasets using opensource tools: Zeppelin, Spark and Jujuseoul_engineer
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )mganeko
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software ArchitectureChris F Carroll
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsApigee | Google Cloud
 
Transforming Software Architecture for the 21st Century (September 2009)
Transforming Software Architecture for the 21st Century (September 2009)Transforming Software Architecture for the 21st Century (September 2009)
Transforming Software Architecture for the 21st Century (September 2009)Dion Hinchcliffe
 
IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?Guido Schmutz
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...Guido Schmutz
 

Viewers also liked (17)

NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
 
Open platform - Conferencia Esri 2016
Open platform  - Conferencia Esri 2016Open platform  - Conferencia Esri 2016
Open platform - Conferencia Esri 2016
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster Framework
 
RESTful Web API
RESTful Web APIRESTful Web API
RESTful Web API
 
Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph introduction 11252014
Personagraph introduction 11252014
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
 
Mining public datasets using opensource tools: Zeppelin, Spark and Juju
Mining public datasets using opensource tools: Zeppelin, Spark and JujuMining public datasets using opensource tools: Zeppelin, Spark and Juju
Mining public datasets using opensource tools: Zeppelin, Spark and Juju
 
SFUの話
SFUの話SFUの話
SFUの話
 
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
Nodeで操るKurentoメディアサーバー ( Kurento + WebRTC + Node.js )
 
Agile Software Architecture
Agile Software ArchitectureAgile Software Architecture
Agile Software Architecture
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
 
Transforming Software Architecture for the 21st Century (September 2009)
Transforming Software Architecture for the 21st Century (September 2009)Transforming Software Architecture for the 21st Century (September 2009)
Transforming Software Architecture for the 21st Century (September 2009)
 
IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?IoT Architecture - are traditional architectures good enough?
IoT Architecture - are traditional architectures good enough?
 
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
IoT Architecture - Are Traditional Architectures Good Enough or do we Need Ne...
 

Similar to Recording and media manipulation of WebRTC streams

0150519-kurento.pdf
0150519-kurento.pdf0150519-kurento.pdf
0150519-kurento.pdfDejVoleti
 
Nubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platformNubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platformIvan Gracia
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceTsahi Levent-levi
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)Victor Pascual Ávila
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUppersideConferences
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...Brian Pulito
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)Victor Pascual Ávila
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014Victor Pascual Ávila
 
Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezAlberto González Trastoy
 
Janus/Asterisk @ Astricon 2017
Janus/Asterisk @ Astricon 2017Janus/Asterisk @ Astricon 2017
Janus/Asterisk @ Astricon 2017Lorenzo Miniero
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introVictor Pascual Ávila
 

Similar to Recording and media manipulation of WebRTC streams (20)

0150519-kurento.pdf
0150519-kurento.pdf0150519-kurento.pdf
0150519-kurento.pdf
 
Nubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platformNubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platform
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 
WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)WebRTC standards update (13 Nov 2013)
WebRTC standards update (13 Nov 2013)
 
Upperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards UpdateUpperside Webinar - WebRTC Standards Update
Upperside Webinar - WebRTC Standards Update
 
Workshop oracle
Workshop oracleWorkshop oracle
Workshop oracle
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)WebRTC Standards Update (October 2014)
WebRTC Standards Update (October 2014)
 
WebRTC standards update - November 2014
WebRTC standards update - November 2014WebRTC standards update - November 2014
WebRTC standards update - November 2014
 
Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto Gonzalez
 
Janus/Asterisk @ Astricon 2017
Janus/Asterisk @ Astricon 2017Janus/Asterisk @ Astricon 2017
Janus/Asterisk @ Astricon 2017
 
Upperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC introUpperside WebRTC conference - WebRTC intro
Upperside WebRTC conference - WebRTC intro
 
Kurento cpmx
Kurento cpmxKurento cpmx
Kurento cpmx
 
WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 

Recently uploaded

₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 

Recently uploaded (20)

₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 

Recording and media manipulation of WebRTC streams

  • 1.
  • 2. Developing WebRTC applications with advanced media processing Luis Lopez lulop@kurento.org www.kurento.org
  • 3. WebRTC infrastructures: at the heart of the long tail Peer-to-Peer WebRTC Application (without media infrastructure) WebRTC video stream WebRTC Application based on media infrastructure media infrastructure
  • 4. WebRTC media servers: the simplest WebRTC infrastructure • Media server – Monolithic software – Based on shared memory – Scales well vertically – Can’t scale horizontally • Media server vendors – Software vendors – Hardware vendors
  • 6. Common functions of WebRTC media servers Transcoding media server VP8 H.264 MCU/SFU media server Recording media server
  • 7. Evolution of media servers: functionality What common WebRTC Media Servers do: • Transcoding • MCU • Recording What future Media Servers will do: • Flexible processing • Augmented reality • Blending • Mixing • Analyzing • Etc. Media is here Media goes there Current media servers Transcoding MCU/SFU Recording Media is here Rich Media goes there Future media servers Media Events Transcoding, MCU/SFU, Recording, Enrich, Augment, Analyze, Combine, Transform, Adapt, … Context Content Commands
  • 8. Why is this important? Explicit augmentation with target information Implicit augmentation with external knowledge Why do you communicate? To see other’s face? WebRTC convergence with Telco Why don’t converge with Content?
  • 9. Kurento Media Server: an open source software WebRTC media server Applications define the processing of streams getting through KMS Send Receive Analyze Augment Enrich Transform Transcode Record Process Replicate Media Source Media Sink KMS Java API JavaScript API Other languages
  • 11. Kurento History 2012 •Kurento goes open source LGPL v2.1. Professional services provided by Naevatec (startup) June’13 •1M€ of investment for providing multimedia capabilities to FI-WARE Dec’13 •Kurento Featured at WebRTC Expo (Paris) Feb’14 •3.3M€ of investment for making Kurento an elastic cloud platform (NUBOMEDIA) April’14 •Kurento featured at IMS World Conference (Barcelone) July’14 •Kurento featured at DevCon5 (New York) Sep’14 •500K€ of investment for maintenance of Kurento FI-WARE APIs
  • 12. Kurento Client API Sink SRC Sink SRC SRC Sink Sink  Media Element • Provides a specific media functionality › Send/receive media › Process media › Transform media • Exchange media through › Sources › Sinks  Media pipeline • Chain of media elements implementing the desired media logic. • The Media API provides the capability of creating media pipelines by joining media elements of the toolbox Media Element Sink SRC
  • 13. Creating applications: the Lego game H pEndpoint WebRtcEndpoint Protocols & Codecs Application 2 IPTVConnector Mixer FaceDetector PointerTracker BarCodeReader Computer Vision HeartRateBlender ChromaFilter FaceOverlay Augmented Reality Mul sensory Mul media DataChannelEndpoint PlayerEndpoint RecorderEndpoint Media Repository IPTV Integra on Group Communica ons Sink% Sink% SRC% RtpEndpoint SRC$ Sink% SRC% Sink% SRC% Sink% Sink% SRC% SRC% Sink% SRC% Sink% Sink% SRC% SRC% Sink% Sink% SRC$ CdnUpload Sink% Sink SRC Sink Sink SRC SRC Sink Sink Application 3 Sink SRC Sink Sink SRC Sink Sink SRC Application 1 Sink SRC Sink SRC Sink SRC Sink SRC Toolbox of media elements
  • 14. Architecting a Kurento application
  • 16. Installing Kurento • The doc – http://www.kurento.org/docs/current/installation_guide.html • The video – https://www.youtube.com/watch?v=RGdDpyZAPus • In short sudo add-apt-repository ppa:kurento/kurento wget -O - http://ubuntu.kurento.org/kurento.gpg.key | sudo apt-key add - sudo apt-get update sudo apt-get install kurento-media-server
  • 17. Get a Kurento cloud instance for free • FI-WARE (http://www.fi-ware.org) – Funded through European Commission research programmes – PaaS cloud infrastructure offering a bunch of capabilities and enablers for the “Future Internet” – You can get money developing WebRTC applications with Kurento and FI-WARE • http://www.fi-ware.org/accelerators/ • How to get a Kurento instance in FIWARE in 5 minutes – https://www.youtube.com/watch?v=lFM12pXeWu8
  • 19. Source & demo https://github.com/Kurento/kurento-tutorial-js/ tree/master/kurento-hello-world
  • 20. Recording and playing Media Pipeline WebRTC Streaming Sink SRC Sink Media to file or URI Media Pipeline WebRTC Streaming Sink SRC Media from file or URI SRC WebRtcEndpoint WebRtcEndpoint RecorderEndpoint PlayerEndpoint
  • 21. Source code kurentoClient.create("MediaPipeline", function(error, p) { if(error) return onError(error); pipeline = p; pipeline.create("WebRtcEndpoint", function(error, webRtc){ if(error) return onError(error); pipeline.create(”RecorderEndpoint”, function(error, recorder){ if(error) return onError(error); webRtc.connect(recorder, function(error){ if(error) return onError(error); webRtc.connect(webRtc, function(error){ if(error) return onError(error); webRtc.processOffer(sdpOffer, … if(error) return onError(error); webRtcPeer.processSdpAnswer(sdpAnswer); }); }); }); }); });
  • 22. I don’t like callbacks From that code structure to this code structure
  • 23. Second try … generators • https://github.com/Kurento/kurento-tutorial-js/ tree/master/kurento-hello-world-recorder-generator • Transactions very soon … – By end Q4’14
  • 25. Source & demo • https://github.com/Kurento/kurento-tutorial-js/ tree/master/kurento-magic-mirror
  • 26. Create your own filter: working with Kurento external modules WebRTC Streaming Sink SRC WebRtcEndpoint Sink ArMarkerDetector SRC
  • 27. Source & demo • https://github.com/Kurento/kurento-tutorial-js/ tree/master/kurento-alvar
  • 28. Putting it altogether: calls with recording and filtering
  • 29. Source & demo: let’s switch to Java for fun • https://github.com/Kurento/kurento-tutorial-java/ tree/master/kurento-one2one-call-advanced
  • 30. Bonus: going beyond the media server vision WebRTC Application based on media infrastructure WebRTC Cloud
  • 31. WebRTC cloud infrastructures IaaS SaaS PaaS Provider - Computing resources Provider Developer - Development API - Installation - Administration Developer - Security - Application logic - Application logic Provider - Service Developer - Nothing to do
  • 32. Multimedia PaaS: scalability types “Broadcasting Non-RTC” Number of concurrent sessions Number of users per session WebRTC PaaS Phone system TV Broadcasting CDNs Media Server based Services “RTC calls” “Media server RTC” “Beyond RTC calls”
  • 33. The scalability problem in call clouds Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call
  • 34. The scalability problem beyond call clouds Media stream One to MANY
  • 35. WebRTC services beyond the call model Users in call Monitoring users Users can dynamically change their role
  • 36. Nubomedia: Kurento as an elastic media server Load%Balancer%Func. on% Applica. on%Server%Func. on% Broker%Func. on% Media%Server%Func. on% IaaS%Cloud%Manager% Cloud% Orchestrator%
  • 37. Thank you Partners Luis Lopez lulop@kurento.org www.kurento.org