I have set up JItsi and Jibri on AWS under different instances. Jibri is on docker. Thanks to the support from this community I could get it to work fine. However I am facing a challenge to scale up Jibri instances to support multiple parallel recordings. This is my requirement -
If a Jibri instance is already recording a call, the next recording should be routed to the next Jibri instance that is not recording any call.
Currently, only the 1st instance does the recording. A 2nd instance even if present, is not doing the recording. The load balancer is working fine, I am able to fetch test webpages from all instances in rotation on page refresh.
I referred to this link but it did not help me much -
Please let me know how to get this done, appreciate your help.
It should use any available Jibri, no matter its order of creation. Check if each Jibri’s nickname is unique. If nicknames are the same, only the first one will actually work. Check if they all start and work as expected (check their logs, the jibri logs not instance’s ones), check the logs of Jicofo to see if all new jibris are conecting ok.
How do we give unique nicknames to Jibri instances in an auto-scaling scenario with load balancers ?
Is there any special configuration to do to make Jicofo work with Jibri instances that are inside load balancers ? Will Jicofo/Load balancer know that once a recording started, all further traffic will have to be routed to that instance itself ?
Yes, Jicofo knows that the specific Jibri is currently recording and that it is busy. So for the next recording it will use another Jibri, with a different nickname - if such Jibri is available.
Jicofo doesn’t route any specific traffic to Jibri, Jibri is acting as a client, as a (hidden) participant in the conference, it is in fact a browser that records its screen.
Exactly, yes. It joins the call upon request when there is a recording attempt. For that it needs to be connected (the unique nickname comes here) and available (healthy and not currently busy recording)