Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable setting desktop sharing framerate default in config.js #14849

Open
zerodeux opened this issue Jun 19, 2024 · 5 comments
Open

Enable setting desktop sharing framerate default in config.js #14849

zerodeux opened this issue Jun 19, 2024 · 5 comments
Labels
feature-request Issue which suggest an idea, enhancement or feature to implement

Comments

@zerodeux
Copy link

What problem are you trying to solve?

Currently running Jitsi Meet 2.0.9457, with my 10 colleagues the desktop sharing is unusable at the default 5 fps (very coarse encoding and slow motion), and works perfectly when switching to 15 fps.
It currently means that every presenter must remember to change the setting, then maybe restart its screen sharing, which is pretty disruptive at every webconference...

What solution would you like to see?

As a far as I could see, SS_DEFAULT_FRAME_RATE is set to 5 in react/features/settings/constants.ts, then the webconf state inherits it in react/features/device-selection/functions.web.ts

I could obviously recompile my Jitsi with a different SS_DEFAULT_FRAME_RATE, but it would be much more simple if I could change it with something in config.js

Is there an alternative?

Well, yes, recompiling Jitsi Meet Web with a different SS_DEFAULT_FRAME_RATE, but for one constant that seem to be site/infrastructure dependent, it does seem unpractical at scale.

@zerodeux zerodeux added the feature-request Issue which suggest an idea, enhancement or feature to implement label Jun 19, 2024
@zerodeux
Copy link
Author

Oh I forgot to mention, I tried to no avail in my config.js :

desktopSharingFrameRate: {
    min: 15,
    max: 15
},

Which might be in itself a bug, because although I asked for a minimum of 15 fps, I do get 5 fps every time I start a new video conf.

@saghul
Copy link
Member

saghul commented Jun 19, 2024

Ping @jallamsetty1

@jallamsetty1
Copy link
Member

jallamsetty1 commented Jun 20, 2024

@zerodeux, What makes you think that the setting isn't working? What browser (version) are you testing this on and what codec have you configured on your deployment? I just checked it on Chrome and I can see that the capture fps is set 15. You can check it in chrome://webrtc-internals for the getDisplayMedia call and I see the correct constraints. The settings can only control what fps is used for capturing by the browser. What exactly gets sent on the wire depends on the available cpu/bandwidth on the local machine.

Screenshot 2024-06-20 at 10 32 00 AM

@zerodeux
Copy link
Author

What makes you think that the setting isn't working?

The settings display, stuck at "5 fps" :

image

What browser (version) are you testing this on and what codec have you configured on your deployment?

Chromium 125.0.6422.112 (Official Build) built on Debian 12.5, running on Debian 12.5 (64-bit)

check it in chrome://webrtc-internals for the getDisplayMedia

I checked it right after starting the screen sharing and found indeed this :

getDisplayMedia call
Time: 22:23:10 GMT+0200 (Central European Summer Time)
Audio constraints: true
Video constraints: {frameRate: {max: 15}}

Thus you're right. I didn't know how to check the real fps via the chrome://webrtc-internals, now I know better.

It looks like the bug only pertains to the Settings dialog, which shows that "5 fps" is selected although I clearly get at least 15 fps. Thanks for the help.

@jallamsetty1
Copy link
Member

Yes, the bug seems to be in the UI, it doesn't reflect the capture frame rate correctly if it was set through config.js. We will fix it, thanks for bringing it to our attention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Issue which suggest an idea, enhancement or feature to implement
Projects
None yet
Development

No branches or pull requests

3 participants