Kurento: the WebRTC Modular Media Server
Luis López
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
luis.lopez@urjc.es
Boni García
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
boni.garcia@urjc.es
Raul Benítez
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
raul.benitez.mejias@urjc.es
Radu Tom Vlad
Naevatec
C/ Chile 10, Of. 8
Las Rozas de Madrid (Spain)
rvlad@naevatec.com
Miguel París
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
miguel.paris@urjc.es
Micael Gallego
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
micael.gallego@urjc.es
Jose A. Santos
Naevatec
C/ Chile 10, Of. 8
Las Rozas de Madrid (Spain)
jcaden@naevatec.com
Iván Gracia
Naevatec
C/ Chile 10, Of. 8
Las Rozas de Madrid (Spain)
igracia@naevatec.com
Santiago Carot
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
santiago.carot@urjc.es
Francisco Gortázar
Universidad Rey Juan Carlos
Camino del Molino S/N
28943 Fuenlabrada (Spain)
francisco.gortazar@urjc.es
David Fernández
Naevatec
C/ Chile 10, Of. 8
Las Rozas de Madrid (Spain)
dfernandez@naevatec.com
Francisco Javier Lopez
Naevatec
C/ Chile 10, Of. 8
Las Rozas de Madrid (Spain)
fjlopez@naevatec.com
ABSTRACT
In this paper we introduce Kurento Media Server: an open source
WebRTC Media Server providing a toolbox of capabilities which
include group communications, recording, routing, transcoding
and mixing. Kurento supports a large number of media protocols
such as WebRTC, plain RTP, RTSP or HTTP and bunch of
codecs including VP8, VP9, H.264, H.263, OPUS, Speex, PCM
or AMR. Kurento Media Server is based on a modular
architecture, which makes it possible for developers to extend and
customize its native capabilities with advanced media processing
features such as computer vision, augmented reality or speech
analysis. Kurento is ideal for WWW developers who find natural
programming with its Java and JavaScript APIs following the
traditional three tiered WWW development model.
Keywords
Media Server; Real-Time Multimedia, WebRTC; Modularity;
Recording, Computer Vision, Augmented Reality
1. INTRODUCTION
WebRTC [1] is the umbrella term for a number of emerging
technologies and APIs having the ambition of bringing Real-Time
Communications (RTC) to the WWW. Although still in its
infancy, WebRTC is one of the technological initiatives getting
most worldwide attention. WebRTC standardization bodies are
investing huge efforts on addressing most of the problems of
creating client-side WebRTC implementations for the WWW [1].
Thanks to this, both Chrome and Firefox browsers support it. This
means that, at the time of this writing, around 2 billion devices
enjoy built-in WebRTC capabilities. This number is expected to
grow during the next few years as other browsers, including Edge
and Safari are creating their WebRTC implementations.
Originally, most WebRTC applications were based on peer-to-
peer communication models. However, the use of WebRTC media
servers and infrastructures for making richer applications is
becoming common practice. For example, WebRTC media
gateways are typical on services requiring protocol or format
adaptations (as happens when integrating WebRTC with IMS),
Multi Point Control Units (MCUs) are often used to support group
communications, recording media servers are helpful when one
needs to persist WebRTC calls, etc.
In this paper, we concentrate on that infrastructure side of the
problem. For this, we present Kurento [2]: a WebRTC media
server and a set of client APIs making simple the development of
advanced video applications for WWW and smartphone
platforms. Kurento features include group communications,
transcoding, recording, mixing, broadcasting and routing of
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. Copyrights
for components of this work owned by others than ACM must be
honored. Abstracting with credit is permitted. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee. Request permissions
from Permissions@acm.org.
MM '16, October 15-19, 2016, Amsterdam, Netherlands
© 2016 ACM. ISBN 978-1-4503-3603-1/16/10…$15.00
DOI: http://dx.doi.org/10.1145/2964284.2973798
1187