Kurento Tutorials

This section contains tutorials showing how to use Kurento framework to build different types of WebRTC and multimedia applications. Tutorials come in three flavors:

  • Java: These show applications where clients interact with Spring-Boot based application, that host the logic orchestrating the communication among clients and controlling Kurento Media Server capabilities.
  • Browser JavaScript: These show applications executing at the browser and communicating directly with the Kurento Media Server. In these tutorial all logic is directly hosted by browser. Hence, no application server is necessary.
  • Node.js: These show applications where clients interact with an application server based on Node.js technology. The application server holds the logic orchestrating the communication among the clients and controlling Kurento Media Server capabilities for them.

Note

The tutorials have been created with learning objectives. They are not intended to be used in production environments where different unmanaged error conditions may emerge. Use at your own risk!

Note

These tutorials require https in order to use WebRTC. Following instructions will provided further information about how to enable application security.

Hello world

This is one of the simplest WebRTC applications you can create with Kurento. It implements a WebRTC loopback (a WebRTC media stream going from client to Kurento and back to the client)

WebRTC magic mirror

This web application consists on a WebRTC video communication in loopback, adding a funny hat over detected faces. This is an example of a computer vision and augmented reality filter.

WebRTC one-to-many broadcast

Video broadcasting for WebRTC. One peer transmits a video stream and N peers receive it.

WebRTC one-to-one video call

This web application is a videophone (call one to one) based on WebRTC.

WebRTC one-to-one video call with recording and filtering

This is an enhanced version of the the one-to-one application with video recording and augmented reality.

WebRTC many-to-many video call (Group call)

This tutorial connects several participants to the same video conference. A group call will ocnsist, in the media server side, in N*N WebRTC endpoints, where N is the number of clients connected to that conference.

Media Elements metadata

This tutorial detects and draws faces present in the webcam video. It connects filters: KmsDetectFaces and the KmsShowFaces.

Play media to WebRTC

This tutorial reads a file from disk and plays the video to WebRTC.

WebRTC outgoing data channels

This tutorial injects video to a QR filter and then sends the stream to WebRTC. QR detection events are delivered by means of WebRTC data channels, to be displayed in browser.

WebRTC incoming data channel

This tutorial shows how text messages sent from browser can be delivered by data channels, to be displayed together with loopback video.

WebRTC recording

This tutorial has two parts. First, it implements a WebRTC loopback and records the stream to disk. Second, it plays back the recorded stream. Users can choose which type of media to send and record: audio, video or both.

WebRTC repository

This is similar to the recording tutorial, but using the repository to store metadata.

WebRTC statistics

This tutorial implements a WebRTC loopback and shows how to collect WebRTC statistics.