Empty videos from Jibri

I have a working Jitsi install, no problems setting up meetings with multiple participants and no issues.

I have attempted to add a Jibri server to facilitate recordings, following the instructions at https://github.com/jitsi/jibri/blob/master/README.md. I can see that Jibri is recognized by Jitsi and connected. I can click the option to “Start Recording” from within a meeting, and receive indications that recording is starting. I can click on “Stop Recording”, and a .mp4 video is saved into my configured recordings directory after running the finalize script.

My issue is that the recording has no audio, and the video is only of a single Jitsi user (I assume that is the Jibri user?) in a meeting with no other users, just a generic Jitsi user.

In the Jibri logs, there are some SEVERE level issues in browser.0.txt:

[2020-10-19T13:43:30-0700] [SEVERE] https://$MY_JITSI/libs/app.bundle.min.js?v=4466 109:11934 “2020-10-19T20:43:30.701Z” “[features/base/tracks]” “Failed to create local tracks” Array(1)

[2020-10-19T13:43:31-0700] [SEVERE] https://$MY_JITSI/libs/lib-jitsi-meet.min.js?v=4466 9:28747 “2020-10-19T20:43:31.556Z” “[JitsiMeetJS.js]” "\u003CObject.getGlobalOnErrorHandler>: " “UnhandledError: null” “Script: null” “Line: null” “Column: null” "StackTrace: " TypeError: Cannot set property ‘deviceId’ of null
at https://$MY_JITSI/libs/app.bundle.min.js?v=4466:122:276059
at async Promise.all (index 0)
at async Promise.all (index 0)

[2020-10-19T13:43:31-0700] [SEVERE] https://$MY_JITSI/libs/app.bundle.min.js?v=4466 121:276058 Uncaught TypeError: Cannot set property ‘deviceId’ of null

The Jitsi logs do not seem to indicate any issues. They show that the Jibri instance is recognized and the Jibri user can connect.

I have made sure that snd-aloop is loaded and available on the Jibri server, and verified Jibri uses Java 8. Chrome and chromedriver are installed and appear to be working (any advanced tests I can run to make sure?). I have tried starting from scratch multiple times using different providers, but the result is always those errors and that empty recording.

Hopefully someone is able to help. Thanks in advance

After much more investigation, it seems my issue was a misconfiguration of Jibri.

The recording user of my jibri server was unable to determine the room name due to my jibri.conf missing the configuration “strip-from-room-domain”, once that was added to my jibri.conf with the value of “conference” like so:

xmpp {
    environments [{
        ...
        strip-from-room-domain = "conference."
        ...
    }]
}

the recording user was able to join the room and I now have recordings with audio and video.

I am still seeing the error “Failed to create local tracks” but things seem to be working.

Really liking the project and now I have recording capability.