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

Potentially modify buffer sizes to reduce stuttering and performance issues on WebRTC #328

Open
lizardpeter opened this issue May 27, 2021 · 1 comment
Assignees

Comments

@lizardpeter
Copy link

lizardpeter commented May 27, 2021

Hello,

I have some information that might help to improve WebRTC performance. I have been doing a lot of testing due to my need to get WebRTC working well at very high bitrates like 50000 kbps or higher and at high frame rates like 120 FPS or higher. I have what I would call almost a hard cap of around 25000 kbps with OBS WebRTC. No matter what I do, the stream starts to stutter if more bits are pushed.

However, I have done some testing with GStreamer on Linux and have managed to easily push upwards of 50000 kbps by modifying the UDP buffer size globally. Unfortunately, on Windows it seems like these values have to be implemented by the developer on newer versions of Windows (which I supposes is a better way to do it since it doesn't affect all programs). Can you developers look into increasing this UDP buffer or, better yet, allowing the user to customize it? I think this might solve the performance issues.

Thanks,
Peter

@ludocosmo ludocosmo self-assigned this Jun 23, 2021
@ludocosmo
Copy link
Contributor

Hi Peter,
Thanks for the information.
On WebRTC library version m90, the outgoing socket buffer size is set to 65536 (value of constant kVideoRtpSendBufferSize).
There is an experimental feature on Chromium browser to let the user set the outgoing socket buffer size through the command line parameter "WebRTC-SendBufferSizeBytes".
However, it is experimental on Chromium and not yet available for WebRTC library.
Ludo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants