How to setup multiple jibri servers? Need help around config

Hi All,

I’m bit confused to do the right config, please advise.

I’m satisfying with my single Jibri, that is working in proper order. Need more, because of usage requirement.

All of my jibri instances running on separate VM (uniqie IP and names in Jitsi’s host file)

Prosody part @ Jitsi server (cfg.lua):
Added all necessary virtual hosts in array @ JIbri section at the end.
Prosody reloaded, additional accouts created one for Jibri as jibri02 @ auth,mydomain.com and for recorder as recorder02 @ recorder02.recorder02.mydomain.com

(additional MUC created, see below)

Jicofo @ sip-communicator.properties:

Left as is:
org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.yourdomain.com
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90

JItsi Meet @ config.js:
I have this singel line. Do I need more here? Sure… How?

// Whether to enable live streaming or not.
liveStreamingEnabled: true,
**hiddenDomain: 'recorder.mydomain.com',**

1st error/issue what I faced to:
This section doubled like this:

liveStreamingEnabled: true,
**hiddenDomain: 'recorder.mydomain.com',** 

liveStreamingEnabled: true,
**hiddenDomain: 'recorder02.mydomain.com',** 

At this point streamer or recorder /jibri/ appearing as conf participant, not kept in hidden. When 2nd part removed /revert back to original/, only recorder02 /2nd jibri/ appearing in conf room.

Jibri config @ config.json

        "control_login": {
            // The domain to use for logging in
            "domain": "auth.mydomain.com",
            // The credentials for logging in
            "username": "**jibri02**",
            "password": "jibriauthpass"
        },
        // Using the control_login information above, Jibri will join 
        //  a control muc as a means of announcing its availability 
        //  to provide services for a given environment
        "control_muc": {
            "domain": "internal.auth.webconf.globolearning.eu",
            "room_name": "JibriBrewery",
            "nickname": "**jibri-nickname03**"

(nickname different from 1st instance)
// All participants in a call join a muc so they can exchange
// information. Jibri can be instructed to join a special muc
// with credentials to give it special abilities (e.g. not being
// displayed to other users like a normal participant)
“call_login”: {
“domain”: “recorder02.recorder02.mydomain.com”,
“username”: “recorder02”,
“password”: “jibrirecorderpass”

Summ:
I have several problems:
1., room appearance of recorder/streamer as participant (sure it is JItsi Meet @ config.js missunderstand on my side)
2., I cannot stream AND record at the same time from same conf room.

Need advice.
Thanks

Hi everyone, I am trying too to make a secondary jibri for my jitsi machine with no luck. I cloned the first jibri and changed ip and hostname. I am very confused about json and jitsi config to change, can anyone help and clarify where to make changes? Thanks in advance.

EDIT, I have only added 2 users in jitsi’s prosody, jibri2 and recorder2 (same as jibri in auth and recorder in recorder).
Example:
prosodyctl register recorder2 recorder.meet.mydomain.org RecPassword
and
prosodyctl register jibri2 auth.jitsi.mydomain.org JibriPassword
After that I changed username and password in secondary jibri json setting, and also changed jibri-nickname in jibri2-nickname (jibribrewery section).
It works!

Hello Taroni
I am facing the same problem as you described here: Second jibri on different machine does not record. I have set up the 2 users on the jitsi server where prosody resides as you described. On the second jibri server, I have edited jibri.cfg.json with the corresponding users, passwords and nickname. Still, the problem persists.
One thing that makes me wonder is that jibri is the user name on both machines. Would authenticating as user jibri2 on jitsi server and then authenticating on the jibri server as jibri2 cause any trouble with permissions to write to /recordings?
I do not know how else the installation might be different from the first, working one. As you mention cloning the working installation, my second question is:
Besides, in order to make sure I have a clone image of the working server, how would I clone that installation from one Ubuntu 18.04 to another? Sorry, perhaps this is a silly question, but I am relatively new to working with terminal commands.
Please help.
Thanks,
Norbert

The only difference required between 1st jibri and the 2nd jibri instance I have found is setting unique “nickname”: “jibri-nickname1” & “nickname”: “jibri-nickname2” in the \etc\jitsi\jibri\config.json files on each instance.

In essence the username and password for recorder and jibri login can be the same as I have multiple jibri instances & this is the only unique difference in the jibri config.

If you prefer to add unique logins and passwords for each instance this also works providing the nickname is unique.

You might want to check what’s done here.

Also there will be new changes on the jibri operation so the installation and config process will change.
I’ll try to keep up with the changes.

Regards

1 Like

Hi Taroni,

Actually I want to add one more server of Jibri. It would be a great help if you can share the steps with us to do so.

Well, I’m not an expert.
Just clone your jibri server, change IP and server name.
Make sure it can resolve both existing jibri and jitsi hostnames, and vice versa jitsi can resolve your new jibri hostname.
In Jitsi server register new prosody accounts for recorder.yourdomain and auth.yourdomain.
prosodyctl register recorder2 recorder.meet.mydomain.org RecPassword
and
prosodyctl register jibri2 auth.jitsi.mydomain.org JibriPassword
In new jibri server edit json settings using new credentials as mentioned in my previous post.

I am using vmware. You can still make another machine and repeat your installation, but it will take longer.

Remember to do this…
/etc/jitsi/jibri/config.json
and change nickname in secondary jibri.
"control_muc": {
"domain": "internal.yourdomain",
"room_name": "JibriBrewery",
"nickname": "jibri2-nickname"
},

Thankyou @Taroni It’s working now :man_dancing: :man_dancing:

Also, Please let me know if there is any API to get the no. of available of jibri.

Sorry I don’t know, you should search in forum for this.

Hi Taroni,

thank you for yout post,
Its works for me also, but, i think there is a problem somewhere !

whene i lanch a recording or streaming, and i supervice with htop, only one jibri server who work, and if its saturate, the trafic jump to the other jebri server totally and the first server is empty now without work despite the first jibri is more stronger…

the second problem is whene for example whene i put the first server to off, the record trafic work to the second automatically whin is good. but if i power one ther first server wihn is the stronger, the trafic stay in the second server, its necessary to restart services manually to retun to ther stronger server.

how also to activate loadbalancer if exist ?

thanks for helping me