[jitsi-dev] How to change resolution and frame rate (FPS) of Jitsi?


#21

What you’re controlling here is the base resolution we acquire from the camera. Because of simulcast, we’ll get 3 different streams (720, 360, 180). When users aren’t selected (in the thumbnail as opposed to the main stage) we send the low quality stream. This is different in ‘brady bunch’ mode where we alter the resolution instead based on how many people are in the call.

Are you using the thumbnail view? Or is this a custom view of yours? If this is custom, you could just select all remote participants, then we’d send them all in the highest quality possible (depending on bandwidth)


#22

Thanks for the info! yes I am using the original “brady bunch” layout from jitsi-meet.

I also create a 2-participants room(participant-A and participant-B), in each side I choose “brady bunch” layout:
in participant-A side I see only 1 sending-video: ssrc_send(googleFrameHeightSent=720)
in participant-B side I see only 1 recv-video: ssrc_recv(googleFrameHeightReceived=360)

because I didn’t see multiple video-streams between A and B, so I think it is not Simulcast, but why A send 720 and B receive 360? also if I am using the default jitsi-meet-config.js(quick-install), Silmucast is enable or disabled? Thanks!


#23

where are you checking for the streams, webrtc-internals? webrtc-internals doesn’t show all the simulcast streams. you should see the multiple ssrcs and the sim group in the sdp though.


#24

Thanks for the info! yes I see the Simulcast info in SDP Thanks!

in my 3-participants room, in every participant I can see 1 local-participant (myself) and 2 remote-participants, and for both local and remote, in the statistic-data I can see “up”-bitrate and “down” bitrate

I just have a question: why local-participant has “down”-bitrate? local-participant is only sending audio/video out to jitsi-server, is that right? similar, why remote-participant also has “up”-bitrate? I think remote-participant is only receiving audio/video data from jitsi-server, is that right? what kind of data is sending out for remote-participant? Thanks!


#25

All participants push stats for how much they’re sending and receiving (from the client’s perspective) and those stats get pushed to all the other clients.


#26

Thanks for the info! could you help me confirm that as default jitisi will select 3 resolutions(for example, 720/360/180) for Simulcast? or as default jitisi will select 2 resolutions(720/360) for Simulcast? Thanks!


#27

default is 3 resolutions: 720, 360, 180


#28

Thanks for the info! I just have a question for the quality-control of simulcast in jitsi: I have a 3-participants room, and every participant is sending simulcast(max, medium, min) to jitsi-server, I found the max-resolution might change automatically(for example, at beginning it is 720, then after several minutes it might become 540), my question is: is this change by webrtc quality-scaler itself in participant-side according to the participant-side bandwidth? or by jitsi-server? for example, if I have lots of participants, and every participant has enough bandwidth to support simulcast with max-resolution as 720, in this case will jitsi-server ask participant to change the max-resolution if jitsi- server itself doesn’t have enough bandwidth in server-side? Thanks!


#29

If the webrtc client detects low send bandwidth (or I think even high encode times due to CPU) it will stop sending certain simulcast layers. On the bridge, we’ll always take whatever streams the client is willing to send. We only limit what we forward to other clients based on:

  1. what is available to us (what the sender is sending)
  2. what the receiving client wants (only ‘selected’ endpoints have their high quality stream forwarded)
  3. the available receiver bandwidth (we won’t send more than we think the receiver can handle)