Introducing Kurento for WebRTC Expo 2013 (Paris). Kurento is an Open Source multimedia framework, which provides a Java EE compatible API suitable for adding real-time communication capabilities to any WWW application in a simple and seamless way.
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...Luis Lopez
Creating WebRTC applications is simple, but making them scalable in a robust and efficient way isn’t. Due to this, many application developers do not dare to use their own infrastructures and instead prefer to leverage third party clouds for creating their scalable WebRTC services. These clouds are private and usually expose some kind of API that developers consume for accessing WebRTC communication capabilities such as group-communications, media recording or media transcoding. This model is very convenient for creating simple vertical applications, but it also has some drawbacks. First, these clouds billing models are based on pay-per-minute schemes that are not always compatible with the business models desired by application developers. Second, the exposed APIs tend to be restrictive and limit the freedom of developers for innovating. Third, these clouds, being fully private, cannot be extended or customized for specific needs developers may have.
In this talk, we propose an alternative solution to private WebRTC PaaS models based on leveraging novel cloud orchestration technologies such as Cloud Formation or Heat Templates for enabling developers to create their very own platform on top of public clouds. We analyze the technological ingredients required for enabling such models and present some experiments and production deployments showing how any developer may bring her own IaaS cloud for growing on it a full featured WebRTC platform with elastic scalability and full control on the billing and on the underlying technology evolution.
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...Luis Lopez
This presentation was carried out at DevCon5'14 (New York) for introducing the Kurento new JavaScript developer APIs. These APIs make possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and leveraging Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
TADSummit 2022 8/9 Nov Aveiro Portugal
Architecting your WebRTC application for scalability
Arin Sime, CEO/Founder at WebRTC.ventures and AgilityFeat, & Alberto González Trastoy, CTO at WebRTC.ventures | Software/Telecom Engineer.
There are many ways to architecture your live video application with WebRTC. Open Source and CPaaS media servers are one consideration, but far from the only decision you’ll need to make.
In this session we will give an update on the most popular media servers to consider as well as go deeper into scalability with topics such as deployment using kubernetes/docker, persistence when using multiple SFU/MCU servers, and optimizations available with WebRTC for better performance.
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
This is your one stop shop introduction to get oriented to the world of reactive programming. There are lots of such intros out there even manifestos. We hope this is the one where you don't get lost and it makes sense. Get a definition of what "reactive" means and why it matters. Learn about Reactive Streams and Reactive Extensions and the emerging ecosystem around them. Get a sense for what going reactive means for the programming model. See lots of hands-on demos introducing the basic concepts in composition libraries using RxJava and Reactor.
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...Luis Lopez
Creating WebRTC applications is simple, but making them scalable in a robust and efficient way isn’t. Due to this, many application developers do not dare to use their own infrastructures and instead prefer to leverage third party clouds for creating their scalable WebRTC services. These clouds are private and usually expose some kind of API that developers consume for accessing WebRTC communication capabilities such as group-communications, media recording or media transcoding. This model is very convenient for creating simple vertical applications, but it also has some drawbacks. First, these clouds billing models are based on pay-per-minute schemes that are not always compatible with the business models desired by application developers. Second, the exposed APIs tend to be restrictive and limit the freedom of developers for innovating. Third, these clouds, being fully private, cannot be extended or customized for specific needs developers may have.
In this talk, we propose an alternative solution to private WebRTC PaaS models based on leveraging novel cloud orchestration technologies such as Cloud Formation or Heat Templates for enabling developers to create their very own platform on top of public clouds. We analyze the technological ingredients required for enabling such models and present some experiments and production deployments showing how any developer may bring her own IaaS cloud for growing on it a full featured WebRTC platform with elastic scalability and full control on the billing and on the underlying technology evolution.
Developing rich multimedia applications with Kurento: a tutorial for JavaScri...Luis Lopez
This presentation was carried out at DevCon5'14 (New York) for introducing the Kurento new JavaScript developer APIs. These APIs make possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and leveraging Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
Architecting your WebRTC application for scalability, Arin SimeAlan Quayle
TADSummit 2022 8/9 Nov Aveiro Portugal
Architecting your WebRTC application for scalability
Arin Sime, CEO/Founder at WebRTC.ventures and AgilityFeat, & Alberto González Trastoy, CTO at WebRTC.ventures | Software/Telecom Engineer.
There are many ways to architecture your live video application with WebRTC. Open Source and CPaaS media servers are one consideration, but far from the only decision you’ll need to make.
In this session we will give an update on the most popular media servers to consider as well as go deeper into scalability with topics such as deployment using kubernetes/docker, persistence when using multiple SFU/MCU servers, and optimizations available with WebRTC for better performance.
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
This is your one stop shop introduction to get oriented to the world of reactive programming. There are lots of such intros out there even manifestos. We hope this is the one where you don't get lost and it makes sense. Get a definition of what "reactive" means and why it matters. Learn about Reactive Streams and Reactive Extensions and the emerging ecosystem around them. Get a sense for what going reactive means for the programming model. See lots of hands-on demos introducing the basic concepts in composition libraries using RxJava and Reactor.
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesFrans Rosén
In this talk, top ranked white-hat hacker Frans Rosén (@fransrosen) will focus on methodologies and results of attacking modern web technologies. He will do a deep-dive in postMessage, how vulnerable configurations in both AWS and Google Cloud allow attackers to take full control of your assets.
Listen to 60 minutes of new hacks, bug bounty stories and learnings that will make you realize that the protocols and policies you believed to be secure are most likely not.
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
WebRTC is one of the main trends on the multimedia arena in the last few years. The ability of bringing real-time audio and video to WWW browsers opens new horizons for developers to create context aware customized applications for inter-human communications. However, for WebRTC technologies to work seamlessly in WWW applications, it’s necessary to manage with a number of present and future complex challenges.
In this talk, we present the experience of the Kurento Media Server team in creating a WebRTC endpoint for GStreamer. We describe the main problems and limitations basing on current GStreamer status describing which parts of WebRTC standards can be currently implemented with GStreamer and which parts require further evolutions and efforts from the community. We will also describe the plans and drafts that are emerging at different standardization groups, including the WebRTC WG at W3C and the RTCWeb WG at IETF. Basing on this, we will try to forecast how WebRTC technologies in particular, but also how real-time multimedia communications in general, may be evolving in the next couple of years and the activities that the GStreamer community should be considering for adapting to these evolutions.
In particular, we shall introduce in detail topics such as the following:
• The evolution of ICE (Interactive Connectivity Establishment).
• Congestion control for RTC streams.
• Implementing WebRTC security securely
• Implementing and optimizing the AVPF profile for RTP
• Benchmarking WebRTC: stats metrics
• Managing sensor data through DataChannels.
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
Apache Kafka is one of the best known enterprise grade message brokers – created at LinkedIn, donated to the Apache software foundation and used in an ever growing number of organizations to provide a backbone for asynchronous communication. This session introduces Apache Kafka – history, concepts, community and tooling. In a hands on lab, participants will create topics, publish and consume messages and get a general feel for Kafka. Simple microservices are developed in NodeJS – publishing to and consuming from Apache Kafka.
Dapr.io has support for Apache Kafka. Using Kafka through Dapr is very straightforward as is explained and demonstrated and applied in a second handson lab – with applications in various programming languages. Participants will even be able to exchange events across their laptops – through a cloud based Kafka broker.
Use of Apache Kafka in several architecture patterns is discussed – such as data integration, microservices, CQRS, Event Sourcing – along with a number of real world use cases from several well known organizations. The Kafka Connector framework is introduced – a set of adapters that allow us to easily connect Kafka to sources and sinks – where respectively change events are captured from and messages are published to.
Bonus Lab: Apache Kafka is ran on Kubernetes as is Dapr.io. Multiple mutually interacting microservices are deployed on the same local Kubernetes cluster.
Nessa palestra eu comento sobre aplicação em tempo real com PHP utilizando WebRTC com PHP.
Comento também sobre a utilização das três principais APIs do WebRTC que são: GetUserMedia(), PeerConnection() e DataChannel().
Além disso explico sobre a utilização de WebSockets com Pusher e Socket.io explico também sobre como utilizar o Socket.io com Amazon AWS e como criar a session e token com o SDK da tokeBox para criação de uma sala de conferencias com PHP a palestra encontra-se recheada de detalhes de uma aplicação real time para o evento PHP Conference
Slides for the presentation I did remotely at Open Source World, to talk about audio-only WebRTC applications, and what we've done in Janus to improve and cover the requirements so far.
This talk is about monitoring with Prometheus. A progression is shown from monitoring concept, to Micrometer, Prometheus and Grafana.
Presented at Alithya by Richard Langlois and Gervais Naoussi, on September 19th, 2018
This is the slide deck I presented at the first CommCon event in the UK: it goes through some of the possible strategies for scaling WebRTC applications, mostly if you're using Janus but not only.
Hands-on-Lab (TP) sur l'utilisation de Git en mode avancé dispensé avec mes collègues Alexis DMYTRYK et Thomas COLLIGNON lors de DevoxxFR 2018.
Présentation disponible ici : https://fr.slideshare.net/JrmeTAMBORINI/tp-git-avanc-devoxxfr-2018-pres
Slides for a libfabric tutorial presented at SC|15 (http://sc15.supercomputing.org/) on November 17, 2015 by Sean Hefty, Dave Goodell, Howard Pritchard, and Paul Grun.
pycon apac 2013 presentation
http://apac-2013.pycon.jp/ja/program/sessions.html#session-14-1110-rooma0762-en2-ja
videos are available at
http://www.youtube.com/watch?v=Ow-aXpMO8-o
"As Kafka’s popularity grows, enterprises often find themselves deploying not a single cluster, but several clusters. This is usually because of scale, but can be driven by other needs such as activities in different geographies or compliance requirements. Whenever you have multiple clusters, the ability to move data between clusters is very valuable. It enables very different scenarios such as geo-replication, disaster recovery, hybrid cloud architectures, but also simply allows reusing data between applications.
MirrorMaker is the Apache Kafka project’s solution for mirroring clusters and consists of 3 connectors for Connect. This tool allows creating all sorts of mirroring topologies by combining the connectors in different ways. In this session we will demonstrate how to use MirrorMaker by exploring two of the most common mirroring use cases: geo-replication and disaster recovery. For each we’ll explain the combination of connectors to use and highlight the key decision points and configurations that you should carefully consider. At the end of the session you will understand the capabilities of MirrorMaker and the process of building powerful mirroring scenarios with this tool."
The future of multimedia communications and services: Kurento and it's roleLuis Lopez
This is a presentation specifically created for the GSMA interest group on WebRTC. This presentations introduces Kurento from the perspective of operators. Kurento is a multimedia development framework. It has been created to ease the life of multimedia application developers. Using multimedia capabilities such as embedding a video onto your app or establishing a video conferencing link between two clients may be tricky, but there is no rocket science there. However, for applications requiring more advanced features things quickly get unmanageable. If you have been involved in multimedia projects, you probably know that features such as interoperable group communications, different communication roles (e. g.. publishers/viewers), video transforming and transcoding, video storage and tagging, integration into legacy video/voice infrastructures, computer vision, augmented reality, integration with external systems and databases and many others, pose quite a complex challenge, which usually requires huge expertise and effort. Specially when real-time communications are involved. If this is your case, Kurento will help you.
마이크로서비스 스타일로 만들어진 시스템을 모노리틱 스타일로 이관한 사례와 함께 스프링을 이용해 모듈형 모노리스(modular monoliths)를 만든 경험을 바탕으로 모노리틱/마이크로서비스 보다 본질적인 문제를 제기하고, 문제 해결을 위한 아이디어와 코드를 공유합니다.
https://github.com/arawn/building-modular-monoliths-using-spring
이 자료는 2019년 KSUG 세미나에서 진행한 "잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다"를 기반으로 몇가지 내용을 추가하고, 전개 방식을 다듬어 조금 더 친절하게 만들어졌습니다.
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesFrans Rosén
In this talk, top ranked white-hat hacker Frans Rosén (@fransrosen) will focus on methodologies and results of attacking modern web technologies. He will do a deep-dive in postMessage, how vulnerable configurations in both AWS and Google Cloud allow attackers to take full control of your assets.
Listen to 60 minutes of new hacks, bug bounty stories and learnings that will make you realize that the protocols and policies you believed to be secure are most likely not.
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
WebRTC is one of the main trends on the multimedia arena in the last few years. The ability of bringing real-time audio and video to WWW browsers opens new horizons for developers to create context aware customized applications for inter-human communications. However, for WebRTC technologies to work seamlessly in WWW applications, it’s necessary to manage with a number of present and future complex challenges.
In this talk, we present the experience of the Kurento Media Server team in creating a WebRTC endpoint for GStreamer. We describe the main problems and limitations basing on current GStreamer status describing which parts of WebRTC standards can be currently implemented with GStreamer and which parts require further evolutions and efforts from the community. We will also describe the plans and drafts that are emerging at different standardization groups, including the WebRTC WG at W3C and the RTCWeb WG at IETF. Basing on this, we will try to forecast how WebRTC technologies in particular, but also how real-time multimedia communications in general, may be evolving in the next couple of years and the activities that the GStreamer community should be considering for adapting to these evolutions.
In particular, we shall introduce in detail topics such as the following:
• The evolution of ICE (Interactive Connectivity Establishment).
• Congestion control for RTC streams.
• Implementing WebRTC security securely
• Implementing and optimizing the AVPF profile for RTP
• Benchmarking WebRTC: stats metrics
• Managing sensor data through DataChannels.
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
Apache Kafka is one of the best known enterprise grade message brokers – created at LinkedIn, donated to the Apache software foundation and used in an ever growing number of organizations to provide a backbone for asynchronous communication. This session introduces Apache Kafka – history, concepts, community and tooling. In a hands on lab, participants will create topics, publish and consume messages and get a general feel for Kafka. Simple microservices are developed in NodeJS – publishing to and consuming from Apache Kafka.
Dapr.io has support for Apache Kafka. Using Kafka through Dapr is very straightforward as is explained and demonstrated and applied in a second handson lab – with applications in various programming languages. Participants will even be able to exchange events across their laptops – through a cloud based Kafka broker.
Use of Apache Kafka in several architecture patterns is discussed – such as data integration, microservices, CQRS, Event Sourcing – along with a number of real world use cases from several well known organizations. The Kafka Connector framework is introduced – a set of adapters that allow us to easily connect Kafka to sources and sinks – where respectively change events are captured from and messages are published to.
Bonus Lab: Apache Kafka is ran on Kubernetes as is Dapr.io. Multiple mutually interacting microservices are deployed on the same local Kubernetes cluster.
Nessa palestra eu comento sobre aplicação em tempo real com PHP utilizando WebRTC com PHP.
Comento também sobre a utilização das três principais APIs do WebRTC que são: GetUserMedia(), PeerConnection() e DataChannel().
Além disso explico sobre a utilização de WebSockets com Pusher e Socket.io explico também sobre como utilizar o Socket.io com Amazon AWS e como criar a session e token com o SDK da tokeBox para criação de uma sala de conferencias com PHP a palestra encontra-se recheada de detalhes de uma aplicação real time para o evento PHP Conference
Slides for the presentation I did remotely at Open Source World, to talk about audio-only WebRTC applications, and what we've done in Janus to improve and cover the requirements so far.
This talk is about monitoring with Prometheus. A progression is shown from monitoring concept, to Micrometer, Prometheus and Grafana.
Presented at Alithya by Richard Langlois and Gervais Naoussi, on September 19th, 2018
This is the slide deck I presented at the first CommCon event in the UK: it goes through some of the possible strategies for scaling WebRTC applications, mostly if you're using Janus but not only.
Hands-on-Lab (TP) sur l'utilisation de Git en mode avancé dispensé avec mes collègues Alexis DMYTRYK et Thomas COLLIGNON lors de DevoxxFR 2018.
Présentation disponible ici : https://fr.slideshare.net/JrmeTAMBORINI/tp-git-avanc-devoxxfr-2018-pres
Slides for a libfabric tutorial presented at SC|15 (http://sc15.supercomputing.org/) on November 17, 2015 by Sean Hefty, Dave Goodell, Howard Pritchard, and Paul Grun.
pycon apac 2013 presentation
http://apac-2013.pycon.jp/ja/program/sessions.html#session-14-1110-rooma0762-en2-ja
videos are available at
http://www.youtube.com/watch?v=Ow-aXpMO8-o
"As Kafka’s popularity grows, enterprises often find themselves deploying not a single cluster, but several clusters. This is usually because of scale, but can be driven by other needs such as activities in different geographies or compliance requirements. Whenever you have multiple clusters, the ability to move data between clusters is very valuable. It enables very different scenarios such as geo-replication, disaster recovery, hybrid cloud architectures, but also simply allows reusing data between applications.
MirrorMaker is the Apache Kafka project’s solution for mirroring clusters and consists of 3 connectors for Connect. This tool allows creating all sorts of mirroring topologies by combining the connectors in different ways. In this session we will demonstrate how to use MirrorMaker by exploring two of the most common mirroring use cases: geo-replication and disaster recovery. For each we’ll explain the combination of connectors to use and highlight the key decision points and configurations that you should carefully consider. At the end of the session you will understand the capabilities of MirrorMaker and the process of building powerful mirroring scenarios with this tool."
The future of multimedia communications and services: Kurento and it's roleLuis Lopez
This is a presentation specifically created for the GSMA interest group on WebRTC. This presentations introduces Kurento from the perspective of operators. Kurento is a multimedia development framework. It has been created to ease the life of multimedia application developers. Using multimedia capabilities such as embedding a video onto your app or establishing a video conferencing link between two clients may be tricky, but there is no rocket science there. However, for applications requiring more advanced features things quickly get unmanageable. If you have been involved in multimedia projects, you probably know that features such as interoperable group communications, different communication roles (e. g.. publishers/viewers), video transforming and transcoding, video storage and tagging, integration into legacy video/voice infrastructures, computer vision, augmented reality, integration with external systems and databases and many others, pose quite a complex challenge, which usually requires huge expertise and effort. Specially when real-time communications are involved. If this is your case, Kurento will help you.
Recording and media manipulation of WebRTC streamsLuis Lopez
This presentation introduces Kurento technologies to developers at the WebRTC Conference & Expo 2014 in San Jose. It focuses on Kurento Client APIs and on its capabilities for recording and manipulating the audio and video streams in WebRTC sessions.
This presentation was used in the context of a FI-WARE webminar for introducing Kurento. Kurento is a framework for building multimedia and streaming applications based on predefined blocks. Send and receive median through RTP, WebRTC, HTTP and RTSP. Use processing for making face detection, plate recognition or object tracking. Use augmented reality, group communications or media mixing and blending among others. During the webminar, we used Kurento APIs for showing how to create media applications for videoconferencing or video streaming in a simple and seamless manner. We also demonstrated how these applications can be enriched with Kurento's advanced processing capabilities.
Developing rich multimedia applications with FI-WARE.Luis Lopez
FI-WARE will deliver a novel service infrastructure, building upon elements called Generic Enablers (GEs), which offer reusable and commonly shared functions making it easier to develop Future Internet Applications in multiple sectors. This presentation provides an overview of Kurento: the FI-WARE Generic Enabler that will ease development of advanced multimedia stream processing applications.
Developing rich multimedia applications with Kurento: a tutorial for Java Dev...Luis Lopez
This presentation contains a tutorial devoted to showing how Java developers can create rich multimedia applications with Kurento. Java developers will find natural Kurento development model, which is based on standard Java EE technologies and is inspired on the WWW Servlet model.
If you have ever developed a Web application, you may be familiar with this scheme. At the browser, HTML and JavaScript code is in charge of user interaction and generates HTTP requests to the server. This code is usually programmed with the help of APIs such as jQuery, DOM, XHR or others. Upon reception, HTTP requests are processed by some kind of server side technology (e. g.. PHP, Java, Ruby, etc.) using service APIs providing features such as DB access, communications, transactions, XML parsing, and others. As a result, an HTTP response is issued and sent back to the client. Following this scheme, both server and client side APIs are just capabilities simplifying developer work and providing abstractions for programming faster and more efficiently.
Kurento technologies adapt to the Web development model so that, from a programmer perspective, Kurento can be seen just as an additional set of APIs. Developers does not need to learn novel programming schemes and can reuse all their knowledge and previous background on WWW application development. When you need multimedia, just use Kurento APIs. For the rest, use your preferred APIs or reuse previous code. Kurento APIs have been designed for simplicity and Web developers will find them familiar and intuitive. Most of the low level details related to codecs, formats, protocols, profiles and containers are abstracted by the framework. Programmers just concentrate on specifying the sequence of processing steps that they want to execute on the media flows.
This presentation was carried out at the different FI-WARE Bootcamps, for presenting Kurento, its capabilities and APIs to a group of startups.
Kurento makes it possible to create rich video applications supporting WebRTC and HTTP pseudo-streaming (video tag) and exposing Kurento Media Server capabilities, which include computer vision, augmented reality, group communications and recording.
FOSDEM 2016 - Creating rich WebRTC Applications with KurentoLuis Lopez
WebRTC is a disruptive media technology bringing real-time multimedia communications to HTML5 standards. WebRTC is currently available for billions of users as a built-in feature of common browsers such as Chrome and Firefox. This makes possible the emergence of a truly open and interoperable technology competing with proprietary conferencing solutions and enabling developers to create specific-purpose WWW peer-to-peer real-time media applications in a simple and seamless manner.
However, WebRTC developers commonly require more than plain peer-to-peer video conferencing. For this, we introduce Kurento (http://www.kurento.org), a Free Open Source Software (FOSS) initiative build on top of GStreamer providing developers a set of high level abstract APIs making possible the creation of HTML5 multimedia-enabled web application. Kurento pushes GStreamer to the limit building a media server with interesting features such as media recording, media mixing for group communications, media adaption and transcoding, media augmentation, integration with computer vision capabilities, etc.
In the talk we will introduce what’s Kurento and how WWW developers can take advantage of it showing the following aspects of the framework:
- First, introducing Kurento Java and JavaScript APIs and we explain how they interact with the signaling plane in an application server. This allows WebRTC application developers to create their application logic using popular technologies such as Java EE or Node.js.
- Second, by presenting a unique media plane written on top of GStreamer. GStreamer is based on the concept of media pipelines, which can be seen as chains of media elements performing operations to a media flow in real-time. Currently there are more than 1000 media elements written for GStreamer implementing many different capabilities such as codecs (e.g. H.264, H.263, VP8, etc.), recorders and players (for storing/recovering media from files), blenders (for augmenting media), filters (i.e. face blurring, face recognition, etc.) and others. Hence, Kurento enables to inject WebRTC streams into a chain of such elements and perform, in real time, the operations the developer wishes.
- Third, introducing and abstraction of all the complexities of signaling, media control and media management through a powerful server-side API that can be used by average developers who do not require particular expertise about multimedia protocols or formats.
In this presentation we introduce Nubomedia (http://www.nubomedia.eu), the first open source PaaS platform capable of acting as an “infinite media server”. Most state-of-the-art media servers just provide three types of capabilities: transcoding, group communications and recording. Nubomedia is a research effort funded by the European Commission which, in addition to these, provides flexible media processing features including computer vision, augmented reality, media blending, media filtering and much more. In a world where plain communications are becoming a commodity, business models based on “just calls” are not really profitable. For this reason, these advanced media processing mechanisms open new opportunities given that they might provide differentiation and added value to applications in many specific verticals including e-Health, e-Learning, security, entertainment, games, advertising or CRMs just to cite a few.
Remixing Media on the Semantic Web (ISWC 2014 Tutorial) Pt 1 Media Fragment S...LinkedTV
In this session we will introduce the W3C Media Fragment URI specification, highlighting how media fragments can be incorporated into known media description schema, with a focus on the W3C Media Ontology and the Open Annotation Model. We will also discuss extensions to these ontologies to more richly link media fragments to the concepts they represent, re-using Linked Data as a Web-wide knowledge graph about concepts. We will briefly demonstrate various approaches to visual, audio and textual analysis in order to generate meaningful media fragments out of a media resource, as well as look at available annotation tools for semantically describing online media. Finally, we show how existing text around media (subtitles, transcripts) can be used for fragment annotation through Named Entity Recognition services (NERD) and a combined approach for generating a semantic description of media from analysis, metadata and entity recognition (TV2RDF).
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96Boni García
In this hackathon you will be playing with WebRTC technologies and standards for creating rich real-time communication applications. For this, in addition to using WebRTC clients, we will introduce a WebRTC infrastructure suitable for providing advanced capabilities that include group communications, recording, transcoding and media processing. This infrastructure will be based on NUBOMEDIA: a cloud Platform as a Service where you will be able to deploy, execute and scale your WebRTC applications in a seamless way.
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014Piyush Kumar
OPEN SOURCE DEVELOPERS CONFERENCE http://osdconf.in/
★ April 26-27th, Noida ★
Keynote Session By Piyush Kumar (Lead of Infrastructure and Website Operations at MakeMyTrip)
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Kurento: a media server architecture and API for WebRTC
1. Kurento: a media server architecture
and API
Live video technology
Luis Lopez
lulop@kurento.org
2. Who am I?
Associate Prof.
• Computer Science
• Multimedia protocols and systems
15 years of experience in multimedia applications
and protocols research
• Director of the FUN-LAB group
Open Source Software enthusiast and contributor
Coordinating the Kurento.org project
: a media server architecture and API – http://www.kurento.org
2
3. What’s Kurento?
Kurento
• Esperanto translation of “stream”
Esperanto philosophy
• Openness
• Simplicity
• Interoperability
Kurento
• Open source development framework for creating rich real-time
multimedia applications.
: a media server architecture and API – http://www.kurento.org
3
4. Kurento’s history
2004
March 2013
• Different research
efforts from private
and public
organizations in
the area of
multimedia
• Kurento receives
4M€ by European
Commission
through different
research initiatives
2012
December 2013
• The Kurento stack
goes fully open
source LGPL v2.1
• Kurento first
release available
: a media server architecture and API – http://www.kurento.org
4
5. Why WebRTC?
•
WebRTC is a movement
– … by Tsahi Levent-Levi
•
Are RTCs new?
– Skype, H.323, Facetime, WebEx
•
Why WebRTC is raising such expectations
– Millions of WWW developers
WWW dev. community
RTC/IMS dev. community
WebRTC
WebRTC = Multimedia RTC is just another feature of your WWW application
: a media server architecture and API – http://www.kurento.org
5
6. Why Kurento?
WWW RTC developer experience
Before WebRTC
Developing
the client side
After WebRTC
Begin
Next natural step…
End
•
•
•
•
Begin
•
•
•
•
Unified APIs
Standards
FOSS
Multiplatform
Developing the
infrastructure
side
: a media server architecture and API – http://www.kurento.org
End
Unified APIs
Standards
FOSS
Multiplatform
Begin
End
•
•
•
•
Unified APIs
Standards
FOSS
Multiplatform
6
7. Kurento media framework
components
•Low level media
capabilities
•Signaling and control
capabilities
•SIP, HTTP, RESFul, etc.
•Java
•Spring + JBoss +
Mobicents SIP Servlet
•Transport, encode/decode,
transcode, CV, mix, etc
•C/C++
•C++ Media Server +
Gstreamer plugins
Kurento
Media
Server
Kurento
Application
Server
Kurento
Android
SDK
Kurento
WWW SDK
•RTC library for Android
•Java and C
•Multicodec support
: a media server architecture and API – http://www.kurento.org
•HTML5 multimedia
development
•Video tag, WebRTC
•Javascript
7
8. Kurento Application Server: extending
the WWW development model
Signaling request:
I want this media
HTTP request:
I want this resource
Process WWW request
- DDBB access
- Transactions
- Security tools
- Etc.
HTTP response:
The resource
Intuition behind
traditional WWW
Applications
(Servlets, ASP, PHP,
Rails, etc.)
: a media server architecture and API – http://www.kurento.org
Process media request
- Media API
-
DDBB access
Transactions
Security tools
Etc.
Signaling response:
The media is here
Intuition behind
Kurento
development APIs:
Multimedia RTC is just
another feature of your
application
8
9. Media API: media elements and media
pipelines
Media Element
• Provides a specific media functionality
•
Send/receive media
Process media
Transform media
The Media API provides the capability of
creating media pipelines by joining media
elements of the toolbox
The Media API provides a toolbox of
media elements ready to be used.
New media elements can be added
Media Element
PlayerEndPoint
Sink
SRC
: a media server architecture and API – http://www.kurento.org
WebRtcEndPoint
Filter
Sink
SRC
SRC
•
the desired media functionality.
Building block
Sink
•
›
›
›
›
Media pipeline
• Chain of media elements implementing
9
10. Application
architecture
Other systems
and databases
Signaling and
WWW traffic
Media
Media
Signaling and
WWW traffic
HTTP
Servlet
SIP
Servlet
Web
service
s
DD.BB.
JMS
Java EE compatible container
Specific application logic
Media API
Decode
Video
Augmented
Reality
Video Playing
and Recording
Computer
Vision
Encode
Video
Kurento Media Server Infrastructure
: a media server architecture and API – http://www.kurento.org
10
11. Possible use cases: just integrate with
Java EE and GStreamer
• Verticals
– E-Health
• Kurento + HAPI (http://hl7api.sourceforge.net/)
– P2D video conferences as Electronic Health Records
– Smart cities
• Kurento + NGSI + OpenCV + Google Maps
– City crowds movement tracking
– Traffic density tracking
• Telco infrastructures
– Kurento + Mobicents
• IMS application server
• B2B & B2C WWW RTC
– Kurento + CRM APIs
• Enriched video conferencing with customer personal data
– Kurento + ESB
• Billing, video event processing, physical security, etc.
: a media server architecture and API – http://www.kurento.org
11
13. Application example: code
@WebRtcMediaService(name = "MyWebRtcService", path = "/pathToService")
public class MyWebRtcService implements WebRtcMediaHandler {
public void onMediaRequest(WebRtcMediaRequest request) {
//I can authenticate using any of the Java EE available mechanisms
MediaPipelineFactory mpf = request.getMediaPipelineFactory();
MediaPipeline mp = mpf.createMediaPipeline();
//I could decide the type of processing connecting to a DDBB
JackVaderFilter filter = mp.newFilter().withType(JackVaderFilter.class).build();
RecorderEndpoint recorder = mp.newRecorderEndpoint().withUri("file:///myFile.webm");
filter.connect(recorder);
HttpEndpoint httpEndpoint = mp.newHttpEndpoint().build();
filter.connect(filter); //I could connect only audio or video separately
request.startMedia(filter, filter);
}
To file
Media
Sink
RecorderEndpoint
Media
Sink
Sink
Video
tag or
CDN
SRC
Media
Sink
HttpEndpoint
: a media server architecture and API – JackVaderFilter
http://www.kurento.org
To
Network
Media
Source
From
network
WebRtcEndpoint
13
15. Media element toolbox
Transport
Repository
Group communications
• WebRtcEndpoint
• RtpEndpoint
• HttpEndpoint
• PlayerEndPoint
• RecorderEndPoint
• MainMixer
• GridMixer
• RoundRobinMixer
Filters
• FaceRecognitionFilter (events)
• JackVaderFilter
• QR/Barcode detector
• PlateRecognitionFilter (events)
• ColorTrackingFilter (events)
And growing …
Available as part of
: a media server architecture and API – http://www.kurento.org
15
16. Media elements: WebRtcEndpoint
• Full implementation of the RTCWeb protocol stack
– SRTP
– ICE
– DTLS
• Allow sending and receiving WebRTC flows at the
media server infrastructure
Media
Source
WebRTC traffic
Media
Sink
WebRTC traffic
WebRtcEndpoint
: a media server architecture and API – http://www.kurento.org
16
17. Media elements: HttpEndpoint
• Media downloading compatible with the HTML5 video
tag
– WebM (Chrome, Firefox)
– MP4 (Chrome, Firefox, IE, Safari)
• Media uploading compatible with HTML file input tag
– Multipart support
Media
Sink
HTTP WebM/MP4
HttpEndpoint
: a media server architecture and API – http://www.kurento.org
17
18. Media elements: RtpEndpoint
• Full-duplex RTP multimedia exchange
–
–
–
–
H.264
H.263
VP8
Many different audio codecs supported
Media
Source
RTP traffic
Media
Sink
RTP traffic
RtpEndpoint
: a media server architecture and API – http://www.kurento.org
18
19. Media elements: UriEndpoints
• PayerEndpoint
– Play media from file or URL
• Support for most popular formats
• RecorderEndpoint
– Record media to file or URL
• WebM
• MP4
Media
Sink
RecorderEndpoint
Media
Source
PlayerEndpoint
: a media server architecture and API – http://www.kurento.org
19
20. Media elements: Mixers (in progress)
•
Make possible group communications
– ForwardingMixer
•
•
•
One-to-many replication of flows
A source can be assigned to any of the sinks
Multiple sources supported
– MainMixer
•
•
•
Mixes media
A source can be assigned to a combination of sinks
Multiple sources supported
Media
Source
Media
Sink
Media
Source
Media
Sink
Mixer
Media
Sink
: a media server architecture and API – http://www.kurento.org
Media
Source
20
21. Filters
Seamless integration into OpenCV
Face recognition
Augmented reality
Subtitle adding
Color manipulation
QR detection
People counter
Plate recognition
Etc.
Filter
SRC
–
–
–
–
–
–
–
–
Sink
•
: a media server architecture and API – http://www.kurento.org
21
22. Filter with events
• Filters can provide events to the application
– Events are generated at the media server
– Events can be propagated to the client app
• Code example:
MediaPipeline mp = mpf.create();
PlayerEndPoint playerEndPoint = mp.newPlayerEndPoint(
"https://ci.kurento.com/video/barcodes.webm").build();
ZBarFilter filter = mp.newZBarFilter().build();
playerEndPoint.connect(filter);
Events
SRC
Media
Source
Sink
filter.addCodeFoundDataListener(new MediaEventListener<CodeFoundEvent>() {
@Override
public void onEvent(CodeFoundEvent event) {
session.publishEvent(new ContentEvent(event.getType(),
event.getValue()));
...
PlayerEndpoint
ZBarFilter
: a media server architecture and API – http://www.kurento.org
22
23. The magic of pipelines: Transparent
media adaptation
• Agnostic media adaptor
– Acts every time a source is connected to a sink
– Adapts media formats as required by the involved
media elements
– 100% transparent for the application developer
An agnostic media adaptor
is “hidden” behind every
connection making
compatible element
formats transparently
VP8
H.264
: a media server architecture and API – http://www.kurento.org
SRC
Media Element
Sink
SRC
Sink
Media Element
23
24. Complex examples: Heterogeneous
group communications
Media
Source
Media
Sink
Media
Sink
RecorderEndpoint
WebRtcEndpoint
Media
Source
Mixer
Media
Sink
WebRtcEndpoint
Media
Source
SRC
Media
Sink
Sink
Filter
RtpEndpoint
: a media server architecture and API – http://www.kurento.org
24
25. Complex examples: WebRTC to HTTP
Media
Source
Media
Sink
Media
Sink
RecorderEndpoint
Mixer
WebRtcEndpoint
Media
Sink
HttpEndpoint
Mixer
Media
Sink
HttpEndpoint
Media
Sink
HttpEndpoint
: a media server architecture and API – http://www.kurento.org
26. Complex examples: WebRTC Playing
Media
Source
Media
Sink
Media
Sink
RecorderEndpoint
Mixer
WebRtcEndpoint
Media
Sink
Filter
HttpEndpoint
Sink
SRC
Media
Source
PlayerEndpoint
: a media server architecture and API – http://www.kurento.org
26
27. Kurento’s Roadmap
Q1 2014
• Installer and
documentation
• Group communications
• Super scalable media
repository
Q4 2014
• Kurento cloud
infrastructure
• Hardware acceleration
Q2 2014
2015
• WebRTC support on
Android SDK
• Kurento iOS SDK
• Javascript Media API
• Elastric scalable Kurento
PaaS platform
• SDN Kurento QoS cloud
connectivity manager
• IMS/Telco infrastructure
integration
• 3D/Kinect multimedia
support
: a media server architecture and API – http://www.kurento.org
27
28. Upcoming opportunities for
developers
• FI-WARE is the platform of the FI-PPP initiative
– European Commission FP7
– Kurento is providing multimedia capabilities to FI-WARE
• FI-WARE is giving 800K€ in prices to developers
– You can opt to them developing on top of Kurento
– http://www.fi-ware.eu/challenges/
• FI-PPP is providing 100M€ in funding to SMEs and entrepreneurs
– http://www.fi-ppp.eu/how-to-participate/
: a media server architecture and API – http://www.kurento.org
28