Client side Bandwidth(up&down),Framerate etc control from lib-jitsi-meet

In Jitsi meet’s core, there is lib-jitsi-meet which is actually responsible to the way along webRTC and some controls. Logic/tricks(to trick webRTC) for simulcast and enable layer suspension are implemented in lib-jitsi-meet? how can I tweak those features or like controlling up/down bandwidth (put cap or limit) or framerate and R&D on controlling more from the client-side? is this ok or this is the right way?

we are facing unexpected scenarios even after enabling simulcast and enable layer suspension like they aren’t activated. we wanna look into codes and tweak ourselves and R&D for more controls and possibilities of optimization for our required use-case. Please suggest.
@damencho

The decision about bandwidth is made in the bridge and what to be send to the client. What is sent from the client is mostly in lib-jitsi-meet.

yeah, then where/shich functions are mainly responsible for those in lib-jitsi-meet and video bridge for from client side sending and from server side routing? we enabled simulcast and suspension layer but the result is not expected. we want to tweak ourselves. is this possible?
Thanx in advance

just asking. we had issue with enableTCC and enableREMB. but as our conference use case is unique can we optimize bandwidth from clientside using lib-jitsi-meet and serverside from video-bridge and how/where? like I wanna cap the up speed at 2Mbps (540p at 800-1200 bitrate and 24fps) when he is in focus on some one’s screen. and if there is more than 6 participants we will cap everyother’s up speed at 200kbps (only if he is not in focus, like u tricked webRTC by enableSuspenionLayer). can u shed some light?
the main goal is to optimize the bandwidth as much as possible because in our country, average bandwidth is around 2-5 Mps up/down. we are specifically considering the down speed in both speaker and gallery mode. can u suggest anything better for lowest bandwidth usecase?
@bbaldino @damencho @Boris_Grozev
Thanx in advance :heart:

vp9 ?

I tried but it was shaky experience with high cpu consumption from client side. and as far as I know it is not stable yet.

if you are talking about phones, it’s certainly true. I’m not sure it’s really significant for computers vs VP8.

certainly not trivial to setup correctly

You can cap the bandwidth used for each simulcast stream in config.js:

I did not check but it may even be possible to disable a single stream by setting its value to zero.

You can furthermore adjust the video height constraints and the channelLastN setting in config.js. Altogether, this should get you a long way towards limiting both up and down stream bandwidth.

For developing your own features along this line, you will need to read and understand the code, comments and provided documentation. Please refrain from frequently tagging the main Jitsi Devs when asking generic questions. It’s incredibly awesome that the dev team is actively engaging with the community forums and we should not burden them more than necessary, imho.

1 Like