Want to enable recording and streaming on your Jitsi Meet server? Join me as I walk through the complete setup of Jibri!
All of the commands and configuration I used in this video are available in text form here: https://nerdonthestreet.com/wiki?find=Set+Up+Jibri+for+Jitsi+Recording%3Aslash%3AStreaming
Comments (log in to post)
posted
posted
thats from my browser log file.
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] Done waiting for pending navigations. Status: ok
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Command: Runtime.evaluate (id=240) 35973CC5419AB588D8B827B710AA92D3 {
"awaitPromise": true,
"expression": "(function() { // Copyright © 2012 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/**\n * Enum f…",
"returnByValue": true
}
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Response: Runtime.evaluate (id=240) 35973CC5419AB588D8B827B710AA92D3 {
"result": {
"type": "object",
"value": {
"status": 0,
"value": null
}
}
}
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] Waiting for pending navigations…
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Command: Runtime.evaluate (id=241) 35973CC5419AB588D8B827B710AA92D3 {
"expression": "1"
}
2020-08-30 13:20:28.012 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Response: Runtime.evaluate (id=241) 35973CC5419AB588D8B827B710AA92D3 {
"result": {
"description": "1",
"type": "number",
"value": 1
}
}
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] Done waiting for pending navigations. Status: ok
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] [d907c5ed5abb4085b7637b923679615e] RESPONSE ExecuteScript null
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] [d907c5ed5abb4085b7637b923679615e] COMMAND GetLogTypes {
}
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] [d907c5ed5abb4085b7637b923679615e] RESPONSE GetLogTypes [ "browser", "driver" ]
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] [d907c5ed5abb4085b7637b923679615e] COMMAND GetLog {
"type": "browser"
}
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Command: Runtime.evaluate (id=242) 35973CC5419AB588D8B827B710AA92D3 {
"awaitPromise": false,
"expression": "1",
"returnByValue": true
}
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [FINE] DevTools WebSocket Response: Runtime.evaluate (id=242) 35973CC5419AB588D8B827B710AA92D3 {
"result": {
"description": "1",
"type": "number",
"value": 1
}
}
2020-08-30 13:20:28.013 INFO: [360] browser.leaveCallAndQuitBrowser() [2020-08-30T13:20:27+0000] [INFO] [d907c5ed5abb4085b7637b923679615e] RESPONSE GetLog [ {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/app.bundle.min.js?v=4289 71:36233 "2020-08-30T13:19:55.672Z" "[modules/UI/videolayout/VideoLayout.js]" "\u003CObject.changeUserAvatar>: " "Missed avatar update -…",
"source": "console-api",
"timestamp": 1.598793595674e+12
}, {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:55.767Z" "[modules/statistics/AnalyticsAdapter.js]" "\u003CObject.dispose>: " "Disposing of analytics adap…",
"source": "console-api",
"timestamp": 1.598793595771e+12
}, {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/app.bundle.min.js?v=4289 71:36233 "2020-08-30T13:19:56.630Z" "[modules/UI/videolayout/VideoLayout.js]" "\u003CObject.changeUserAvatar>: " "Missed avatar update -…",
"source": "console-api",
"timestamp": 1.598793596632e+12
}, {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:56.641Z" "[JitsiMeetJS.js]" "\u003CObject.init>: " "Analytics disabled, disposing."",
"source": "console-api",
"timestamp": 1.598793596642e+12
}, {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:56.642Z" "[modules/statistics/AnalyticsAdapter.js]" "\u003CObject.dispose>: " "Disposing of analytics adap…",
"source": "console-api",
"timestamp": 1.598793596644e+12
}, {
"level": "SEVERE",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:57.163Z" "[JitsiMeetJS.js]" "\u003CObject.getGlobalOnErrorHandler>: " "UnhandledError: null" "Script: null…",
"source": "console-api",
"timestamp": 1.598793597516e+12
}, {
"level": "SEVERE",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:57.166Z" "[modules/xmpp/strophe.util.js]" "\u003CObject.r.Strophe.log>: " "Strophe: BOSH-Connection failed…",
"source": "console-api",
"timestamp": 1.598793597516e+12
}, {
"level": "SEVERE",
"message": "https://meet.mogokdhamma.co.uk/libs/app.bundle.min.js?v=4289 71:36233 "2020-08-30T13:19:57.172Z" "[connection.js]" "\u003Ca.o>: " "CONNECTION FAILED:" "connection.otherError"",
"source": "console-api",
"timestamp": 1.598793597516e+12
}, {
"level": "SEVERE",
"message": "https://meet.mogokdhamma.co.uk/libs/app.bundle.min.js?v=4289 71:36233 "2020-08-30T13:19:57.185Z" "[features/base/connection]" "connection.otherError"",
"source": "console-api",
"timestamp": 1.598793597517e+12
}, {
"level": "WARNING",
"message": "https://meet.mogokdhamma.co.uk/libs/lib-jitsi-meet.min.js?v=4289 9:26473 "2020-08-30T13:19:57.277Z" "[modules/RTC/RTCUtils.js]" "Failed to get access to local media. NotReadableError: Could not st…",
"source": "console-api",
"timestamp": 1.598793597517e+12
}, {
"level": "SEVERE",
posted
posted
2020-08-06 11:56:10.673 INFORMACIÓN: [54] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Starting up to Error: FailedToJoinCall
SESSION Failed to join the call
2020-08-06 11:56:10.675 INFORMACIÓN: [54] org.jitsi.jibri.service.impl.FileRecordingJibriService.onServiceStateChange() File recording service transitioning from state S
tarting up to Error: FailedToJoinCall SESSION Failed to join the call
2020-08-06 11:56:10.677 INFORMACIÓN: [54] org.jitsi.jibri.api.xmpp.XmppApi.invoke() Current service had an error Error: FailedToJoinCall SESSION Failed to join the call,
sending error iq <iq to='jibribrewery@internal.auth.meettest.colonizacion.com.uy/focus' id='043eM-36' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' status='
off' failure_reason='error' should_retry='true'/></iq>
Any idea how to fix it?
posted
We setup Jitsi on blank server through a hosting company, and I am in no way qualified to be working with a server like Jibri requires…
… got Jibri set up for my superiors first try with your help!
Awesome background information as well!
posted
My recording fails and I found when I check on the status of jibri via systemctl i get this.
● jibri.service - Jibri Process
Loaded: loaded (/etc/systemd/system/jibri.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-06-25 15:18:51 EDT; 12min ago
Main PID: 432 (java)
Tasks: 33 (limit: 19183)
Memory: 218.7M
CGroup: /system.slice/jibri.service
└─432 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -Djava.util.logging.config.file=/etc/jitsi/jibri/logging.properties -jar /opt/jitsi/jibri/jibri.jar –config /etc/jitsi/jibri/config.json
Jun 25 15:18:51 jibri systemd[1]: Started Jibri Process.
Jun 25 15:18:55 jibri launch.sh[432]: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Jun 25 15:18:55 jibri launch.sh[432]: SLF4J: Defaulting to no-operation (NOP) logger implementation
Jun 25 15:18:55 jibri launch.sh[432]: SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
posted
posted
I couldn't see any option for editing a previous post I posted.
This is the kernel I have on my Digitalocean Jitsi Droplet
Linux jitsimeet 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
will it work with your instructions?
Thnaks
posted
What a great job you've done!!!
The recording and streaming now appears in my jitsi settings
Unfrotunately the recording doesn't actually work.
Is there a way for troubleshooting?
Thnaks
posted
Jibri itself guide is not complete as you said on video, but you helped me a lot with some tips, specially java 8 and chrome policie.
By the way on you guide the policie is not written
Im running it on 2 ubuntu 18.04 servers, jibri alone and jitsi environment on another server but for some reason my "recorder" is joining the rooms ! In the community i didnt find directions, any idea what could be?
The hidden settings is ok, no effect