Professional Documents
Culture Documents
What is Jibri
Jibri is the component that is used for recording, streaming and SIP video gateway.It works by
launching a Chrome instance rendered in a virtual framebuffer and capturing and encoding the
output with ffmpeg. It is intended to be run on a separate machine (or a VM), with no other
applications using the display or audio devices. Only one recording at a time is supported on a
single jibri.
Jicofo (This is another background service that cares about switching/relaying the processes
between all participants and the video bridge)
Jitsi Meet (Consider this to be the master service responsible for displaying all functionality in
your web browser.) Tell us how we can help you.
Meetrix is an industry leader in
nano /etc/prosody/prosody.cfg.lua
2)
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 1/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
modules_enabled = { "muc_mam" }
Create internal MUC component entry. This is required so that Jicofo can find jibri clients on a
MUC that jitsi meet users cannot access externally. And create the recorder virtual host entry, to
hold the user account for the jibri chrome session.
Add the following by logging into the "jitsi"
server using
nano /etc/prosody/conf.avail/meet.meetrix.io.cfg.lua
-- internal muc component, meant to enable pools of jibri and jigasi clients
modules_enabled = {
"ping";
storage = "memory"
muc_room_cache_size = 1000
VirtualHost "recorder.meet.meetrix.io"
modules_enabled = {
"ping";
authentication = "internal_plain"
Reload prosody:
Create two new accounts for Jibri to use (one for control purposes,Meetrix
one foris an industry leader in
recording purposes):
(https://w
WebRTC and Jitsi solutions.
a.me/c/94
prosodyctl register jibri auth.meet.meetrix.io JibrisPass
70201908
prosodyctl register recorder recorder.meet.meetrix.io RecordersPass
2)
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 2/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
Configure Jicofo
set the appropriate MUC to look for the Jibri Controllers.
nano /etc/jitsi/jicofo/sip-communicator.properties
Add these two lines for the Jibri control room and timeout:
org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.meet.meetrix.io
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
Reload Jicofo:
nano /etc/jitsi/meet/meet.meetrix.io-config.js
bosh: '//meet.meetrix.io/http-bind'
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 3/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
hiddenDomain: 'recorder.meet.meetrix.io',
Installing Jibri:
Pre-Requisites
Check to see that the module is already loaded: lsmod | grep snd_aloop
If the output shows the snd-aloop module loaded, then the ALSA loopback configuration
step is complete.
modprobe snd_aloop'
To install it, enter the following command as root or user with sudo privileges
(https://linuxize.com/post/how-to-create-a-sudo-user-on-ubuntu/) :This will also install many packages for the
dependencies.
To verify the installation, use the ffmpeg -version command, which prints the FFmpeg version:
ffmpeg -version
Miscellaneous Packages
apt update
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 5/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
wget -N http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip -
P ~/
unzip ~/chromedriver_linux64.zip -d ~/
rm ~/chromedriver_linux64.zip
mkdir -p /etc/opt/chrome/policies/managed
2)
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 6/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
Configure Jibri:
Step 1: Install the required packages that are available from Debian 10's default repositories:
We need to configure the xmpp environments and the directory where we want to store our
recordings:
nano /etc/jitsi/jibri/config.json
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 7/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
"recording_directory":"/srv/recordings",
"finalize_recording_script_path": "/path/to/finalize_recording.sh",
"xmpp_environments": [
"xmpp_server_hosts": [
"meet.meetrix.io"
],
"xmpp_domain": "meet.meetrix.io",
"control_login": {
"domain": "auth.meet.meetrix.io",
"username": "jibri",
"password": "JibrisPass"
},
"control_muc": {
"domain": "internal.auth.meet.meetrix.io",
"room_name": "JibriBrewery",
"nickname": "jibri-nickname"
},
"call_login": {
"domain": "recorder.meet.meetrix.io",
"username": "recorder",
"password": "RecordersPass"
},
"room_jid_domain_string_to_strip_from_start": "conference.",
"usage_timeout": "0"
Jibri Code
https://github.com/jitsi/jibri (https://github.com/jitsi/jibri)
/src/main/kotlin/org/jitsi/jibri/selenium/JibriSelenium.kt
Meetrix is an industry leader in
(https://w
WebRTC and Jitsi solutions.
a.me/c/94
70201908
Changing the Code to accept the Self Signed /Insecure Certificate
2)
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 8/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
chromeOptions.addArguments("--ignore-certificate-errors")
chromeOptions.setAcceptInsecureCerts(true)
src/main/kotlin/org/jitsi/jibri/service/impl/StreamingJibriService.kt
Reload Jibri
Create directory to store recordings and assign jibri ownership of the directory
mkdir /recordings
Jibri
2)
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 9/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
Install Java 8
add-apt-repository https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt update
Open "launch.sh"
nano /opt/jitsi/jibri/launch.sh
Set Java 8 as default for Jibri instead of the default Java version - replace the word "java" with the
full path to Java 8
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java
How to record to S3
configured finalizerecording.sh script as below,
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 10/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
#!/bin/bash
RECORDINGS_DIR=$1
if [ -d "$RECORDINGS_DIR" ]; then
rm -r ${RECORDINGS_DIR}
fi
exit 0
3. Choose
1. You need only, the newly created App key, goes in nano /etc/jitsi/meet/[yourdeployment.com]-
config.js
dropbox: {
appKey: '__dropbox_app_key__',
redirectURI: 'https://[yourdeployment.com]/static/oauth.html'
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 11/12
11/3/22, 1:38 PM Setting up Jibri for Jitsi Meet meeting recording and streaming on Ubuntu 18, Ubuntu 20.04 for Nginx or Apache - Meetrix.IO
LEAVE A COMMENT
Configure 250 user Jitsi Configure 500 user Jitsi Configure 1000 user Debug - Audit existing
Enterprise Platform Enterprise Platform
Jitsi Enterprise Platform
setups
https://meetrix.io/blog/webrtc/jitsi/setting-up-jibri-recording-on-ubuntu.html 12/12