Jitsi

From CNM Wiki
Jump to: navigation, search

Jitsi is a collection of free and open-source multiplatform voice (VoIP), video conferencing and instant messaging applications for the Web platform, Windows, Linux, macOS, iOS and Android.

Jitsi structure

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.

Security

Calls use the P2P mode, which is end-to-end encrypted via DTLS-SRTP between the two participants for encrypted communication (secure communication). Group calls also use DTLS-SRTP encryption, but rely on the Jitsi Videobridge (JVB) as video router, where packets are decrypted temporarily. All data is transmitted only through our server, and comprehensive TLS encryption provides protection against interception and unauthorized eavesdropping.

Practices

Broadcast integrations

See also

Related lectures