Kurento Media Server: An Interview with Dr. Lopez

Learning more about the Kurento Open Source Media Server

Dr. LopezDr. Luis Lopez is Kurento.org project lead and coordinates the creation of the FIWARE Stream Oriented Generic Enabler, which is fully based on Kurento. Dr. Lopez also coordinated the NUBOMEDIA research project, where an elastic cloud infrastructure fully based on Kurento is currently under development.

In December 2014 Dr. Lopez presented FIWARE and Korento at the Paris WebRTC Conference. Already back then we discussed the option of doing an interview on our blog. Now, with the acquisition of Jitsi by Hip Chat – Atlassian, this has become even more relevant.

What is Kurento all about and who is it targeted to for?

Kurento.org is an open source software project providing technology enablers helping developers to create rich applications involving real-time multimedia communications and real-time media processing. The most significant of these is the Kurento Media Server (KMS): a modular media server providing its capabilities through pluggable components that can be connected among each other for creating complex media processing pipelines combining real-time communications, recording, transcoding, routing, computer vision, augmented reality and any other processing features you may wish to add as a module. KMS provides off-the-shelf a mixing MCU (Multipoint Control Unit), an SFU (Selective Forwarding Unit), chroma filters, face detection filters, marker augmented reality filters, image overlay filters, alpha blending mixers and many other complex processing features thanks to its direct integration with the GStreamer and OpenCV projects.


Is Kurento built specifically for WebRTC or is it more of a general purpose media server?

Kurento Media Server is a general-purpose media sever. In fact, WebRTC was not included as a supported feature in its initial conception. However, in 2012 the European Commission decided to fund the NUBOMEDIA project, which is still under execution and which aims at creating an elastic scalable media server supporting WebRTC. Since then, we have been working on our WebRTC stack, which is still work in progress. For example, in the next few months we will add features such as DataChannel support, statistics gathering, improved congestion control, etc. These efforts have been strengthened in the last few months thanks to the synergies we have with the openwebrtc.io project. We have currently a fluent cooperation with the Ericsson people for enhancing the low level GStreamer capabilities that both projects share. This cooperation is still concentrated on specific aspects but I think that, with time, both projects may converge to a common and reinforced GStreamer WebRTC stack, which could benefit both the openwebrtc and the Kurento communities.

Although WebRTC is one of the key features of KMS, KMS will continue to be a genera- purpose media server with support for other media transport protocols including RTP, RTSP and HTTP and to a wide variety of audio and video codecs and containers. The purpose of KMS is not to be a WebRTC media server, it is to be a useful media server for developers.

In your eyes, what are the greatest advantages of WebRTC and in what way did it help you build Kurento ?

WebRTC is a technology for developers. It has been designed for making simple the creation of real-time multimedia applications. Today, thanks to WebRTC, any of my students can create in an afternoon an application whose creation would have required a team of expert developers working for several months few years ago. This is the revolutionary aspect of WebRTC: the democratization of real-time communication technologies. If you think about it, real-time communication services have been owned by a selected club of large companies. This has somehow made difficult for small players to play into this walled garden, which in my opinion is the main reason why there has not been much innovations in this area. However, WebRTC changes completely the rules of the game. Now, anyone can create their very own service and adapt it to very specific needs and requirements in quite a simple way.

The browser WebRTC stack is perfect for creating services involving peer-to-peer communications, but when you want to go beyond that, you need to introduce a server side infrastructure for complementing the browser capabilities, and this is where Kurento Media Server may play a role. Hence, the browser WebRTC stack and the Kurento Media Server stack have somehow the same objective but in complementary sides of the problem: to make the life of developers simple and to allow them to concentrate on creating innovative application and services and not on fighting with tricky details of media technologies.

Do you provide only the server side or are the browser and mobile clients part of the Kurento offering?

The Kurento project is currently quite concentrated on pushing the development of the Kurento Media Server and we don’t have plans, at least in the short term, for investing significant resources on the client side. However, in the ecosystem of companies and developers around Kurento this is indeed happening. For example, Naevatec, one of companies involved in Kurento, has created an Android stack specifically designed for interoperating with Kurento Media Sever and an iOS stack is on the way. In addition, as part of the NUBOMEDIA project activities, specific client APIs are being created for Android, iOS and Web by relevant industrial and academic partners including Telecom Italia, Fraunhofer Fokus and VTT. I think that, by the end of this year, these activities shall enable to have a full-featured stacks both on the Web and on smartphones with direct integration into the Kurento ecosystem.

Now KMS core developers are much more concentrated on the infrastructure side of the problem than on the client side one. Most of our efforts are devoted to transforming KMS into a cloud media server. At a first stage, this means to enable the deployment of KMS into different types of clouds in a seamless way, which is somehow already achieved for both Amazon and OpenStack based clouds. However, the really ambitious part is the second stage, where we want to offer the abstraction of an “infinite scalable” media server. Currently, most auto-scaling cloud mechanism for media infrastructures consist on instantiating independent media servers which don not interact among each other, so that the services that can be provided are the typical ones (i.e. group communication calls). Our vision goes beyond and requires a complex orchestration layer managing to expose those capabilities through an unified service API abstracting the fact that there are different media server instances, so that developers feel that they are working with a single “super” media server (which significantly simplifies the development process) having elastically scalable resources. This brings the possibility of creating, for example, very large distribution trees for real-time multimedia content.

There are other open source media servers out there; can you give us the few major advantages of Kurento?

Although the Kurento project comes from a telco philosophy, nowadays Kurento Media Server design is more adapted to being used in the context of Web technologies. For example, instead of exposing the media server capabilities directly through signaling protocols such as SIP or XMPP, which assume a specific communication models (i.e. calls models), KMS is fully agnostic to signaling. We just expose a control API suitable for the direct management of the media capabilities (e.g. recorder, WebRTC endpoint, Player, face detector, etc.) and not exposing high-level communication abstractions such as calls or rooms as other media servers and media infrastructures do. Hence, in general, if a developer just wants to make WebRTC calls following standard communication models, she may probably find Kurento Media Server too complex because the notion of what is a call or what is a room needs to be implemented by the developer. However, when the application is somehow beyond the standard “calls” and “room” models, Kurento is advantageous because makes possible to have full control on how the session is created and what specific capabilities are involved into it.

Can you give us a few real-life use cases where Kurento is being used today in production?

Kurento is part of the FIWARE Accelerators program (a program of the European Commission funding with 100M€ the participation of start-ups in the FIWARE ecosystem), and due to this there are now around 100 startups creating applications involving somehow Kurento technologies. Most of them are still in early stages, but among them there are e-learning applications, sports event retransmission applications using augmented reality overlays, smart-city applications for traffic control using different types of computer vision filters, click-to-call applications for putting in contact experts with users, etc.

In addition to this, Kurento is having success in the US, where some relevant startups are creating large deployments of Kurento for providing WebRTC services requiring features such as recording or RTMP interoperability. Hopefully, in the next few months we’ll be able to share with the community the detail of these success stories.

Any plans ahead for Kurento or new developments based on WebRTC that you would like to share with us?

Currently, 90% of the Kurento initiative is supported by public money coming from different research projects and 10% through private money coming from company contributions. Our plan is to put this model upside down so that, on the next couple of years, Kurento plays a relevant role in the media server market and is capable gathering all its resources from industries and developers using it. For this, we have some immediate plans such as consolidating our professional services line, which is already in place in collaboration with Naevatec, and which is working quite well in the last few months. Beyond that, we have some more ambitious plans for transforming Kurento into a legal entity of some kind. We are thinking about a foundation or even a start-up. Through it, we plan to implement a very disruptive idea we have in mind for bringing to reality our initial vision of communication services going “beyond transport”.

Read more
Little Ideas Big Impact

Are You Up to the Challenge?

Submit your abstract for presenting at WebRTC 2015 Conference in Paris

Consider this an invitation to propose an interesting topic you would want to cover at the WebRTC 2015 conference in Paris.

A few important things to keep in mind:

  • Anyone can apply for speaking, you can be a personal contributor or a company. Last year, one of the demo winners was an engineer who presented his personal project
  • Speakers selection is based on to what extent we think the topic proposed is interesting to the audience
  • We are looking to put a lot of focus on things built with WebRTC, use cases, services with a business model behind them
  • There is a list of topics but we are happy to consider additional topics
  • If you are planning your presentation around a company pitch don’t bother submitting

Little Ideas Big Impact

Topics on the agenda

Below are the topics we would like to see on the conference agenda. You can also head over to the formal call for speakers page.


WebRTC in action

Fast pace presentations of actual, end-user services.

Vendors and platform vendors are welcome to bring their customers to present. We will select the most interesting ones.


Does WebRTC disrupt UC and Contact Center?

Talk about disruption WebRTC brings to UC and contact Centers or maybe it changes nothing.


WebRTC in the service provider network

How do service providers tackle WebRTC. As an extension to IMS or as telecom OTT.


I’m a Web developer, how to get going with WebRTC?

There are missing pieces both on client and server sides. What does the Web developer need to close these gaps and get going? (The topic below is a drill down on infrastructure side)


WebRTC Infrastructure

It is not enough to have WebRTC in the browser. There are several infrastructure components required to make a service come to life. What components are available as hosted service and as products.


WebRTC, a new revenue opportunity or a revenue killer?

Presentations by service providers (telecom and OTT) showcasing real life monetization examples for WebRTC.

Examples of cases where WebRTC kills existing revenue models or disrupts the incumbents.


Problems I had using WebRTC

Technical presentations that talk about the problems developers have when using WebRTC.


WebRTC technology

  • Technological challenges for WebRTC
  • WebRTC for mobile
  • Standard topics
  • Media
  • Identity
  • ORTC

How to submit?

Send your abstract, in Word format to info@upperside.fr or remi.scavenius@wanadoo.fr.

Submission deadline is May 15th. Answers from committee by June 15th.

Read more
Unified Communication and WebRTC

The Impact of WebRTC on UC

Topic of the month covered by WebRTC “activists”

For this month the topic is: The impact of WebRTC on UC

Unified Communication and WebRTC

Starting with my opinion on this topic.

Amir Zmora

Link: TheNewDialTone

The word Unified in Unified Communications has nothing to do with unification of platforms. UC is all about bringing all your communication channels to one screen. The systems themselves don’t really talk one with the other natively, Lync, Avaya, Cisco, Broadsoft… all use standards based protocols with modifications that don’t let them interoperate out of the box.

WebRTC takes this one step further; it creates more islands of communication as it makes it easy to add UC capabilities as a feature in other applications – business applications, customer care, team collaboration and verticals.

And yes, UC vendors are adding WebRTC as an interface to their systems. Problem is that the applications and service providers mentioned above that are adding these features to their solutions have asymmetric business models that will allow them not to charge for the UC feature but for the service UC is embedded into.

Alan Quayle

Link: Alan Quayle

Does anyone remember the hype around ICA (Innovative Communications Alliance) between Microsoft and Nortel back in 2006? Unified communications was its focus, and here we are in 2015 using an ever expanding array of dis-unified communications. Presence remains the main gap in traditional PSTN, telcos and their vendors are to blame for that yawning gap, which drives us to lots of applications: Skype, WhatsApp etc. The application diversity being driven by the person we’re trying to communicate with and their preferences. So what impact will WebRTC have on UC? None. Because the problem is in federation of presence, not in the standardization of media codecs, and the lack of federation is driven more by commercial issues than lack of standardization.

Tsahi Levent-Levi

Link: BlogGeek.me

Unified Communication will struggle to compete with new vendors that will come into their space armed with WebRTC.

WebRTC reduces the cost and effort needed to develop UC systems drastically – to the point of commoditization. This race to zero means UC gets downgraded from a service into a feature that is plugged into some other service. Enterprise Messaging vendors are primed to take the leadership position from UC vendors, as they offer much more than mere real time communication capabilities.

Here’s a recent post I’ve written about the competition between enterprise messaging and unified communications.

Sorell Slaymaker

Link: Gartner

A couple potential use cases for WebRTC in UC:

–          Clientless Access to UC Suite – Utilizing WebRTC to access an enterprises UCC solution.  For example, a 3rd party accessing an enterprise Lync conference, w/o a Lync client, via an Audiocodes or Sonus SBC/WebRTC GW.

–          Least Common Denominator Video – Utilizing WebRTC to bridge different video platforms together in a cost effective way such as Starleaf integrating Lync and Jabber together via WebRTC.

Dean Bubley

Link: Disruptive Analysis

WebRTC will improve the usability and reach of UC platforms – but ironically, it will also have a much larger effect catalysing the trend of “disunification” of enterprise voice/video.

The world has 700m “knowledge workers” who use IT applications, plus 750m more that just use a phone for work. Yet today only a third use a traditional corporate “phone” or UC system. The rest use mobile telephony, cloud/app-based communications and a variety of consumer-grade VoIP and conferencing tools. WebRTC will reach both groups – and app/web developers embedding communications.

Disruptive Analysis forecasts 120m UC “seats” enhanced with WebRTC by 2019 – but 340m regular Disunified (DUC) users, exploiting fragmented cloud-based apps or services, “the best tools for each job”. Another 450m or so will use WebRTC occasionally – perhaps for one-off conferences or “guest access”.

nterprise user-base adoption of WebRTC

Chad Hart

Link: WebRTC Hacks

One of the more interesting aspects related to WebRTC in UC is the rise of Application IT. The larger trend of “build it yourself” that is prevalent in Silicon Valley startups could seriously eat into the traditional UC vendor market.  We are seeing more and more internal development groups look to take on communications capabilities leveraging WebRTC – both for customer facing applications but also to enable their own internal IT. For example, a Fortune 100 company we have worked with created their own video conferencing and collaboration platform that is tied into many of the other systems they have already created on their own. No traditional UC vendor involved.

Many of these groups have the skills to make apps for 10’s of thousands of your own employees and get millions of website hits a day. With WebRTC, how long will it take until they no longer need their UC vendor?

Schumann Sebastian

Link: Personal page

WebRTC in UC fits B2C more than B2B for now. Business/Customers communications will be simplified, since customers do not need any prerequisites to access the corporate UC. If a company decides to “open up” its UC, they make the necessary changes within their environment and it should be accessible from most “open Internet” accesses (consumers, smaller businesses). What will most likely not be affected is the communication with other larger enterprises. Federation today is mostly with predefined partners – with the need for changes on both sides. It is very likely that the other business has restrictions in place, too (e.g. browser installation, firewall restrictions, no plug-in permission for screen sharing). It is easy to ask IT for permission to install WebEx once, but several exceptions for several websites’ “proprietary” exceptions – not that likely.

Victor Pascual-Avila

Link: WebRTC Hacks

From what I see in my customers, main drivers for doing UC over WebRTC are:

  • Complement existing UC offerings (e.g. to provide mobility or user
    access when they are using their own devices/laptops from the
  • Replace existing UC offerings (e.g. reduce cost of licenses)
  • Created tailored solutions (use web developers to implement the very
    right set of features they want to provide — some go beyond existing
    UC offering, some other included in UC offering are dropped)
  • Integrate with existing assets (support systems, user databased,
    process databases, in-house developed APIs, etc)


Rules of engagement for Topic of the Month: No product/company promotion, a short 700-800 character statement.

If you would like to join this initiative and have your opinion published here in future posts please drop me a note.

Read more