Hi im using docker: https://github.com/jitsi/docker-jitsi-meet, i have followed the steps from the readme and the jitsi server is running, but i think jibri isnt working i cant find a button to start recording.
Do i have forgotten somethink what can be the mistake?
2020-03-03 14:50:41.874 INFO: [1] org.jitsi.jibri.Main.main() Jibri run with args [–config, /etc/jitsi/jibri/config.json]
2020-03-03 14:50:41.880 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2020-03-03 14:50:41.880 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2020-03-03 14:50:41.881 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for the HTTP API
2020-03-03 14:50:42.596 INFO: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:
JibriConfig(recordingDirectory=/config/recordings, singleUseMode=false, enabledStatsD=true, finalizeRecordingScriptPath=/config/finalize.sh, xmppEnvironments=[XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.jitsi], xmppDomain=meet.jitsi, controlLogin=XmppCredentials(domain=auth.meet.jitsi, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.jitsi, roomName=jibribrewery, nickname=jibri-instanse-515030348), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.jitsi, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)])
2020-03-03 14:50:43.453 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.internal.InternalHttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.internal.InternalHttpApi will be ignored.
2020-03-03 14:50:43.812 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2020-03-03 14:50:43.814 INFO: [1] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@5aa6202e
2020-03-03 14:50:43.820 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on xmpp.meet.jitsi with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.jitsi], xmppDomain=meet.jitsi, controlLogin=XmppCredentials(domain=auth.meet.jitsi, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.jitsi, roomName=jibribrewery, nickname=jibri-instanse-515030348), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.jitsi, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)
2020-03-03 14:50:43.821 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2020-03-03 14:50:43.833 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=xmpp.meet.jitsi domain=auth.meet.jitsi hostname=xmpp.meet.jitsi username=jibri mucs=[jibribrewery@internal-muc.meet.jitsi] mucNickname=jibri-instanse-515030348 disableCertificateVerification=true]
2020-03-03 14:50:43.843 WARNING: [21] org.jitsi.xmpp.mucclient.MucClient.log() Disabling certificate verification!
2020-03-03 14:50:43.867 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] about to connect and login.
2020-03-03 14:50:43.878 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.HttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.HttpApi will be ignored.
2020-03-03 14:50:44.088 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] connected
2020-03-03 14:50:44.161 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] authenticated, b=false
2020-03-03 14:50:44.161 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] about to join MUCs.
2020-03-03 14:50:44.191 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() Joined MUC: jibribrewery@internal-muc.meet.jitsi
2020-03-03 14:50:44.198 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element busy-status from namespace (links removed1)
2020-03-03 14:50:44.199 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace (link removed2)
2020-03-03 14:56:56.824 WARNING: [32] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener() Connection XMPPTCPConnection[jibri@auth.meet.jitsi/FttODdpf] (0) closed with error
org.jivesoftware.smack.XMPPException$StreamErrorException: system-shutdown You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
stream:errorReceived SIGTERM</stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1064)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
2020-03-03 14:56:56.828 INFO: [32] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] closed on error:
org.jivesoftware.smack.XMPPException$StreamErrorException: system-shutdown You can read more about the meaning of this stream error at (link removed3) Received SIGTERM</stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1064)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:1000)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:1016)
at java.lang.Thread.run(Thread.java:748)
2020-03-03 14:56:57.830 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 11
2020-03-03 14:56:58.832 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 10
2020-03-03 14:56:59.833 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 9
2020-03-03 14:57:00.835 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 8
2020-03-03 14:57:01.836 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 7
2020-03-03 14:57:02.837 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 6
2020-03-03 14:57:03.839 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 5
2020-03-03 14:57:04.840 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 4
2020-03-03 14:57:05.841 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 3
2020-03-03 14:57:06.843 FINE: [49] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] reconnecting in 2
Thats is the log in the jibri container
following my configuration
Basic configuration options
Directory where all configuration will be stored.
CONFIG=~/.jitsi-meet-cfg
Exposed HTTP port.
HTTP_PORT=8000
Exposed HTTPS port.
HTTPS_PORT=8443
System time zone.
TZ=Europe/Amsterdam
Public URL for the web service.
PUBLIC_URL=“my url”
IP address of the Docker host. See the “Running on a LAN environment” section
in the README.
DOCKER_HOST_ADDRESS=ma hostadress
Let’s Encrypt configuration
Enable Let’s Encrypt certificate generation.
ENABLE_LETSENCRYPT=0
Domain for which to generate the certificate.
#LETSENCRYPT_DOMAIN=meet.example.com
E-Mail for receiving important account notifications (mandatory).
#LETSENCRYPT_EMAIL=alice@atlanta.net
Etherpad integration (for document sharing)
Set etherpad-lite URL (uncomment to enable).
#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001
Basic Jigasi configuration options (needed for SIP gateway support)
SIP URI for incoming / outgoing calls.
JIGASI_SIP_URI=test@sip2sip.info
Password for the specified SIP account as a clear text
JIGASI_SIP_PASSWORD=passw0rd
SIP server (use the SIP account domain if in doubt).
JIGASI_SIP_SERVER=sip2sip.info
SIP server port
JIGASI_SIP_PORT=5060
SIP server transport
JIGASI_SIP_TRANSPORT=UDP
Authentication configuration (see README for details)
Enable authentication.
#ENABLE_AUTH=1
Enable guest access.
#ENABLE_GUESTS=1
Select authentication type: internal, jwt or ldap
#AUTH_TYPE=internal
JWT auuthentication
Application identifier.
#JWT_APP_ID=my_jitsi_app_id
Application secret known only to your token.
#JWT_APP_SECRET=my_jitsi_app_secret
(Optional) Set asap_accepted_issuers as a comma separated list.
#JWT_ACCEPTED_ISSUERS=my_web_client,my_app_client
(Optional) Set asap_accepted_audiences as a comma separated list.
#JWT_ACCEPTED_AUDIENCES=my_server1,my_server2
LDAP authentication (for more information see the Cyrus SASL saslauthd.conf man page)
LDAP url for connection.
#LDAP_URL=ldaps://ldap.domain.com/
LDAP base DN. Can be empty
#LDAP_BASE=DC=example,DC=domain,DC=com
LDAP user DN. Do not specify this parameter for the anonymous bind.
#LDAP_BINDDN=CN=binduser,OU=users,DC=example,DC=domain,DC=com
LDAP user password. Do not specify this parameter for the anonymous bind.
#LDAP_BINDPW=LdapUserPassw0rd
LDAP filter. Tokens example:
%1-9 - if the input key is user@mail.domain.com, then %1 is com, %2 is domain and %3 is mail.
%s - %s is replaced by the complete service string.
%r - %r is replaced by the complete realm string.
#LDAP_FILTER=(sAMAccountName=%u)
LDAP authentication method
#LDAP_AUTH_METHOD=bind
LDAP version
#LDAP_VERSION=3
LDAP TLS using
#LDAP_USE_TLS=1
List of SSL/TLS ciphers to allow.
#LDAP_TLS_CIPHERS=SECURE256:SECURE128:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC
Require and verify server certificate
#LDAP_TLS_CHECK_PEER=1
Path to CA cert file. Used when server sertificate verify is enabled.
#LDAP_TLS_CACERT_FILE=/etc/ssl/certs/ca-certificates.crt
Path to CA certs directory. Used when server sertificate verify is enabled.
#LDAP_TLS_CACERT_DIR=/etc/ssl/certs
Advanced configuration options (you generally don’t need to change these)
Internal XMPP domain.
XMPP_DOMAIN=meet.jitsi
Internal XMPP server
XMPP_SERVER=xmpp.meet.jitsi
Internal XMPP server URL
XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280
Internal XMPP domain for authenticated services.
XMPP_AUTH_DOMAIN=auth.meet.jitsi
XMPP domain for the MUC.
XMPP_MUC_DOMAIN=muc.meet.jitsi
XMPP domain for the internal MUC used for jibri, jigasi and jvb pools.
XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
XMPP domain for unauthenticated users.
XMPP_GUEST_DOMAIN=guest.meet.jitsi
Custom Prosody modules for XMPP_DOMAIN (comma separated)
XMPP_MODULES=
Custom Prosody modules for MUC component (comma separated)
XMPP_MUC_MODULES=
Custom Prosody modules for internal MUC component (comma separated)
XMPP_INTERNAL_MUC_MODULES=
MUC for the JVB pool.
JVB_BREWERY_MUC=jvbbrewery
XMPP user for JVB client connections.
JVB_AUTH_USER=jvb
XMPP password for JVB client connections.
JVB_AUTH_PASSWORD=passw0rd
STUN servers used to discover the server’s public IP.
JVB_STUN_SERVERS=stun.l.google.com:19302,the same comes two times augain but i have to cut it because ich can only put 2 links in a post
Media port for the Jitsi Videobridge
JVB_PORT=10000
TCP Fallback for Jitsi Videobridge for when UDP isn’t available
JVB_TCP_HARVESTER_DISABLED=true
JVB_TCP_PORT=4443
A comma separated list of APIs to enable when the JVB is started. The default is none.
See https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest.md for more information
#JVB_ENABLE_APIS=rest,colibri
XMPP component password for Jicofo.
JICOFO_COMPONENT_SECRET=s3cr37
XMPP user for Jicofo client connections. NOTE: this option doesn’t currently work due to a bug.
JICOFO_AUTH_USER=focus
XMPP password for Jicofo client connections.
JICOFO_AUTH_PASSWORD=passw0rd
Base URL of Jicofo’s reservation REST API
#JICOFO_RESERVATION_REST_BASE_URL=
XMPP user for Jigasi MUC client connections.
JIGASI_XMPP_USER=jigasi
XMPP password for Jigasi MUC client connections.
JIGASI_XMPP_PASSWORD=passw0rd
MUC name for the Jigasi pool.
JIGASI_BREWERY_MUC=jigasibrewery
Minimum port for media used by Jigasi.
JIGASI_PORT_MIN=20000
Maximum port for media used by Jigasi.
JIGASI_PORT_MAX=20050
Enable SDES srtp
#JIGASI_ENABLE_SDES_SRTP=1
Keepalive method
#JIGASI_SIP_KEEP_ALIVE_METHOD=OPTIONS
Health-check extension
#JIGASI_HEALTH_CHECK_SIP_URI=keepalive
Health-check interval
#JIGASI_HEALTH_CHECK_INTERVAL=300000
Enable Jigasi transcription.
#ENABLE_TRANSCRIPTIONS=1
Jigasi will recordord an audio when transcriber is on. Default false.
#JIGASI_TRANSCRIBER_RECORD_AUDIO=true
Jigasi will send transcribed text to the chat when transcriber is on. Default false.
#JIGASI_TRANSCRIBER_SEND_TXT=true
Jigasi post to the chat an url with transcription file. Default false.
#JIGASI_TRANSCRIBER_ADVERTISE_URL=true
Credentials for connect to Cloud Google API from Jigasi. Path located inside the container.
Please read
section “Before you begin” from 1 to 5 paragraph. Copy the key on
the docker host to ${CONFIG}/jigasi/key.json and to enable this setting:
#GOOGLE_APPLICATION_CREDENTIALS=/config/key.json
Enable recording
ENABLE_RECORDING=1
XMPP domain for the jibri recorder
XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
XMPP recorder user for Jibri client connections.
JIBRI_RECORDER_USER=recorder
XMPP recorder password for Jibri client connections.
JIBRI_RECORDER_PASSWORD=passw0rd
Directory for recordings inside Jibri container.
JIBRI_RECORDING_DIR=/config/recordings
The finalizing script. Will run after recording is complete.
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/config/finalize.sh
XMPP user for Jibri client connections.
JIBRI_XMPP_USER=jibri
XMPP password for Jibri client connections.
JIBRI_XMPP_PASSWORD=passw0rd
MUC name for the Jibri pool.
JIBRI_BREWERY_MUC=jibribrewery
MUC connection timeout
JIBRI_PENDING_TIMEOUT=90
When jibri gets a request to start a service for a room, the room
jid will look like: roomName@optional.prefixes.subdomain.xmpp_domain
We’ll build the url for the call by transforming that into:
So if there are any prefixes in the jid (like jitsi meet, which
has its participants join a muc at conference.xmpp_domain) then
list that prefix here so it can be stripped out to generate
the call url correctly.
JIBRI_STRIP_DOMAIN_JID=muc
Directory for logs inside Jibri container.
JIBRI_LOGS_DIR=/config/logs
Disable HTTPS. This can be useful if TLS connections are going to be handled outside of this setup.
#DISABLE_HTTPS=1
Redirects HTTP traffic to HTTPS. Only works with the standard HTTPS port (443).
#ENABLE_HTTP_REDIRECT=1
How you got start recording button ?