Jitsi Meet Google Meet

Posted on  by admin

A single server Jitsi installation is good for a limited size of concurrent conferences.The first limiting factor is the videobridge component, that handles the actual video and audio traffic.It is easy to scale the video bridges horizontally by adding as many as needed.In a cloud based environment, additionally the bridges can be scaled up or down as needed.

Jitsi Meet lets you stay in touch with all your teams, be they family, friends, or colleagues. Instant video conferences, efficiently adapting to your scale. Unlimited users: There are no artificial restrictions on the number of users or conference participants. Server power and bandwidth are the only limiting factors. No account needed. A simple way to schedule meetings using meet.jit.si, the latest hosted version of the opensource conference solution Jitsi Meet. Learn more at https://jitsi.org. Architecture (Single Jitsi-Meet, multiple videobridges) A first step is to split the functions of the central jitsi-meet instance (with nginx, prosody and jicofo) and videobridges. A simplified diagram (with open network ports) of an installation with one Jitsi-Meet instance and three videobridges that are load balanced looks as follows. Google Meet - A video conferencing app. Jitsi Meet - Secure, fully featured, and completely free video conferencing.

NB: The Youtube Tutorial on Scaling is outdated and describes an old configuration method.

NB: Building a scalable infrastructure is not a task for beginning Jitsi Administrators.The instructions assume that you have installed a single node version successfully, and thatyou are comfortable installing, configuring and debugging Linux software.This is not a step-by-step guide, but will show you, which packages to install and whichconfigurations to change. Use the manual install fordetails on how to setup Jitsi on a single host.It is highly recommended to use configuration management tools like Ansible or Puppet to manage theinstallation and configuration.

Architecture (Single Jitsi-Meet, multiple videobridges)

A first step is to split the functions of the central jitsi-meet instance (with nginx, prosody and jicofo) andvideobridges.

Jitsi Meet Google Meet Login

A simplified diagram (with open network ports) of an installation with one Jitsi-Meet instance and threevideobridges that are load balanced looks as follows. Each box is a server/VM.

Machine Sizing

The Jitsi-Meet server will generally not have that much load (unless you have many) conferencesgoing at the same time. A 4 CPU, 8 GB machine will probably be fine.

The videobridges will have more load. 4 or 8 CPU with 8 GB RAM seems to be a good configuration.

Installation of Jitsi-Meet

Assuming that the installation will run under the following FQDN: meet.example.com and you haveSSL cert and key in /etc/ssl/meet.example.com.{crt,key}

Meet

Set the following DebConf variables prior to installing the packages.(We are not installing the jitsi-meet package which would handle that for us)

Install the debconf-utils package

On the jitsi-meet server, install the following packages:

  • nginx
  • prosody
  • jicofo
  • jitsi-meet-web
  • jitsi-meet-prosody
  • jitsi-meet-web-config

Installation of Videobridge(s)

For simplicities sake, set the same debconf variables as above and install

  • jitsi-videobridge2

Configuration of jitsi-meet

Firewall

Open the following ports:

Open to world:

  • 80 TCP
  • 443 TCP

Open to the videobridges only

  • 5222 TCP (for Prosody)
  • 5347 TCP (for Jicofo)

NGINX

Create the /etc/nginx/sites-available/meet.example.com.conf as usual

Prosody

Follow the steps in the manual install for setup tasks

You will need to adapt the following files (see the files in example-config-files/scalable)

  • /etc/prosody/prosody.cfg.lua
  • /etc/prosody/conf.avail/meet.example.com.cfg.lua

Jitsi-Meet

Adapt /usr/share/jitsi-meet/config.js and /usr/share/jitsi-meet/interface-config.js to your specific needs

Jicofo

You will need to adapt the following files (see the files in example-config-files/scalable)

  • /etc/jitsi/jicofo/config (hostname, jicofo_secret, jicofo_password)
  • /etc/jitsi/jicofo/sip-communicator.properties (hostname)

Configuration of the Videobridge

Firewall

Open the following ports:

Open to world:

  • 443 TCP
  • 10000 UDP

jitsi-videobridge2

You will need to adapt the following files (see the files in example-config-files/scalable)

Each videobridge will have to have it's own, unique nickname

  • /etc/jitsi/videobridge/config (hostname, password)
  • /etc/jitsi/jicofo/sip-communicator.properties (hostname of jitsi-meet, nickname of videobridge, vb_password)

With the latest stable (April 2020) videobridge, it is no longer necessary to set public and private IPadresses in the sip-communicator.properties as the bridge will figure out the correct configuration by itself.

Testing

After restarting all services (prosody, jicofo and all the jitsi-videobridge2) you can see in/var/log/prosody/prosody.log and/var/log/jitsi/jicofo.log that the videobridges connect to Prososy and that Jicofo picks them up.

When a new conference starts, Jicofo picks a videobridge and schedules the conference on it.

There are some options to tweak the invitation link to unlock more features inJitsi. The following parameters apply to the web, iframe and mobile version.

All keys listed here are prefixed with config..You pick a key, combine it with its value using = and link parameterswith &, e.g. #config.defaultLanguage=en&config.minParticipants=3.

Invitations

These parameters affect how you can invite people either before or within a session.

KeyValueEffect
disableInviteFunctionstruedisable invite function of the app
minParticipants2override the minimum number of participants before starting a call
prejoinPageEnabledtrueshow an intermediate page before joining to allow for adjustment of devices

UI

These parameters have an effect on the user interface.

KeyValueEffect
defaultLanguageenchange the UI default language
disableThirdPartyRequeststruegenerate avatars locally and disable callstats integration
enableDisplayNameInStatstruesend display names of participants to callstats
enableEmailInStatstruesend email (if available) to callstats and other analytics
enableInsecureRoomNameWarningtrueshow a warning label if the room name is deemed insecure

Video

Use these parameters to influence the video of a session.

KeyValueEffect
desktopSharingFrameRate.min5override the minimum framerate for desktop sharing
desktopSharingFrameRate.max5override the maximum framerate for desktop sharing
startWithVideoMutedtruedisable video when joining

Audio

Use these parameters to influence the audio of a session.

Jitsi Meet Google Meet Zoom

KeyValueEffect
disableAudioLevelstruedisable audio statistics polling (thereby perhaps improving performance)
disableRemoteMutetruedisable all muting operations of remote participants
startWithAudioMutedtrueturn off audio input when joining
startSilenttruemute audio input and output