# FPS instability

**URL:** <https://mediasoup.discourse.group/t/fps-instability/5874>\
**Category:** mediasoup libraries\
**Created:** [February 23, 2024, 4:55am UTC](https://mediasoup.discourse.group/t/fps-instability/5874 "2024-02-23T04:55:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Abagian](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/abagian/32/2521_2.png) [@Abagian](https://mediasoup.discourse.group/u/Abagian)\
**Post date:** [February 23, 2024, 4:55am UTC](https://mediasoup.discourse.group/t/fps-instability/5874/1 "2024-02-23T04:55:15Z")

</div>

Hi all,

My server and web client integration based on Mediasoup Client API V3 is experiencing the unfortunate effect of FPS instability.  
Despite good network conditions, FPS deviates between 2-15 (15 is getUserMedia() upper limit), the video freezes periodically. In this case, the resolution is reduced reluctantly.  
I experimented with different types and sets of simulcast layers and the initialAvailableOutgoingBitrate SFU parameter, but did not solve the problem.  
DegradationPreferences WebRTC setting is not available in the MediaSoup API; using it through a hack with RTCPeerConnection pulled out from the producer does not work.

WebRTC server and clients not based on Mediasoup show stable FPS under the same conditions.

Can you recommend anything?

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [February 23, 2024, 8:58am UTC](https://mediasoup.discourse.group/t/fps-instability/5874/2 "2024-02-23T08:58:57Z")

</div>

An eternal task for us is to replace libwebrtc based BWE mechanism in mediasoup with our own. Unfortunately we are not there yet, meaning that the BWE in mediasoup is a black box for us.

In the meantime you can mitigate the problem a bit by calling transport.setMinAvailableBitrate(value) although obviously it comes with its own downside. I’m afraid there is no magic response for this. We will work on the above task as soon as we can but no ETA yet.

---

<div class="post-metadata">

**Author:** ![Abagian](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/abagian/32/2521_2.png) [@Abagian](https://mediasoup.discourse.group/u/Abagian)\
**Post date:** [February 26, 2024, 7:14pm UTC](https://mediasoup.discourse.group/t/fps-instability/5874/3 "2024-02-26T19:14:40Z")

</div>

Dear Inaki,

Sorry, but I can’t find setMinAvailableBitrate() neither client nor server API.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [February 26, 2024, 8:42pm UTC](https://mediasoup.discourse.group/t/fps-instability/5874/4 "2024-02-26T20:42:54Z")

</div>

> **[mediasoup :: API](https://mediasoup.org/documentation/v3/mediasoup/api/#transport-setMinOutgoingBitrate)**
>
> Cutting Edge WebRTC Video Conferencing

---

<div class="post-metadata">

**Author:** ![Abagian](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/abagian/32/2521_2.png) [@Abagian](https://mediasoup.discourse.group/u/Abagian)\
**Post date:** [February 27, 2024, 1:17pm UTC](https://mediasoup.discourse.group/t/fps-instability/5874/5 "2024-02-27T13:17:48Z")

</div>

Could you also recommend some simulcast settings to make FPS more preferable than resolution?  
Now I see that the high HD level is used, with FPS 2-8.

![simul.videomost.com - low FPS cut](https://global.discourse-cdn.com/free1/uploads/mediasoup/original/2X/4/4309deba8626ca9d0945b7d6b762dd422ed6f6b7.png)
