Difference between revisions of "Jitsi"

From CNM Wiki
Jump to: navigation, search
Line 1: Line 1:
 
===Database system===
 
===Database system===
 +
[[File:Jitsi_architecture.png|right|450px]]
 +
 
[[File:Jitsi.svg|right|350px]]
 
[[File:Jitsi.svg|right|350px]]
 
: Jitsi has a complex structure. Jitsi comprises a collection of projects:
 
: Jitsi has a complex structure. Jitsi comprises a collection of projects:

Revision as of 17:18, 12 April 2023

Database system

Jitsi architecture.png
Jitsi.svg
Jitsi has a complex structure. Jitsi comprises a collection of projects:
  • Jitsi Meet - WebRTC compatible JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences. Build upon React and React Native.
  • Jitsi Videobridge (JVB) - WebRTC compatible server designed to route video streams amongst participants in a conference. When transmitting video and audio between participants, it acts as an intermediary, that is, it performs the function of RTP/RTCP termination, sets the bitrate limits in both directions for each client. It has its own HTTP API for monitoring (/colibri/debug).
It works on the Simulcast architecture and does not do any transcoding, so it consumes relatively few server CPU resources, but increases the load on the client side compared to other architectures.
Several videobridges can be connected to the Jitsi videoconferencing system - then each new conference will be assigned to one of them.
  • Jitsi Conference Focus (jicofo) - server-side focus component used in Jitsi Meet conferences that manages media sessions and acts as load balancer between each of the participants and the videobridge. It has its own HTTP API (/about/health) to poll for resource status.
  • Jitsi Gateway to SIP (jigasi) - server-side application that allows regular SIP clients to join Jitsi Meet conferences
  • Jitsi Broadcasting Infrastructure (jibri) - set of tools for recording and/or streaming a Jitsi Meet conference that works by launching a Chrome instance rendered in a virtual framebuffer and capturing and encoding the output with ffmpeg.
External Software used by Jitsi:
  • Prosody - XMPP server used for signaling written in the Lua programming language.

See also

Related lectures