I have the same problem. Recording fails as soon as I click on the recorder button. I’m running:
jibri/stable,now 8.0-61-g99288dc-1 all [installed]
jicofo/stable,now 1.0-690-1 all [installed,upgradable to: 1.0-691-hf-1]
jitsi-meet/stable,now 2.0.5390-1 all [installed,upgradable to: 2.0.5390-2]
jitsi-meet-prosody/stable,now 1.0.4628-1 all [installed,automatic]
jitsi-meet-tokens/stable,now 1.0.4628-1 all [installed]
jitsi-meet-turnserver/stable,now 1.0.4628-1 all [installed,automatic]
jitsi-meet-web/stable,now 1.0.4628-1 all [installed,automatic]
jitsi-meet-web-config/stable,now 1.0.4628-1 all [installed,automatic]
jitsi-videobridge2/stable,now 2.1-416-g2f43d1b4-1 all [installed,automatic]
nginx-full/bionic-updates,bionic-security,now 1.14.0-0ubuntu1.7 amd64 [installed]
prosody/unknown,now 0.11.7-1~bionic4 amd64 [installed,automatic]
This setup has all the component (including the turnserver for TCP 443 only-usage) and JWT authentication configured. I’ve already looked into How-to to setup integrated Jitsi and Jibri for dummies, my comprehensive tutorial for the beginner but with no avail
I see no errors whatsoever in the log files when trying starting the jibri service from systemctl nor when starting the recording from the conference. Here’s jibri.conf config, with properly hidden sensitive data:
// A unique identifier for this Jibri
// TODO: eventually this will be required with no default
id = ""
// Whether or not Jibri should return to idle state after handling
// (successfully or unsuccessfully) a request. A value of 'true'
// here means that a Jibri will NOT return back to the IDLE state
// and will need to be restarted in order to be used again.
single-use-mode = false
external-api-port = 2222
internal-api-port = 3333
// See example_xmpp_envs.conf for an example of what is expected here
environments = [
// A user-friendly name for this environment
name = "MyJitsi"
// A list of XMPP server hosts to which we'll connect
xmpp-server-hosts = [ "10.144.109.132" ]
// The base XMPP domain
xmpp-domain = "my.domain.it"
// The MUC we'll join to announce our presence for
// recording and streaming services
domain = "internal.auth.my.domain.it"
room-name = "JibriBrewery"
nickname = "jibri-nickname"
// The login information for the control MUC
domain = "auth.my.domain.it"
username = "jibri"
password = "mypassword"
// The login information the selenium web client will use
domain = "recorder.my.domain.it"
username = "recorder"
password = "mypassword"
// The value we'll strip from the room JID domain to derive
// the call URL
strip-from-room-domain = ""
// How long Jibri sessions will be allowed to last before
// they are stopped. A value of 0 allows them to go on
usage-timeout = 1 hour
// Whether or not we'll automatically trust any cert on
// this XMPP domain
trust-all-xmpp-certs = true
recordings-directory = "/opt/jibri_recordings"
# TODO: make this an optional param and remove the default
finalize-script = "/opt/finalize.sh"
// A list of regex patterns for allowed RTMP URLs. The RTMP URL used
// when starting a stream must match at least one of the patterns in
// this list.
rtmp-allow-list = [
// By default, all services are allowed
// The flags which will be passed to chromium when launching
flags = [
enable-stats-d = true
// A list of subscribers interested in receiving webhook events
subscribers = 
// The path to a .pem file which will be used to sign JWT tokens used in webhook
// requests. If not set, no JWT will be added to webhook requests.
# signing-key-path = "/path/to/key.pem"
// The kid to use as part of the JWT
# kid = "key-id"
// The issuer of the JWT
# issuer = "issuer"
// The audience of the JWT
# audience = "audience"
// The TTL of each generated JWT. Can't be less than 10 minutes.
# ttl = 1 hour
// If all clients have their audio and video muted and if Jibri does not
// detect any data stream (audio or video) comming in, it will stop
// recording after NO_MEDIA_TIMEOUT expires.
no-media-timeout = 30 seconds
// If all clients have their audio and video muted, Jibri consideres this
// as an empty call and stops the recording after ALL_MUTED_TIMEOUT expires.
all-muted-timeout = 10 minutes
// When detecting if a call is empty, Jibri takes into consideration for how
// long the call has been empty already. If it has been empty for more than
// DEFAULT_CALL_EMPTY_TIMEOUT, it will consider it empty and stop the recording.
default-call-empty-timeout = 30 seconds