jitsi / docker-jitsi-meet

Jitsi Meet on Docker
https://hub.docker.com/u/jitsi/
Apache License 2.0
3.06k stars 1.36k forks source link

How to change video frame rate? #1227

Open woogeunshin opened 2 years ago

woogeunshin commented 2 years ago

I don't know that video frame rate configuration is possible or not in the latest jitsi-meet video bridge. The default video frame rate seems 30 in the latest jitsi-meet. I found some articles about change frame rate. This is configurations for the new frame rate. config.constraints.video.frameRate.max

I added above configurations in the settings-config.js. But, it's not working. The video frame rate is still 30 fps.

Could you help me about this question? Is it possible to change video frame rate in the latest jitsi-meet video bridge? If possible, how to do it?

saghul commented 2 years ago

What did you try exactly?

woogeunshin commented 2 years ago

I added below configuration in the web/rootfs/defaults/settings-config.js config.constraints.video.frameRate.max = 15; And rebuilt docker image and lunch it.

I could confirm the new frameRate from the config.js file with the below command. https://my_jitsi_server_addr:8443/config.js

And there was this configuration config.constraints.video.frameRate.max = 15;

After that, I checked remote video information. If my mouse pointer place on the antenna UI in the sub remote video, it displays video connection information. Like connection status, transmission rate, loss rate, resolution, frame rate, etc.

The frame rate is still around 30 even though I changed it to 15.

Could you help me why the new frame rate is not working?

saghul commented 2 years ago

Did you also set resolution constraints? The browser might not be able to satisfy all constraints (I think) and then some are forgone.

woogeunshin commented 2 years ago

I added the below configurations in the .env file to set resolution constraints. RESOLUTION=288 RESOLUTION_WIDTH=352

After that, remote video resolution is always 352x288. Before set resolution constraints, the remote video resolution is 720p.

The browser might not be able to satisfy all constraints (I think) and then some are forgone. Do you think that the browser does not support frame rate configuration? This is new for me. As my understanding,

  1. The Jitsi-meet video bridge sends the frame rate constraint to the remote client.
  2. The remote client sends video frame as the frame rate constraints, if the browser supports the frame rate constraints. If my understanding is wrong, please correct me.

I tested with Chrome browser. I will try with another browser.

Screen sharing function seems different with the video frame rate constraints. I added the below two configurations .env DESKTOP_SHARING_FRAMERATE_MIN=10 DESKTOP_SHARING_FRAMERATE_MAX=10 After that, I did screen sharing and check the frame rate. It's 10.

saghul commented 2 years ago

You are correct. But browsers may not support all framerates at all possible resolutions.

congthang1 commented 2 years ago

If you not able to rebuild jitsi then run this or add to 10-config file: sed -i "s/\?t\:5/\?t\:30/g" /usr/share/jitsi-meet/libs/app.bundle.min.js to change default to 30.