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:
- 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.