I have been running self-hosted jitsi for a couple of years, but after updating to the latest version in December, screen sharing has not been working well.
It seems to be something about my server, because on meet.jit.si it works well.
With my server, it works fairly well with Firefox, but with the jitsi electron app it doesn’t work at all. If a user shares his screen, other users see the UI switch as if screen sharing is starting, but they just see a black screen (or sometimes the last frame from the user’s camera).
Ah, if it fails in Chromium incognito, then it’s not the cache.
Strange that it works on Firefox but not on Chrome. Do you see any errors in your js console?
On Firefox it “works”, as in: screen sharing starts, other users can see it, image quality is good, but then after a minute or so it will stop updating, then go blank, then start working again. It’s flakey. But debugging the Chromium/Electron issue seems a better place to start, since it never works. Tried Chromium, Chome, Electron app, Mac, Windows, Linux. Never works. I’ve never checked a “js console” before, but I’ll do some googling on that…
Another thing to note: this occurs in a very simple scenario of just two participants on the same gigabit ethernet LAN, on the same switch even. No wifi, no internet traversal, etc.
No, that’s the Debian installer. It’s for managing subdomains with Nginx, something that is not relevant at the source code level (git). You can leave it as it is or remove it since with 20 users you are not likely to have a need for subdomains (something used for tenants).
And please try to use Chrome for a test, while opening Dev Tools (More Tools menu), then click the Console tab, and use right clic to save as… . Then upload the file here.
Thanks for pointing to me the console. With Chromium, here are the logs starting from when I press the ‘start sharing your screen’ button (I edited out what looks like very verbose backtraces):
Logger.js:154 2022-01-27T00:26:30.518Z [modules/RTC/ScreenObtainer.js] <Object.obtainScreenFromGetDisplayMedia>: Using getDisplayMedia for screen sharing {video: true, audio: true, cursor: 'always'}
Logger.js:154 2022-01-27T00:26:33.064Z [JitsiConference.js] <jc._doReplaceTrack>: _doReplaceTrack - no P2P JingleSession
Logger.js:154 2022-01-27T00:26:33.112Z [modules/RTC/TraceablePeerConnection.js] <ha.setSenderVideoConstraints>: TPC[id=1,type=JVB] Setting degradation preference [preference=maintain-resolution,track=LocalTrack[6,video]
Logger.js:154 2022-01-27T00:26:33.114Z [modules/RTC/TraceablePeerConnection.js] <ha.setSenderVideoConstraints>: TPC[id=1,type=JVB] setting max height=2160,encodings=[{"active":false,"adaptivePtime":false,"maxBitrate":500000,"networkPriority":"low","priority":"low"},{"active":false,"adaptivePtime":false,"maxBitrate":500000,"networkPriority":"low","priority":"low"},{"active":true,"adaptivePtime":false,"maxBitrate":500000,"networkPriority":"low","priority":"low"}]
Logger.js:154 2022-01-27T00:26:33.115Z [modules/xmpp/JingleSessionPC.js] <Object.callback>: JingleSessionPC[session=JVB,initiator=false,sid=8mupq9rcdqp77] Replace track done!
Logger.js:154 2022-01-27T00:26:33.135Z [features/base/tracks] Replace video track - unmuted
Logger.js:154 2022-01-27T00:26:33.159Z [conference.js] Screen sharing started
Logger.js:154 2022-01-27T00:26:37.236Z [modules/RTC/BridgeChannel.js] <Kr._send>: Bridge Channel send: no opened channel.
Logger.js:154 2022-01-27T00:26:37.237Z [JitsiConference.js] <Qa.sendMessage>: Failed to send E2E ping request or response. undefined
Logger.js:154 2022-01-27T00:26:40.549Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed by server
Logger.js:154 2022-01-27T00:26:40.550Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed: 1006
if you are afraid of spamming the forum with huge cut & paste, it’s a worthy consideration, however there is also the upload button for bigger amounts of text. I for one love verbose backtraces, sometimes among all the verbiage there is a grain of truth so please post the whole thing.
I just tried the Jitsi Electron client, not changed much since last time, it just zapped my preferences again. It has successfully shared my screen (on Ubuntu 18) with another PC running Ubuntu 20 with Chrome snap Ubuntu (97 currently).
On Electron you can display dev tools also, right click the screen and choose Inspect - the only option - the select the Console tab, click the crossed circle or use Ctrl L to clear the previous trace and start sharing).
This reminds me (dimly) of a previous post on this forum where Firefox was the only option, IIRC the problem was coming from the OS configuration, the other browsers were respecting the OS config blocking screen sharing, I think it was Windows. When you say that you tried on Linux were you speaking about the sharing workstation, or the users supposed to see the screensharing ?
I’ll search about “migrate to colibri websockets” but I’m pretty certain apt-get -V upgrade didn’t output any instructions about manual migrations being necessary…