OWT Server overall architecture analysis [Open WebRTC Toolkit]

OWT Server Overall Architecture Analysis


Table of contents

insert image description here

related articles:

  1. Install OWT Server[Open WebRTC Toolkit] in Ubuntu environment
  2. Install OWT Server[Open WebRTC Toolkit] in Docker environment
  3. OWT Server overall architecture analysis [Open WebRTC Toolkit]
  4. OWT Server Signaling Analysis (Part 1) [Open WebRTC Toolkit]
  5. OWT Server Signaling Analysis (Part 2) [Open WebRTC Toolkit]
  6. OWT Server process structure and JS code processing flow[Open WebRTC Toolkit]
  7. OWT Server REST API

1. OWT Server architecture

  1. OWT Server adheres to the principle of modular architecture, and can be divided into five blocks according to the functions of components, as shown in the figure below.

image.png

1. Signaling components

  1. The signaling component is responsible for signaling interaction with the client.
    1. WebRTC Portal is responsible for signaling interaction with WebRTC clients.
    2. The SIP Portal is responsible for signaling interaction with the SIP client.

2. Media docking components

  1. The media docking component is responsible for connecting media data into the system and exporting media data to other systems.
    1. WebRTC Agent is responsible for media data transmission with WebRTC client.
    2. The SIP Agent is responsible for transmitting media data with the SIP client.
    3. The Streaming Agent is responsible for the input and output of RTSP/RTMP/HLS/Dash streams.
    4. Recording Agent is responsible for server-side recording.

3. Media processing components

  1. The media processing component is responsible for transcoding, merging, and analyzing audio and video data.
    1. Audio Agent is responsible for audio transcoding and mixing.
    2. Video Agent is responsible for video transcoding and synthesis.
    3. Analytics Agent provides some server-side audio and video stream analysis functions, and supports custom plug-ins for analysis and processing.

4. Call Control Components

  1. The call control component is responsible for the control and management of rooms and users, such as joining a room, publishing audio and video streams, subscribing to audio and video streams, etc., which are all handled by the Conference Agent.

5. Support components

  1. Support components include:
    1. OWT Server is managed in the form of a cluster even when it is running on a single machine, and the Cluster Manager is a simple cluster manager.
    2. Functions such as creating a room, obtaining user information, and stream information are interfaces provided in the form of RESTful APIs, and these interfaces are provided by the Management API.
    3. Management Console is an administrator console that provides a web service.
    4. The data that OWT Server needs to persist is stored in MongoDB, and the communication between various components is realized by using RPC calls based on RabbitMQ.
  2. The above components are all independent processes when deployed. In fact, each component is an independent directory when deployed. They can all run on the same server or on different servers.
  3. Such a modular and strongly isolated architecture ensures error isolation, and an exception generated in one component will not infect other components. In addition, each component can be upgraded and replaced independently during runtime.

Guess you like

Origin blog.csdn.net/weixin_41910694/article/details/127694104