Kurento Architecture Overview

Kurento operates using a modular architecture, where media elements are connected to build media pipelines. Understanding these components is key to developing with Kurento.

Key Components:

  1. Media Pipeline: The core entity that holds all media processing elements. A pipeline controls the flow of media through different elements.

  2. Media Elements: These are individual components that can be added to a pipeline to perform various tasks like:

    • Media Sources: Components that generate media (e.g., WebRTC, files, cameras).

    • Media Sinks: Components that receive or record media (e.g., WebRTC, files).

    • Filters: Components that process media streams (e.g., face recognition, image overlays).

  3. WebRTC Endpoint: This is a specific type of media element used to manage WebRTC connections (browser-to-server or peer-to-peer).

Media Flow

In Kurento, media flows between elements in a media pipeline. For example:

  • A user’s browser sends a WebRTC stream to Kurento (WebRTC Endpoint).

  • Kurento processes this stream using filters (such as a face recognition filter).

  • The stream is then sent back to the browser or forwarded to another endpoint.