Cannot get Streaming or Recording to work in Ubuntu 22.04 or Debian 11.4

Hello.
I have read all the troubleshooting threads here and many tutorials elsewhere and I just cannot get Recording and Streaming to work.

I am using VirtualBox and a clean install of Linux. Actually, I was recording at the time you can see it from start to finish just not work. What am I doing wrong exactly?

https://youtu.be/Ac0YsaItFZQ?t=792

Welcome to the forum!

Have you checked out the tips in this tutorial?

Yes Freddie. You really know what you’re talking about as I’ve read in all those threads. Admittedly I’m a beginner in Linux but I have ran servers before. No tutorial I’ve followed on Jitsi/Jibri has worked yet. I think a new tutorial needs to be redone and I was willing to do it in a video.
I’m not using Java 8 - using 11.

As someone mentioned in that thread, I’m not using apt install xserver-xorg-input-void xserver-xorg-video-dummy and am using “ruby-hocon”
As you can see in the video, everything works except recording/streaming. So I’m really close yet none of the troubleshooting I read works either in Debian or Ubuntu.

I have read that multiple instances of VMs need to be ran to get more simultaneous recording done (I think) and all the configs need to be the same except for the users in Jibri.conf. But I haven’t even reached that point yet. I can’t even record/stream out of the gate.

What version of Ubuntu are you running?

It’s in the topic. 22.04. I also tried Debian 11.4. I like Debian better but I can’t get recording/streaming working in either. I have specifically searched threads here on these forums for that problem but I can’t find many recent ones, and many solutions are for the docker version which I am not using. I am using Virtualbox.

image

There is no Jitsi/Jibri tutorial currently online that an average user can just follow and successfully get to work. I think that’s a big problem. I am ripping what’s left of my hair out over here and if I ever get this working, I am making an easy to follow video tutorial that any human can get up and running. I think too much has changed in the past two years. JAVA 11 is now OK. newer chrome drivers can be used now etc.

I’m just hoping someone can find anything I did wrong in the video because I feel I have followed the guides pretty well, but there is something I am missing. I don’t know enough about Linux.

The tutorials still work. Indeed, Java 8 is no longer a requirement and 11 is actually now recommended, but everything still works. Something in your setup or environment is causing an issue.

Best bet is to share your Jibri config and log files to help pinpoint the issue(s).

That error in you screenshot is what you might see when you start local recording and have not selected the correct Chrome tab (you need to specifically choose the tab that’s running the meeting). It has nothing to do with server side recording or streaming with Jibri.

I haven’t had a chance to follow your full video and only jumped to random points. One thing that stood out is that you have not enabled the whole recordingService block and only the enabled line. E.g. this is not going to work:

It should look like:

     recordingService: {
         // When integrations like dropbox are enabled only that will be shown,
         // by enabling fileRecordingsServiceEnabled, we show both the integrations
         // and the generic recording service (its configuration and storage type
         // depends on jibri configuration)
         enabled: true,

         // Whether to show the possibility to share file recording with other people
         // (e.g. meeting participants), based on the actual implementation
         // on the backend.
         sharingEnabled: false,

         // Hide the warning that says we only store the recording for 24 hours.
         hideStorageWarning: false,
     },

The same for liveStreaming etc.

You don’t need to uncomment the comments that are marked as DEPRECATED.

Do share your full config and someone might be able to help.

1 Like

I see what you mean by enabling the entire block. Just did it and now I can’t even get to jitsi on my site now.

I’m looking at my log0.txt and it’s empty. I don’t know enough at this point how to generate the verbose logging I’ve seen in these threads yet.

Here is my config:

jibri {
// 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
api {
http {
external-api-port = 2222
internal-api-port = 3333
 }
xmpp {
// See example_xmpp_envs.conf for an example of what is expected here
environments = [
{
name = "prod environment"
xmpp-server-hosts = ["caterwaul.chickenkiller.com"]
xmpp-domain = "caterwaul.chickenkiller.com"


            control-muc {
                domain = "internal.auth.caterwaul.chickenkiller.com"
                room-name = "JibriBrewery"
                nickname = "jibri-nickname"
            }

            control-login {
                domain = "auth.caterwaul.chickenkiller.com"
                username = "jibri"
                password = "Jibr1P@ssw0rd"
            }

            call-login {
                domain = "recorder.caterwaul.chickenkiller.com"
                username = "recorder"
                password = "Rec0rderP@ssw0rd"
            }

            strip-from-room-domain = "conference."
            usage-timeout = 0
            trust-all-xmpp-certs = true
         }
      ]
   }
 }
recording {
recordings-directory = "/srv/recordings"
# TODO: make this an optional param and remove the default
finalize-script = "/etc/jitsi/jibri/record.sh"
 }
streaming {
// 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
".*"
   ]
 }
ffmpeg {
resolution = "1920x1080"
// The audio source that will be used to capture audio on Linux
audio-source = "alsa"
// The audio device that will be used to capture audio on Linux
audio-device = "plug:bsnoop"
 }
chrome {
// The flags which will be passed to chromium when launching
flags = [
"--use-fake-ui-for-media-stream",
"--start-maximized",
"--kiosk",
"--enabled",
"--disable-infobars",
"--autoplay-policy=no-user-gesture-required"
"--ignore-certificate-errors"
   ]
 }
stats {
enable-stats-d = true
 }
webhook {
// A list of subscribers interested in receiving webhook events
subscribers = []
 }
jwt-info {
// 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

 }
call-status-checks {
// 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

   }
}

That would indicate there is now a syntax error in the config.js file. Usually it is a missing curly brace or comma, but in your case, I think you might have uncommented too much.

Cannot_get_Streaming_or_Recording_to_work_in_Ubuntu_22_04_or_Debian_11_4_-Install___Config-Jitsi_Community_Forum-_developers___users

^ the line I highlighted is a comment and not part of the config. You need to preceded that with //

1 Like

Got it. Thank you.

Is there a current, working tutorial you could link to me? Because this one you can follow perfectly and it won’t work.

Nerd on the street’s doesn’t work. Some other Chinese guy’s tutorial I tried doesn’t work. They all say Recording/streaming works with their tutorials, but when you follow them perfectly, they don’t work. I have downloaded videos and zoomed in line by line and followed them all. It’s really insane. I’m not even sure how the meet.jit.si streaming and recording works but it does. How about they give up THEIR config so we can just follow that? :stuck_out_tongue:

image

I’m not worried about recording as I am about streaming. No matter what I do it just won’t work.

Sorry, Jibri is not something I have a lot of experience with and the post by @Freddie that you linked to is the most updated I know.

Frankly, with everyone running on different environments and with Jitsi being a rapidly evolving project, it’s very hard for any tutorial to be perfect for long. That’s where the community come it – to fill in the gaps and offer assistance on setup that’s slightly outside the norm.

Hope you find your way through this. Good luck :muscle:

It’s fine. You found I was not commenting out properly. I’m just going to try again on Debian right now and watch it blow up in my face for the 45th time. weeeeeeeee BDSM IS FUN

You may try jitsi-jibri-installer

Fixed the jitsimeet .js file in Debian according to shawn and this is the same error I got last night that I couldn’t find a fix for.

image

That also didn’t work when I tried it a few days ago. It basically requires two DNS servers to use and I even tried my two and it doesn’t work. I don’t need STUN - the ports are open on my firewall and my jitsi meet server works. It’s just streaming doesn’t.

Why would I get “All streamers are currently busy” on my server but not meet.jit.si? What’s the difference? I followed the tutorials.

I’m not sure this is ready for prime time. It doesn’t work.

I’m going to do it from scratch again on youtube and prove it.

If Jitsi Meet and Jibri actually work, can somebody take a few minutes to prove it in video? I want to see what you’re doing that apparently I’m not.

Edit: So apparently I’ve reached my max posts and can’t type anymore. The internet wasn’t like this in 1995 ahhaah. Limits. Uh huh.

@emrah

@emrah

2022-09-13 11:21:55.784 INFO: [1] MainKt.handleCommandLineArgs#186: Jibri run with args [--config, /etc/jitsi/jibri/config.json]

2022-09-13 11:21:55.842 INFO: [1] MainKt.setupLegacyConfig#211: Checking legacy config file /etc/jitsi/jibri/config.json

2022-09-13 11:21:55.846 INFO: [1] MainKt.setupLegacyConfig#214: Legacy config file /etc/jitsi/jibri/config.json doesn't exist

2022-09-13 11:21:56.090 INFO: [1] MainKt.main#55: Jibri starting up with id 

2022-09-13 11:21:56.376 INFO: [1] JwtInfo$Companion.fromConfig#176: got jwtConfig: {}



2022-09-13 11:21:56.376 INFO: [1] JwtInfo$Companion.fromConfig#186: Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: /etc/jitsi/jibri/jibri.conf: 88: No configuration setting found for key 'signing-key-path'

2022-09-13 11:21:56.499 INFO: [1] MainKt.main#125: Using port 3333 for internal HTTP API

2022-09-13 11:21:56.501 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:21:56.923 INFO: [1] XmppApi.updatePresence#209: Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections

2022-09-13 11:21:56.961 INFO: [1] XmppApi.start#156: Connecting to xmpp environment on caterwaul.chickenkiller.com with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[caterwaul.chickenkiller.com], xmppDomain=caterwaul.chickenkiller.com, baseUrl=null, controlLogin=XmppCredentials(domain=auth.caterwaul.chickenkiller.com, port=null, username=jibri, password=*****), controlMuc=XmppMuc(domain=internal.auth.caterwaul.chickenkiller.com, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.caterwaul.chickenkiller.com, port=null, username=recorder, password=*****), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true, securityMode=null)

2022-09-13 11:21:56.962 INFO: [1] XmppApi.start#174: The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted

2022-09-13 11:21:57.026 INFO: [1] MainKt.main#152: Using port 2222 for HTTP API

2022-09-13 11:21:57.070 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient.initializeConnectAndJoin#279: Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=caterwaul.chickenkiller.com domain=auth.caterwaul.chickenkiller.com hostname=caterwaul.chickenkiller.com port=null username=jibri mucs=[jibribrewery@internal.auth.caterwaul.chickenkiller.com] mucNickname=jibri-nickname disableCertificateVerification=true]

2022-09-13 11:21:57.110 WARNING: [32] MucClient.createXMPPTCPConnectionConfiguration#115: Disabling certificate verification!

2022-09-13 11:21:57.124 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient.initializeConnectAndJoin#341: Dispatching a thread to connect and login.

2022-09-13 11:21:57.130 WARNING: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient.lambda$getConnectAndLoginCallable$9#631: Error connecting:

org.jivesoftware.smack.SmackException$EndpointConnectionException: The following addresses failed: 'RFC 6120 A/AAAA Endpoint + [caterwaul.chickenkiller.com:5222] (caterwaul.chickenkiller.com/127.0.1.1:5222)' failed because: java.net.ConnectException: Connection refused (Connection refused), 'RFC 6120 A/AAAA Endpoint + [caterwaul.chickenkiller.com:5222] (caterwaul.chickenkiller.com/75.73.60.163:5222)' failed because: java.net.ConnectException: Connection refused (Connection refused)

	at org.jivesoftware.smack.SmackException$EndpointConnectionException.from(SmackException.java:334)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:664)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:849)

	at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:526)

	at org.jitsi.xmpp.mucclient.MucClient.lambda$getConnectAndLoginCallable$9(MucClient.java:626)

	at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:167)

	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)

	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:22:02.403 FINE: [32] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: xmpp-connected:xmpp_server_host:caterwaul.chickenkiller.com

2022-09-13 11:22:02.403 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$2.connected#312: Connected.

2022-09-13 11:22:02.403 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient.lambda$getConnectAndLoginCallable$9#637: Logging in.

2022-09-13 11:22:02.506 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$2.authenticated#318: Authenticated, b=false

2022-09-13 11:22:02.585 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$MucWrapper.join#761: Joined MUC: jibribrewery@internal.auth.caterwaul.chickenkiller.com

2022-09-13 11:22:56.482 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:23:56.483 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:24:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:25:31.576 WARNING: [50] org.jivesoftware.smack.AbstractXMPPConnection.callConnectionClosedOnErrorListener: Connection XMPPTCPConnection[jibri@auth.caterwaul.chickenkiller.com/6-7L0Iw8LSzi] (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:error><system-shutdown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>Received SIGTERM</text></stream:error>

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:984)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:25:31.578 FINE: [50] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: xmpp-closed-on-error:xmpp_server_host:caterwaul.chickenkiller.com

2022-09-13 11:25:31.579 WARNING: [50] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$2.connectionClosedOnError#332: Closed on 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:error><system-shutdown xmlns='urn:ietf:params:xml:ns:xmpp-streams'/><text>Received SIGTERM</text></stream:error>

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:984)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)

	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:25:33.281 FINE: [32] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: xmpp-connected:xmpp_server_host:caterwaul.chickenkiller.com

2022-09-13 11:25:33.281 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$2.connected#312: Connected.

2022-09-13 11:25:33.281 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient.lambda$getConnectAndLoginCallable$9#637: Logging in.

2022-09-13 11:25:33.344 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$2.authenticated#318: Authenticated, b=false

2022-09-13 11:25:33.344 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$MucWrapper.join#741: Leaving a MUC we already occupy.

2022-09-13 11:25:38.347 WARNING: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$MucWrapper.leave#716: Error while trying to leave a MUC: 

org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 5000ms (~5s). StanzaCollector has been cancelled. Waited for response using: AndFilter: (StanzaTypeFilter: Presence, OrFilter: (AndFilter: (FromMatchesFilter (full): jibribrewery@internal.auth.caterwaul.chickenkiller.com/jibri-nickname, PresenceTypeFilter: type=unavailable, MUCUserStatusCodeFilter: status=110), AndFilter: (FromMatchesFilter (ignoreResourcepart): jibribrewery@internal.auth.caterwaul.chickenkiller.com, PresenceTypeFilter: type=error))).

	at org.jivesoftware.smack.SmackException$NoResponseException.newWith(SmackException.java:124)

	at org.jivesoftware.smack.SmackException$NoResponseException.newWith(SmackException.java:104)

	at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:281)

	at org.jivesoftware.smack.StanzaCollector.nextResultOrThrow(StanzaCollector.java:228)

	at org.jivesoftware.smackx.muc.MultiUserChat.leave(MultiUserChat.java:798)

	at org.jitsi.xmpp.mucclient.MucClient$MucWrapper.leave(MucClient.java:712)

	at org.jitsi.xmpp.mucclient.MucClient$MucWrapper.join(MucClient.java:742)

	at org.jitsi.xmpp.mucclient.MucClient.joinMucs(MucClient.java:361)

	at org.jitsi.xmpp.mucclient.MucClient.lambda$getConnectAndLoginCallable$9(MucClient.java:658)

	at org.jitsi.retry.RetryStrategy$TaskRunner.run(RetryStrategy.java:167)

	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)

	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:25:38.349 INFO: [32] [hostname=caterwaul.chickenkiller.com id=caterwaul.chickenkiller.com] MucClient$MucWrapper.join#761: Joined MUC: jibribrewery@internal.auth.caterwaul.chickenkiller.com

2022-09-13 11:25:53.794 INFO: [48] XmppApi.handleJibriIq#236: Received JibriIq <iq xmlns='jabber:client' to='jibri@auth.caterwaul.chickenkiller.com/kwK8th4ZU63l' from='jibribrewery@internal.auth.caterwaul.chickenkiller.com/focus' id='amlicmlAYXV0aC5jYXRlcndhdWwuY2hpY2tlbmtpbGxlci5jb20va3dLOHRoNFpVNjNsAFc5RkpDLTI0ACuj+cFMv+pB' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='start' recording_mode='stream' room='nirv@conference.caterwaul.chickenkiller.com' streamid='87p5-uug0-k04u-whw3-d9hz' session_id='huyxisuhsgstzsmz'/></iq> from environment [MucClient id=caterwaul.chickenkiller.com hostname=caterwaul.chickenkiller.com]

2022-09-13 11:25:53.794 INFO: [48] XmppApi.handleStartJibriIq#268: Received start request, starting service

2022-09-13 11:25:53.796 INFO: [48] XmppApi.handleStartService#379: Parsed call url info: CallUrlInfo(baseUrl=https://caterwaul.chickenkiller.com, callName=nirv, urlParams=[])

2022-09-13 11:25:53.797 INFO: [48] XmppApi.handleStartService#405: Using RTMP URL rtmp://a.rtmp.youtube.com/live2/87p5-uug0-k04u-whw3-d9hz and viewing URL null

2022-09-13 11:25:53.804 INFO: [48] JibriManager.startStreaming#162: Starting a stream with params: ServiceParams(usageTimeoutMinutes=0, appData=null) StreamingParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://caterwaul.chickenkiller.com, callName=nirv, urlParams=[]), email='', passcode=null, callStatsUsernameOverride=, displayName=), sessionId=huyxisuhsgstzsmz, callLoginParams=XmppCredentials(domain=recorder.caterwaul.chickenkiller.com, port=null, username=recorder, password=*****), rtmpUrl=rtmp://a.rtmp.youtube.com/live2/87p5-uug0-k04u-whw3-d9hz, viewingUrl=null)

2022-09-13 11:25:53.816 FINE: [48] [session_id=huyxisuhsgstzsmz] FfmpegCapturer.<init>#92: Detected os as OS: LINUX

2022-09-13 11:25:54.254 SEVERE: [48] XmppApi.handleStartJibriIq#300: Error starting Jibri service 

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally.

  (unknown error: DevToolsActivePort file doesn't exist)

  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

  (Driver info: chromedriver=105.0.5195.52 (412c95e518836d8a7d97250d62b29c2ae6a26a85-refs/branch-heads/5195@{#853}),platform=Linux 5.10.0-18-amd64 x86_64) (WARNING: The server did not provide any stacktrace information)

Command duration or timeout: 225 milliseconds

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'

System info: host: 'caterwaul.chickenkiller.com', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.0-18-amd64', java.version: '11.0.16'

Driver info: driver.version: ChromeDriver

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)

	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)

	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)

	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)

	at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)

	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)

	at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)

	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)

	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)

	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)

	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)

	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)

	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)

	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)

	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)

	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)

	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)

	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)

	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)

	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)

	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)

	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:199)

	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:167)

	at org.jitsi.jibri.service.impl.StreamingJibriService.<init>(StreamingJibriService.kt:81)

	at org.jitsi.jibri.JibriManager.startStreaming(JibriManager.kt:164)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:406)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq(XmppApi.kt:275)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:243)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:225)

	at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:542)

	at org.jitsi.xmpp.mucclient.MucClient$3.handleIQRequest(MucClient.java:505)

	at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1565)

	at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2143)

	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:25:56.533 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:26:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:27:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:28:56.474 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:29:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:30:56.476 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:31:56.481 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:32:56.481 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:33:56.564 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:34:56.043 INFO: [66] XmppApi.handleJibriIq#236: Received JibriIq <iq xmlns='jabber:client' to='jibri@auth.caterwaul.chickenkiller.com/kwK8th4ZU63l' from='jibribrewery@internal.auth.caterwaul.chickenkiller.com/focus' id='amlicmlAYXV0aC5jYXRlcndhdWwuY2hpY2tlbmtpbGxlci5jb20va3dLOHRoNFpVNjNsAFc5RkpDLTE0NgAro/nBTL/qQQ==' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='start' recording_mode='file' room='test-1234@conference.caterwaul.chickenkiller.com' session_id='uppnmwbhqfnkhyyx' app_data='{"file_recording_metadata":{"share":true}}'/></iq> from environment [MucClient id=caterwaul.chickenkiller.com hostname=caterwaul.chickenkiller.com]

2022-09-13 11:34:56.043 INFO: [66] XmppApi.handleStartJibriIq#268: Received start request, starting service

2022-09-13 11:34:56.083 INFO: [66] XmppApi.handleStartService#379: Parsed call url info: CallUrlInfo(baseUrl=https://caterwaul.chickenkiller.com, callName=test-1234, urlParams=[])

2022-09-13 11:34:56.084 INFO: [66] JibriManager.startFileRecording#138: Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://caterwaul.chickenkiller.com, callName=test-1234, urlParams=[]), email='', passcode=null, callStatsUsernameOverride=, displayName=), sessionId=uppnmwbhqfnkhyyx, callLoginParams=XmppCredentials(domain=recorder.caterwaul.chickenkiller.com, port=null, username=recorder, password=*****))

2022-09-13 11:34:56.085 FINE: [66] [session_id=uppnmwbhqfnkhyyx] FfmpegCapturer.<init>#92: Detected os as OS: LINUX

2022-09-13 11:34:56.156 SEVERE: [66] XmppApi.handleStartJibriIq#300: Error starting Jibri service 

org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally.

  (unknown error: DevToolsActivePort file doesn't exist)

  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

  (Driver info: chromedriver=105.0.5195.52 (412c95e518836d8a7d97250d62b29c2ae6a26a85-refs/branch-heads/5195@{#853}),platform=Linux 5.10.0-18-amd64 x86_64) (WARNING: The server did not provide any stacktrace information)

Command duration or timeout: 53 milliseconds

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'

System info: host: 'caterwaul.chickenkiller.com', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.0-18-amd64', java.version: '11.0.16'

Driver info: driver.version: ChromeDriver

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)

	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)

	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)

	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)

	at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)

	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)

	at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)

	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)

	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)

	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)

	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)

	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)

	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

	at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)

	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)

	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)

	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)

	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)

	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)

	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)

	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)

	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)

	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:199)

	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:167)

	at org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>(FileRecordingJibriService.kt:109)

	at org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>(FileRecordingJibriService.kt:96)

	at org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:139)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:383)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq(XmppApi.kt:275)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:243)

	at org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:225)

	at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:542)

	at org.jitsi.xmpp.mucclient.MucClient$3.handleIQRequest(MucClient.java:505)

	at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1565)

	at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2143)

	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

	at java.base/java.lang.Thread.run(Thread.java:829)

2022-09-13 11:34:56.474 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:35:56.490 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:36:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:37:56.490 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:38:56.486 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:39:56.473 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

2022-09-13 11:40:56.472 FINE: [19] WebhookClient$updateStatus$1.invokeSuspend#109: Updating 0 subscribers of status

What is the output for

curl -s http://127.0.0.1:8888/stats | jq ".jibri_detector"

If you don’t have curl and jq, first install them

apt-get install curl jq

You may check jibri logs which are in /var/log/jitsi/jibri/