nubomedia the cloud infrastructure for webrtc and ims
play

Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia - PowerPoint PPT Presentation

Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications Luis Lopez lulop@kurento.org Human communications 2 http://www.kurento.org The value of technology 3 http://www.kurento.org Multimedia


  1. Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time communications Luis Lopez lulop@kurento.org

  2. Human communications 2 http://www.kurento.org

  3. The value of technology 3 http://www.kurento.org

  4. Multimedia communication technologies 5G HD 3D Video 4G HD Video 3G Video 2G Audio 4 http://www.kurento.org

  5. The Kurento vision From this … … to this Knowledge 5 http://www.kurento.org

  6. Cooking Kurento 6 http://www.kurento.org

  7. WebRTC: present and future Before WebRTC After WebRTC Next natural step… Developing the client side Begin End Begin End • Unified APIs • Unified APIs • Standards • Standards • FOSS • FOSS • Multiplatform • Multiplatform Developing the infrastructure Begin End side • Unified APIs • Standards • FOSS • Multiplatform 7 http://www.kurento.org

  8. WebRTC infrastructures Peer-to-Peer WebRTC Application (without media infrastructure) WebRTC video stream WebRTC Application based on media infrastructure media infrastructure 8 http://www.kurento.org

  9. Function of WebRTC media servers Transcoding media server VP8 H.264 MCU/SFU media server Recording media server 9 http://www.kurento.org

  10. Kurento as a WebRTC media server What common WebRTC Current media servers Media is Media Servers do: Media goes Transcoding here MCU/SFU there • Transcoding Recording • MCU • Recording Media is What future Media Future media servers Rich Media here Servers will do: goes there Transcoding, • Flexible processing MCU/SFU, Recording, • Augmented reality Enrich, • Blending Augment, • Mixing Analyze, Context • Analyzing Combine, Media Transform, Content • Etc. Adapt, … Events Commands 10 http://www.kurento.org

  11. Why is this important Advertising Broadcasting Making calls Gaming WARNING! Overcrowded eLearning Blue Ocean Content and Making WebRTC entertainment calls IoT M2M Smart cities P2M Emergencies Multimedia Security Blue Ocean

  12. WebRTC as a disruptive technology General purpose Specific purpose RTC RTC multimedia Services multimedia services Number of users Disruption direction of WebRTC Who cares about the immense minority? Commodity, no business Many business opportunities here opportunities here 12 http://www.kurento.org

  13. Kurento Media Server  Media Element  Media pipeline • Provides a specific media • Chain of media elements functionality implementing the desired media › Send/receive media logic. • The Media API provides the › Process media capability of creating media › Transform media pipelines by joining media • Exchange media through elements of the toolbox › Sources › Sinks Media Element Sink SRC 13 http://www.kurento.org

  14. Creating applications basing on Kurento Media Server Application 2 Application 1 Application 3 Toolbox of media elements 14 http://www.kurento.org

  15. Creating applications with Kurento 15 http://www.kurento.org

  16. 16 http://www.kurento.org

  17. 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/

  18. Starting with Kurento • 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 18 http://www.kurento.org

  19. 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 19 http://www.kurento.org

  20. Kurento “Hello World!” 20 http://www.kurento.org

  21. Kurento “Hello World!” • Tutorial – http://www.kurento.org/docs/current/tutorials/js/tuto rial-1-helloworld.html • Code – https://github.com/Kurento/kurento-tutorial- js/tree/release-5.1/kurento-hello-world • Video – https://www.youtube.com/watch?v=vGEnkSOp_xc 21 http://www.kurento.org

  22. Understanding this example Browser Application Code kurento-utils Kurento-client-js getUserMedia API PeerConnection API WebSocket API Media Signaling Kurento Media Server 22 http://www.kurento.org

  23. Recording and playing SRC Sink Sink SRC SRC Sink 23 http://www.kurento.org

  24. Recording and playing • Get code here – https://github.com/Kurento/kurento-tutorial- js/tree/release-5.1/kurento-hello-world-recorder- generator – WARNING: Example using generators!! • Video – https://www.youtube.com/watch?v=rDd2NjFXcS0 24 http://www.kurento.org

  25. JavaScript Generators • Generators – Black magic for avoiding callback hell – Program asynchronously with synchronous philosophy • Warning – “Enable Experimental JavaScript” flag 25 http://www.kurento.org

  26. One-to-many example WebRtcEndpoint 4 User 4 Sink WebRTC streaming SRC WebRtcEndpoint 3 User 3 Sink WebRTC streaming SRC WebRtcEndpoint 2 WebRtcEndpoint 1 User 1 User 2 SRC Sink WebRTC WebRTC streaming streaming Sink SRC Media Pipeline 26 http://www.kurento.org

  27. One-to-many • Java EE – http://www.kurento.org/docs/current/tutorials/java/t utorial-3-one2many.html • Node.js – http://www.kurento.org/docs/current/tutorials/node/ utorial-3-one2many.html 27 http://www.kurento.org

  28. Face overlay example Browser JavaScript • – http://www.kurento.org/docs/current/tutorials/js/tutorial-2-magicmirror.html • Java – http://www.kurento.org/docs/current/tutorials/java/tutorial-2-magicmirror.html • Node.js – http://www.kurento.org/docs/current/tutorials/node/tutorial-3-one2many.html • Video – https://www.youtube.com/watch?v=h84HFkvWGgw 28 http://www.kurento.org

  29. Augmented Reality example Sink SRC SRC Sink • Video – https://www.youtube.com/watch?v=JlRg4PzeRKQ 29 http://www.kurento.org

  30. Motion detector • Video – https://www.youtube.com/watch?v=r91nExNEHiw 30 http://www.kurento.org

  31. Crowd detector CrowdEvents Sink SRC CrowdDetector RtspPlayer SRC SRC Sink • Video – https://www.youtube.com/watch?v=S6iWSCysgT0 31 http://www.kurento.org

  32. Many other examples • Face segmentator (aka get a Kiss) – https://www.youtube.com/watch?v=WRmzzblZGDo • Room communications – https://www.youtube.com/watch?v=hkT8fLROdwo • B2B calls – https://www.youtube.com/watch?v=ocJBDo8K6eM • Etc. 32 http://www.kurento.org

  33. Beyond media servers: WebRTC clouds and the problem of scalability WebRTC Application based on media infrastructure WebRTC Cloud 33 http://www.kurento.org

  34. Cloud models for WebRTC infrastructures IaaS SaaS PaaS Provider Provider - Service - Computing resources Provider Developer - Development API - Installation Developer - Administration - Nothing to do - Security Developer - Application logic - Application logic 34 http://www.kurento.org

  35. WebRTC PaaS APIs: Requirements Requirements of WebRTC PaaS APIs • – Functional requirements • Media transport – Media endpoint – Media replication – Media routing • Media persistence – Media storage – Media recovery • Media processing – Transcoding – Analysis – Augmentation – Non-functional requirements • Security • Dependability • Scalability 35 http://www.kurento.org

  36. WebRTC multimedia session RFC 5117 • – A multimedia session is an association among a group of participants engaged in the communication via one or more RTP Sessions. • Characterized by – Communication topology • Graph of multimedia flows – Multimedia processing • Function of each edge of the graph of media flows Transport Transcode Record Analyze Etc. 36 http://www.kurento.org

  37. Scalability of RTC multimedia services TV “Beyond RTC calls” Broadcasting Number of users per session “Broadcasting Non-RTC” CDNs “RTC calls” “Home-made Media Server based Services RTC” Phone system WebRTC PaaS Number of concurrent sessions 37 http://www.kurento.org

  38. Scalability of RTC multimedia services TV “Beyond RTC calls” Broadcasting Number of users per session “Broadcasting Non-RTC” CDNs “RTC calls” “Home-made Media Server based Services RTC” Phone system WebRTC PaaS Number of concurrent sessions 38 http://www.kurento.org

  39. The scalability problem in “call” clouds l Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call Call

  40. Anatomy of WebRTC PaaS for call models: Flat Architecture Application Server Broker Function Load Balancer Media Server Function Function Function Cloud Orchestrator IaaS Cloud Manager 40 http://www.kurento.org

  41. Cloud functions: IaaS manager • Function Cloud Cloud Orchestrator Orchestrator – Provides APIs for IaaS management • Images • Instances Infrastructure as a Service APIs • Storage • Metrics Image Metrics and Security • Security Management KPIs Management • Etc. Computing Storage Networking Management Management Management • Requires IaaS Cloud Manager IaaS Cloud Manager – Physical infrastructure 41 http://www.kurento.org

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend