Want to increase screen share resolution

Hi everyone,
Using default mediasoup configuration but the screenshare resolution seems to be very low and pixels are getting distorted, I need to increase the resolution. Looking for a way to do it. Till now I have tried increasing the maxBitRate and changing the scalability mode but none of them seem to work. Looking for any other ideas/alternatives.
Thanks

There is no mediasoup default configuration at all.

Vaibhav are you using VP9 or simulcast for screen share? We were switched to VP8 and had better results.

1 Like

This isn’t something to be solved within mediasoup - it’s controlled by WebRTC. Can your network handle the required throughput that you’ve set your bit rate to? Have you changed scaleResolutionDownBy? Are you setting overly tight constraints or using simulcast? All of those can affect quality


1 Like

In my application i have to share two types of screen.

  1. Any windows with document like pdf , word , xls files or browser windows with non-video content
  2. Any widnow running video content. like youtube, vlc.

To handle both with different configuration i provided tick box which ask “Share video?”
if user selected share video option then i used these settings.
Max resolution 640x480p and max 30 FPS - in this case high frame rate and to support available bandwidth minimized resolution

For document (non-video content) i used these setting
Min Resolution 640x480p , Max resolution 1280x720p and 5 FPS - in this case low frame rate because content is not frequently changing


1 Like

Remove the constraints you’ve set. Scaling 1080p down to 640x480 is probably why it looks grainy.

1 Like

I meant the mediasoup demo

We write mediasoup docs for something. Just relying on the demo is up to you. You have got other answers in this topic that may help you.

If the network route has any banwidth limit then you have to lower the resolution or fps

If you require higher resolution then try 2-3 fps

Switching to VP8 didnt help, still the same issue

What about using H264? Have you tried using that

You need to set incommingbitrate 1Mbp/s or higher for screen capture, but for experimenting, trial this

maxIncomingBiterate at 2000000,
initialAvailableOutgoingBitrate at 320000

Because 2D/3D rendering have a major impact on resources it’s best to find this limit and cap your clients as tight as possible.

In client you should run in the options when calling screens,

video:{
width:1280
height:720
fps:30
}

vaibhavmuchandi were you able to fox this , we did some work with screen sharing and using webrtc-internal basically what we found that is if you are using simulcast for screen sharing the lowest resolution gets transmitted to the subscriber so we fixed resolution of the sender for higher quality screen

Sorry for restarting this thread, because right now I’m being stumped by this problem.
We use VP9 SVC, mediasoup sets maxIncomingBitrate to 5000000, which has been working very well, but a few days ago, we found that after upgrading chrome and edge to the latest version (111.0.5563.147) and (111.0.1661.54), we used to work well Web screen sharing is not working. After testing, it is found that the latest version of Chrome does not support the scalabilityMode: ‘L3T3’ of screen sharing. We changed it to L3T1 and it worked fine. At this time, our screen sharing resolution limit is set to: video: {width: { max: 1920 }, height: { max: 1080 }, frameRate: { max: 10 }}, it’s ok, so we update mediasoup-client to 3.6.82, it doesn’t work properly, we tried Limiting the frameRate to 5 still doesn’t work, so we try to lower the resolution of screen sharing until 320p, it works, but the resolution is too low, so we fall back to mediasoup-client to 3.6.70, which supports Screen sharing resolution up to 1080p. works fine.
Does anyone have the same problem as me?

mediasoup-client does not “support 1080p”, it’s just a wrapper. Does it work fine if you force Chrome79 handler in your app? If so, then this is a bug in libwebrtc due to the new scalabilityMode changes and should be reported in that project.

Yes, it work fine when force Chrome74 handler, I see, thank you very much.

The idea is to have it working fine with the latest Chrome111 handler too. If you just want to solve your immediate problem then go that way, but I’d prefer if you reported the issue with VP9 screensharing and scalabilityMode in libwebrtc project instead. You may consider it as a contribution to mediasoup project.

OK, I will report now. As a novice to Mediasoup, I feel honored. Thank you again for your kind response.

I have reported this bug, here is the link: 1429521 - chromium - An open-source project to help move the web forward. - Monorail