Media Elements

Media elements are components that perform specific multimedia processing tasks. Kurento supports a wide range of media elements, including PlayerEndpoint, WebRtcEndpoint, and RecorderEndpoint. These elements can be linked within a pipeline to perform complex media processing, such as playing video, handling WebRTC streams, or recording media.

Media Elements Overview:

  • PlayerEndpoint: Plays multimedia content from a source, such as a file or stream.

  • WebRtcEndpoint: Manages WebRTC connections, sending and receiving media from WebRTC clients.

  • RecorderEndpoint: Records media streams into files for storage or later use.

Example: Creating and Configuring Media Elements

// Create a PlayerEndpoint and WebRtcEndpoint
pipeline.create('PlayerEndpoint', {uri: 'file:///path/to/video.mp4'}, function(error, player) {
    if (error) return console.error(error);

    pipeline.create('WebRtcEndpoint', function(error, webRtc) {
        if (error) return console.error(error);

        console.log('Player and WebRTC endpoints created.');
    });
});

Connecting Media Elements

Media elements are connected to define how media streams are processed and transmitted. For example, you might want to stream video from a PlayerEndpoint to a WebRtcEndpoint so that the video can be viewed in a web browser.

Example: Connecting Media Elements

// Connect the PlayerEndpoint to the WebRtcEndpoint
player.connect(webRtc, function(error) {
    if (error) return console.error(error);

    console.log('Player connected to WebRTC endpoint.');

    // Start the player
    player.play(function(error) {
        if (error) return console.error(error);

        console.log('Player is playing.');
    });
});

In this example, the player is streaming a video file to the WebRTC endpoint, which sends the video to a browser.