Following tutorial will guide you to install Jitsi Jibri for Cloud Recording in your own on-premises, cloud, or dedicated servers.
This guide is using Ubuntu 16.04 LTS as the operating system, to start the installation you can follow the guide below.
Before we begin you must make sure that you own the administration / root permission access by running following command:
sudo su
wget -qO - https://gist.githubusercontent.com/dimaskiddo/da6dfe184ce54db7293f128cf8eb7039/raw/61e1b02a4877d637edc8518d6e201e7424f1e1d9/jitsi-jibri-setup.sh | bash -e -
mv /etc/jitsi/jibri/config.json /etc/jitsi/jibri/config.json.orig~
nano /etc/jitsi/jibri/config.json
// Add following line
...
{
"recording_directory":"/srv/recordings",
"finalize_recording_script_path": "/bin/true",
"xmpp_environments": [{
"name": "your-domain-name",
"xmpp_server_hosts": [
"your-domain-name"
],
"xmpp_domain": "your-domain-name",
"control_login": {
"domain": "auth.your-domain-name",
"username": "jibri",
"password": "<your_jibri_password>"
},
"control_muc": {
"domain": "internal.auth.your-domain-name",
"room_name": "JibriBrewery",
"nickname": "<your_jibri_nickname>"
},
"call_login": {
"domain": "recorder.your-domain-name",
"username": "recorder",
"password": "<your_recorder_password>"
},
"room_jid_domain_string_to_strip_from_start": "conference.",
"usage_timeout": "0"
}]
}
...
systemctl restart jibri
systemctl status jibri
tail -n 100 -f /var/log/jitsi/jibri/log.0.txt
nano /etc/prosody/conf.d/your-domain-name.cfg.luga
-- Add or change to following line
...
Component "internal.auth.your-domain-name" "muc"
storage = "memory"
modules_enabled = {
"ping";
}
muc_room_cache_size = 1000
...
-- Add following line
...
VirtualHost "recorder.your-domain-name"
modules_enabled = {
"ping";
}
c2s_require_encryption = false
authentication = "internal_plain"
...
systemctl restart prosody
systemctl status prosody
prosodyctl register jibri auth.your-domain-name <your_jibri_password>
prosodyctl register recorder recorder.your-domain-name <your_recorder_password>
nano /etc/jitsi/jicofo/sip-communicator.properties
# Add following line
...
org.jitsi.jicofo.jibri.BREWERY[email protected]
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90
...
systemctl restart jicofo
systemctl status jicofo
nano /etc/jitsi/meet/your-domain-name-config.js
// Find and change following line
....
fileRecordingsEnabled: true,
liveStreamingEnabled: true,
...
// Add following line
...
hiddenDomain: 'recorder.your-domain-name',
...
nano /usr/share/jitsi-meet/interface_config.js
// Make sure 'recording' and 'livestreaming' are available in TOOLBAR_BUTTONS