Desktop sharing FPS override
See original GitHub issueDescription
I’m trying to get 30fps screen sharing working (in an embedded Jitsi Meet conference, using the external api). I’m using the configOverwrite
flag as specified in config.js. According to the API docs it should work, but the value is not taking effect.
// Optional desktop sharing frame rate options. Default value: min:5, max:5.
// desktopSharingFrameRate: {
// min: 5,
// max: 5
// },
I’ve reported about this issue before in the community forum.
Current behavior
The desktop sharing fps will always be 5, regardless of the values set for desktopSharingFrameRate. With the only exception: presenter mode (desktop sharing and then turning on the webcam). The desktop sharing feed is 30fps in this mode, but my webcam is in the frame. Turning off the webcam drops the fps back to 5, so this isn’t a workaround. Clearly Jitsi Meet is capable of sending a 30fps desktop sharing stream. Quite amazing. Would be great if it would respect the values set for desktopSharingFrameRate.
Expected Behavior
I’d expect it to apply the fps specified in desktopSharingFrameRate, since it’s a documented config setting.
Possible Solution
Properly implement the code handling the desktopSharingFrameRate
key in configOverwrite
. I can currently work around it by capturing my desktop using OBS Studio, and presenting it as a virtual webcam. That way I could get a 30fps, desktop only, stream through Jitsi Meet. But clearly this is not ideal, and Windows only. Alternatively, perhaps it would be an option to increase the default FPS from 5 to 30 as temporary fix.
Steps to reproduce
Start sharing the desktop in one tab, open the same conference in another tab. Just observe the FPS isn’t 30.
Or check the FPS on the receiving end with: document.getElementById("largeVideo").srcObject.getVideoTracks()[0].getSettings().frameRate
.
Environment details
Google Chrome on MacOS.
Issue Analytics
- State:
- Created 3 years ago
- Comments:7 (4 by maintainers)
Top GitHub Comments
Please make sure that capScreenSharingBitrate flag is disabled in config.js.
The desktop track fps is dependent on available resources like cpu and bandwidth and Chrome will bump it up based on those values. I am closing this issue since it is resolved.