Open APIs for Open Minds
The Stream Oriented Generic Enabler – SO GE
Developing rich multimedia applications with FI-WARE.
IVAN GRACIA
igracia@kurento.org
Human communications
Why technology?
2G
3G
4G
5G
Audio
Video
HD Video
HD 3D Video
Multimedia communication technologies
Our vision: technology for more than transport
From this …
… to this
Knowledge
Our ingredients for cooking the Stream Oriented GE
WebRTC
WebRTC
Developing
the client side
Developing the
infrastructure
side
Before WebRTC After WebRTC Next natural step…
Begin End Begin End
Begin End
• Unified APIs
• Standards
• FOSS
• Multiplatform
• Unified APIs
• Standards
• FOSS
• Multiplatform
• Unified APIs
• Standards
• FOSS
• Multiplatform
WebRTC as a disruptive technology
Numberofusers
General purpose
RTC multimedia Services
Specific purpose RTC
multimedia services
Commodity, no business
opportunities here
Who cares about the immense minority?
Many business opportunities here
Disruption direction
of WebRTC
WebRTC is a WWW technology
10
Peer-to-Peer Application (without media infrastructure)
WebRTC data stream
Application with media infrastructure
Media infrastructure
WebRTC and WebRTC infrastructures
WebRTC media servers
Transcoding media server
VP8 H.264
MCU/SFU media server
Recording media server
Kurento
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
Transcoding
MCU/SFU
Recording
Current media servers
Media is
here
Rich
Media
goes
there
Future media servers
Transcoding,
MCU/SFU,
Recording,
Enrich,
Augment,
Analyze,
Combine,
Transform,
Adapt, …
Context
Content
Commands
Media
Events
Key concepts: media elements and pipelines
13
 Media Element
• Provides a specific media functionality
› Send/receive media. These are the Endpoints
› Process media
› Transform media
• Ready to be used
• New media elements can be added
 Media pipeline
• Chain of media elements implementing the
desired media logic
• The Media Server provides the capability of
creating media pipelines by joining media
elements of the toolbox
Media Element
Sink
SRC
Media Pipeline
1414
1515
Kurento applications as a Lego game
Protocols
& Codecs
Computer
Vision
Augmented
Reality
Mul sensory
Mul media
Media
Repository
IPTV
Integra on
Group
Communica ons
Sink%
H pEndpoint
Sink%SRC%
RtpEndpoint
SRC$
DataChannelEndpoint
Sink%SRC%
WebRtcEndpoint
Sink%
SRC%
BarCodeReader
Sink%
SRC%
PointerTracker
Sink%
SRC%
FaceDetector
Sink%
SRC%
FaceOverlay
Sink%
SRC%
ChromaFilter
Sink%
SRC%
HeartRateBlender
Sink%
RecorderEndpoint
SRC$
PlayerEndpoint
Sink%
CdnUpload
Sink%
IPTVConnector Mixer
SinkSRC
Sink
SRC
Sink
SRCSink
Sink
Application 2
Sink
SRC
Sink
SRCSink
SinkSRC
Sink
Application 3
SinkSRC
SRCSink
SRC Sink
SinkSRC
Application 1
Toolbox of media elements
Creating applications with Kurento
18
Campus Party Brazil - 2014
18
1919
Campus Party Brazil - 2014
SinkSRC
Sink
WebRtcEndpoint
Sink
SRC
Sink
SRC
MirrorFilter PointerDetectorFilter
Sink
SRC
ChromaFilter
Sink
SRC
FaceOverlayFilter
Media Server
2020
Ready?
What you should learn first
 WebRTC basics
• http://www.html5rocks.com/en/tutorials/webrtc/basics/
 Signaling basics (STUN/TURN)
• http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
Where to start
 Kurento official documentation
• http://www.kurento.org/documentation
 Kurento FIWARE documentation
• Catalogue site
› http://catalogue.fiware.org/enablers/stream-oriented-kurento
• Documentation
› http://catalogue.fiware.org/enablers/stream-oriented-kurento/documentation
Installing Kurento Media Server
 Requirements
• Ubuntu 14.04 box (sudo)
• Internet connectivity
 Install
•sudo add-apt-repository ppa:kurento/kurento
•sudo apt-get update
•sudo apt-get install kurento-media-server
 Launch
•sudo service kurento-media-server start
Kurento “Hello World”
Kurento “Hello World”
 Tutorial
• http://www.kurento.org/docs/current/tutorials/js/tutorial-1-helloworld.html
 Code
• https://github.com/Kurento/kurento-tutorial-js/tree/release-5.1/kurento-hello-world
Understanding this example
PeerConnection API
getUserMedia API
kurento-utils kurento-client-js
Application Code
WebSocket API
Kurento Media Server
Browser
SignalingMedia
Understanding this example
You don’t catch the point?
Kurento Hello World with Application Server
PeerConnection API
getUserMedia API
kurento-utils
Application Code
Comm API
Kurento Media Server
Browser
Signaling
Media
Application
Server
Kurento-client-js
Application
Code
Signaling
Kurento Hello World with application server
 Java EE Application Server
• http://www.kurento.org/docs/current/tutorials/java/tutorial-1-helloworld.html
 Node.js Application Server
• http://www.kurento.org/docs/current/tutorials/node/tutorial-1-helloworld.html
Understanding this
example
Why an application server
 Security
• KMS does not provide AAA in its control interface
• In WWW applications, DD.BB. access is directly exposed to the browser?
 Call signaling
• How several browsers can communicate?
Recording and playing
SinkSRC
Sink
SinkSRC
SRC
Recording and playing: source code
 Get code here
• https://github.com/Kurento/kurento-tutorial-js/tree/release-5.1/kurento-hello-world-recorder-
generator
Understanding this example
 Generators
• Black magic for avoiding callback hell
• Program asynchronously with synchronous philosophy
 Warning
• “Enable Experimental JavaScript” flag
Advanced topics: Working with calls
P2P WebRTC call
Group calls
Mesh topology Start topology
WebRTC one-to-many example
Media Pipeline
WebRTC
streaming
SinkSRC
WebRTC
streaming
SRCSinkSRCSink
WebRTC
streaming
WebRtcEndpoint 1
WebRtcEndpoint 3
WebRtcEndpoint 2
SRCSink
WebRTC
streaming
WebRtcEndpoint 4
User 1 User 2
User 3
User 4
WebRTC one to many example: code
 Java EE
• http://www.kurento.org/docs/current/tutorials/java/tutorial-3-one2many.html
 Node.js
• http://www.kurento.org/docs/current/tutorials/node/tutorial-3-one2many.html
Understanding
this example
Back-to-back full-duplex calls
Understanding
this example
Enriching full duplex calls
Back-to-back full-duplex calls: source code
 Java EE
• http://www.kurento.org/docs/current/tutorials/java/tutorial-4-one2one.html
• https://github.com/Kurento/kurento-tutorial-java/tree/release-5.1/kurento-one2one-call-advanced
 Node.js
• http://www.kurento.org/docs/current/tutorials/node/tutorial-4-one2one.html
Advanced topics: working with filters
From this …
… to this
Knowledge
Other filters: Augmented reality
Sink
SRC
SinkSRC
Other filters: Motion detector
Other filters: CrowdDetector
CrowdEvents
SRC
Sink
SRC
CrowdDetector
RtspPlayer
SinkSRC
Create your own filter: Kurento modules
Create a custom module
 Two flavors
• OpenCV module
• GStreamer module
 Instructions
• http://www.kurento.org/docs/current/mastering/develop_kurento_modules.html
 http://fi-ppp.eu
 http://fi-ware.eu
 Follow @Fiware on Twitter !
Thanks !
52

More Related Content

PPTX
Advanced Kurento Real Time Media Stream Processing
PPTX
The future of multimedia communications and services: Kurento and it's role
PPTX
Developing rich multimedia applications with FI-WARE.
PPTX
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
PPTX
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
PPTX
Recording and media manipulation of WebRTC streams
PPTX
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...
PPTX
WebRTC infrastructures in the large (with experiences on real cloud deployments)
Advanced Kurento Real Time Media Stream Processing
The future of multimedia communications and services: Kurento and it's role
Developing rich multimedia applications with FI-WARE.
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
FOSDEM 2016 - Creating rich WebRTC Applications with Kurento
Recording and media manipulation of WebRTC streams
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...
WebRTC infrastructures in the large (with experiences on real cloud deployments)

What's hot (20)

PPTX
Developing rich multimedia applications with Kurento: a tutorial for Java Dev...
PPTX
kurento-nubomedia-first-steps-v1
PDF
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
PPTX
WebRTC business models beyond calls
PPTX
Nubomedia IETF96 hackthon - Kurento
PPTX
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
PDF
Janus RTP forwarders @ FOSDEM 2020
PPTX
Kurento v6 Development Guide
PDF
WHIP and Janus @ IIT-RTC 2021
PPT
Introduction To Webrtc
PPTX
WebRTC
PDF
WebRTC in IOT presented in KrankyGeek
PDF
How ORTC adds Power to WebRTC - London April 1, 2014
PDF
Reaching the multimedia web from embedded platforms with WPEWebkit
PPTX
Introduction to WebRTC
PDF
Internet TV
PPTX
WEBRTC_SEMINAR_FOR_TEAM_by_daebalprime
PDF
FOSDEM2018 Janus Lua plugin presentation
PDF
WebRTC: A front-end perspective
PDF
WebRTC - On Standards, Identity and Telco Strategy
Developing rich multimedia applications with Kurento: a tutorial for Java Dev...
kurento-nubomedia-first-steps-v1
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
WebRTC business models beyond calls
Nubomedia IETF96 hackthon - Kurento
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
Janus RTP forwarders @ FOSDEM 2020
Kurento v6 Development Guide
WHIP and Janus @ IIT-RTC 2021
Introduction To Webrtc
WebRTC
WebRTC in IOT presented in KrankyGeek
How ORTC adds Power to WebRTC - London April 1, 2014
Reaching the multimedia web from embedded platforms with WPEWebkit
Introduction to WebRTC
Internet TV
WEBRTC_SEMINAR_FOR_TEAM_by_daebalprime
FOSDEM2018 Janus Lua plugin presentation
WebRTC: A front-end perspective
WebRTC - On Standards, Identity and Telco Strategy
Ad

Similar to Kurento FIWARE (20)

PDF
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
PPTX
Kurento: a media server architecture and API for WebRTC
PPTX
Kurento - FI-WARE Bootcamp
PDF
Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
PDF
FIWARE Tech Summit - Stream Processing with Kurento Media Server
PPTX
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
PPTX
WebRTC Seminar Report
PDF
Workshop web rtc implementation details
PDF
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
PDF
WebRTC Reborn Hackference
PDF
WebRTC And FreeSWITCH – What This Combination Means?
PPTX
DeveloperWeek 2015 - WebRTC - Where to start and how to scale
PDF
What is WebRTC? What can I do with it?
PDF
A WebRTC Overview
PDF
Developing applications with Kurento
PDF
WebRTC Reborn - Cloud Expo / WebRTC Summit
PPTX
Real-time Communications at Internet Speed
PDF
WebRTC Reborn - Full Stack
PPTX
GWT videocall: power-up your mobile & web app with WebRTC
PDF
WebRTC Reborn Over The Air
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
Kurento: a media server architecture and API for WebRTC
Kurento - FI-WARE Bootcamp
Spring Boot for WebRTC Signaling Servers: A Comprehensive Guide
FIWARE Tech Summit - Stream Processing with Kurento Media Server
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
WebRTC Seminar Report
Workshop web rtc implementation details
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
WebRTC Reborn Hackference
WebRTC And FreeSWITCH – What This Combination Means?
DeveloperWeek 2015 - WebRTC - Where to start and how to scale
What is WebRTC? What can I do with it?
A WebRTC Overview
Developing applications with Kurento
WebRTC Reborn - Cloud Expo / WebRTC Summit
Real-time Communications at Internet Speed
WebRTC Reborn - Full Stack
GWT videocall: power-up your mobile & web app with WebRTC
WebRTC Reborn Over The Air
Ad

Recently uploaded (20)

PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Five Habits of High-Impact Board Members
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PPTX
Modernising the Digital Integration Hub
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
Microsoft Excel 365/2024 Beginner's training
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Architecture types and enterprise applications.pdf
PDF
CloudStack 4.21: First Look Webinar slides
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PPT
What is a Computer? Input Devices /output devices
Zenith AI: Advanced Artificial Intelligence
Comparative analysis of machine learning models for fake news detection in so...
Chapter 5: Probability Theory and Statistics
Improvisation in detection of pomegranate leaf disease using transfer learni...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Five Habits of High-Impact Board Members
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Modernising the Digital Integration Hub
NewMind AI Weekly Chronicles – August ’25 Week III
1 - Historical Antecedents, Social Consideration.pdf
Developing a website for English-speaking practice to English as a foreign la...
Microsoft Excel 365/2024 Beginner's training
Custom Battery Pack Design Considerations for Performance and Safety
Flame analysis and combustion estimation using large language and vision assi...
A review of recent deep learning applications in wood surface defect identifi...
Architecture types and enterprise applications.pdf
CloudStack 4.21: First Look Webinar slides
UiPath Agentic Automation session 1: RPA to Agents
A proposed approach for plagiarism detection in Myanmar Unicode text
What is a Computer? Input Devices /output devices

Kurento FIWARE

  • 1. Open APIs for Open Minds The Stream Oriented Generic Enabler – SO GE Developing rich multimedia applications with FI-WARE. IVAN GRACIA igracia@kurento.org
  • 4. 2G 3G 4G 5G Audio Video HD Video HD 3D Video Multimedia communication technologies
  • 5. Our vision: technology for more than transport From this … … to this Knowledge
  • 6. Our ingredients for cooking the Stream Oriented GE
  • 8. WebRTC Developing the client side Developing the infrastructure side Before WebRTC After WebRTC Next natural step… Begin End Begin End Begin End • Unified APIs • Standards • FOSS • Multiplatform • Unified APIs • Standards • FOSS • Multiplatform • Unified APIs • Standards • FOSS • Multiplatform
  • 9. WebRTC as a disruptive technology Numberofusers General purpose RTC multimedia Services Specific purpose RTC multimedia services Commodity, no business opportunities here Who cares about the immense minority? Many business opportunities here Disruption direction of WebRTC
  • 10. WebRTC is a WWW technology
  • 11. 10 Peer-to-Peer Application (without media infrastructure) WebRTC data stream Application with media infrastructure Media infrastructure WebRTC and WebRTC infrastructures
  • 12. WebRTC media servers Transcoding media server VP8 H.264 MCU/SFU media server Recording media server
  • 13. Kurento 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 Transcoding MCU/SFU Recording Current media servers Media is here Rich Media goes there Future media servers Transcoding, MCU/SFU, Recording, Enrich, Augment, Analyze, Combine, Transform, Adapt, … Context Content Commands Media Events
  • 14. Key concepts: media elements and pipelines 13  Media Element • Provides a specific media functionality › Send/receive media. These are the Endpoints › Process media › Transform media • Ready to be used • New media elements can be added  Media pipeline • Chain of media elements implementing the desired media logic • The Media Server provides the capability of creating media pipelines by joining media elements of the toolbox Media Element Sink SRC Media Pipeline
  • 15. 1414
  • 16. 1515
  • 17. Kurento applications as a Lego game Protocols & Codecs Computer Vision Augmented Reality Mul sensory Mul media Media Repository IPTV Integra on Group Communica ons Sink% H pEndpoint Sink%SRC% RtpEndpoint SRC$ DataChannelEndpoint Sink%SRC% WebRtcEndpoint Sink% SRC% BarCodeReader Sink% SRC% PointerTracker Sink% SRC% FaceDetector Sink% SRC% FaceOverlay Sink% SRC% ChromaFilter Sink% SRC% HeartRateBlender Sink% RecorderEndpoint SRC$ PlayerEndpoint Sink% CdnUpload Sink% IPTVConnector Mixer SinkSRC Sink SRC Sink SRCSink Sink Application 2 Sink SRC Sink SRCSink SinkSRC Sink Application 3 SinkSRC SRCSink SRC Sink SinkSRC Application 1 Toolbox of media elements
  • 20. 1919 Campus Party Brazil - 2014 SinkSRC Sink WebRtcEndpoint Sink SRC Sink SRC MirrorFilter PointerDetectorFilter Sink SRC ChromaFilter Sink SRC FaceOverlayFilter Media Server
  • 21. 2020
  • 23. What you should learn first  WebRTC basics • http://www.html5rocks.com/en/tutorials/webrtc/basics/  Signaling basics (STUN/TURN) • http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/
  • 24. Where to start  Kurento official documentation • http://www.kurento.org/documentation  Kurento FIWARE documentation • Catalogue site › http://catalogue.fiware.org/enablers/stream-oriented-kurento • Documentation › http://catalogue.fiware.org/enablers/stream-oriented-kurento/documentation
  • 25. Installing Kurento Media Server  Requirements • Ubuntu 14.04 box (sudo) • Internet connectivity  Install •sudo add-apt-repository ppa:kurento/kurento •sudo apt-get update •sudo apt-get install kurento-media-server  Launch •sudo service kurento-media-server start
  • 27. Kurento “Hello World”  Tutorial • http://www.kurento.org/docs/current/tutorials/js/tutorial-1-helloworld.html  Code • https://github.com/Kurento/kurento-tutorial-js/tree/release-5.1/kurento-hello-world
  • 28. Understanding this example PeerConnection API getUserMedia API kurento-utils kurento-client-js Application Code WebSocket API Kurento Media Server Browser SignalingMedia
  • 30. You don’t catch the point?
  • 31. Kurento Hello World with Application Server PeerConnection API getUserMedia API kurento-utils Application Code Comm API Kurento Media Server Browser Signaling Media Application Server Kurento-client-js Application Code Signaling
  • 32. Kurento Hello World with application server  Java EE Application Server • http://www.kurento.org/docs/current/tutorials/java/tutorial-1-helloworld.html  Node.js Application Server • http://www.kurento.org/docs/current/tutorials/node/tutorial-1-helloworld.html
  • 34. Why an application server  Security • KMS does not provide AAA in its control interface • In WWW applications, DD.BB. access is directly exposed to the browser?  Call signaling • How several browsers can communicate?
  • 36. Recording and playing: source code  Get code here • https://github.com/Kurento/kurento-tutorial-js/tree/release-5.1/kurento-hello-world-recorder- generator
  • 37. Understanding this example  Generators • Black magic for avoiding callback hell • Program asynchronously with synchronous philosophy  Warning • “Enable Experimental JavaScript” flag
  • 38. Advanced topics: Working with calls P2P WebRTC call
  • 39. Group calls Mesh topology Start topology
  • 40. WebRTC one-to-many example Media Pipeline WebRTC streaming SinkSRC WebRTC streaming SRCSinkSRCSink WebRTC streaming WebRtcEndpoint 1 WebRtcEndpoint 3 WebRtcEndpoint 2 SRCSink WebRTC streaming WebRtcEndpoint 4 User 1 User 2 User 3 User 4
  • 41. WebRTC one to many example: code  Java EE • http://www.kurento.org/docs/current/tutorials/java/tutorial-3-one2many.html  Node.js • http://www.kurento.org/docs/current/tutorials/node/tutorial-3-one2many.html
  • 46. Back-to-back full-duplex calls: source code  Java EE • http://www.kurento.org/docs/current/tutorials/java/tutorial-4-one2one.html • https://github.com/Kurento/kurento-tutorial-java/tree/release-5.1/kurento-one2one-call-advanced  Node.js • http://www.kurento.org/docs/current/tutorials/node/tutorial-4-one2one.html
  • 47. Advanced topics: working with filters From this … … to this Knowledge
  • 48. Other filters: Augmented reality Sink SRC SinkSRC
  • 51. Create your own filter: Kurento modules
  • 52. Create a custom module  Two flavors • OpenCV module • GStreamer module  Instructions • http://www.kurento.org/docs/current/mastering/develop_kurento_modules.html

Editor's Notes

  • #3: With the advent of unlimited channels, unlimited applications, unlimited news, unlimited information and unlimited entertainment — why are we feeling more isolated? Has the technology of connecting human beings and ideas only begun to tap into fulfilling the most fundamental human needs? Even as we are living through a transitional period where we are now able to instantly “attach” to other people and ideas, why are we longing less for “instant messaging” and more for “meaningful messaging?”
  • #7: If you're not familiar with WebRTC, it's the technology which will cause the next drive towards mass adoption of voice, video and file collaboration. In essence, it will enable high quality video and audio in your web browser, which is one of the most deployed applications in the world. It has been drafted by W3C (World Wide Web Consortium) with protocol work done by IETF (Internet Engineering Task Force). WebRTC ultimately simplifies the incorporation of real-time communications into a web browser. The objective of WebRTC is to trigger a real-time session in your browser, without having to download anything, simply functioning as part of the normal operation of browser. Everything required to deliver a high quality experience at the endpoint is supported natively within a WebRTC-capable web browser.
  • #9: WebRTC defines several APIs together with a collection of communication processes and protocols. From a development perspective, core functions are encapsulated into three main JavaScript APIs: getUserMedia, RTCPeerConnection and RTCDataChannel. These APIs are incorporated into browsers that support WebRTC, hence a web developer who has JavaScript programming experience can bring an interactive video collaboration experience to the web. WebRTC allows a mesh-based technology to enable users to send and receive streams to and from each other.
  • #10: Although WebRTC isn't confined solely to web applications, embedding real-time communications directly into web browsers has been the focus for most of the industry. With WebRTC it becomes possible to embed real-time video into a range of vertical applications, including for business, medical and education purposes.