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:
-
Media Pipeline: The core entity that holds all media processing elements. A pipeline controls the flow of media through different elements.
-
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).
-
-
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.