Creating client applications through Kurento APIs

What’s Kurento?

Kurento is 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 audiovisual flows.

Kurento also provides advanced media processing capabilities involving computer vision, video indexing, augmented reality and speech analysis. Kurento modular architecture makes simple the integration of third party media processing algorithms (i.e. speech recognition, sentiment analysis, face recognition, etc.), which can be transparently used by application developers as the rest of Kurento built-in features.

Kurento’s core element is Kurento Media Server, responsible for media transmission, processing, loading and recording. It is implemented in low level technologies based on GStreamer to optimize the resource consumption. It provides the following features:

  • Networked streaming protocols, including HTTP, RTP and WebRTC.
  • Group communications (MCUs and SFUs functionality) supporting both media mixing and media routing/dispatching.
  • Generic support for computational vision and augmented reality filters.
  • Media storage supporting writing operations for WebM and MP4 and playing in all formats supported by GStreamer.
  • Automatic media transcodification between any of the codecs supported by GStreamer including VP8, H.264, H.263, AMR, OPUS, Speex, G.711, etc.

There are available Kurento Client libraries in Java and Javascript to control Kurento Media Server from applications. If you prefer another programming language, you can use the Kurento Protocol, based on WebSocket and JSON-RPC.

Kurento is open source, released under the terms of Apache 2.0 license. Its source code is hosted on GitHub.

If you want to put your hands on quickly, the best way is installing the Kurento Media Server and take a look to our tutorials in form of working demo applications. You can choose your favorite technology to build multimedia applications: Java, Browser JavaScript or Node.js.

If you want to make the most of Kurento, please take a look to the advanced documentation.