Screensharing quality?

I tested screensharing yesterday with a group of friends in a conference call. We had 3 participants, and I set my account to be the reflector.

Audio was great, the interface worked fine. However when sharing video we had issues. Specifically it looks like Jami was optimizing for maximum FPS. Sharing a full screen game, the receivers said they saw 20-30 FPS and it was very fluid. Of course it lacked significant detail, and text was blurred to the point of being illegible. Sharing a full screen of static text (ie: spreadsheet or terminal) without any motion still had the same blur.

I read in the FAQ there may be ways to change the encoder properties to weight the encoding toward quality over fps using ā€œencoder.jsonā€. However I cannot find that file or the ā€œdring.ymlā€ referred to which should be in the same location.

How can I change the encoder options? Running Jami 202111090944 on Windows 10.

1 Like

Iā€™m glad that I finally see someone testing Jami by streaming video games.
I had some similar issues - maybe you can try out and post issues on Gitlab.

Now regarding your questions/ comments:

Specifically it looks like Jami was optimizing for maximum FPS

If you are using the integrated option of Jami to share your screen (NO virtual cam or hdmi capture card):

In the past:

screen sharing is at 30 fps for all platforms.

See: Question: frame rate of the screen share (#1262) Ā· Issues Ā· savoirfairelinux / jami-project Ā· GitLab

However, it will now be possible to select the fps: Desktop sharing frame rate (#514) Ā· Issues Ā· savoirfairelinux / jami-client-qt Ā· GitLab

I had similar issues (test call same account, different networks: Windows 10 ā†’ Android) especially if I was using OBS-VirtualCam.

Maybe you can try out if you have the same or similar issues so the developers can fix these issues:

The rest of your question I canā€™t answer.

1 Like

Iā€™ll review the links you sent.

We werenā€™t testing video games specifically, just trying different contents. Game, text, office apps.

The idea of using a communications platform p2p for screensharing with strong encryption is something we have been looking for as an alternative to sharing screens with Zoom, Teams, even Jitsi. Thereā€™s no reason for our data to go to a central server to reflect to others in the call.

The recent conference addition and allowing someone with bandwidth and a strong CPU to be the server for the group makes perfect sense. Hoping to see more!

1 Like

Just for your information you can now set the screen sharing frame rate.

You can go to Settings > Audio/Video > Screen sharing > Set frame rate (I know it is available on latest Linux builds, for Windows I donā€™t know. So you can just try and give us your feedback :slight_smile:

1 Like

I just updated to the beta on Windows and I see it there. Will test again shortly.

1 Like

For the encoder.json, the file needs to be created where the dring.yml is located. The 2 examples in the faq are just examples.

I later found it buried in the Windoze specific appdata directory. The new FPS selection may make it irrelevant.

I updated to the beta, and found the FPS slider.

I was trying different values, but couldnā€™t tell when it took effect. Should I stop and restart Jami, or the current call for the new value to take effect?

1 Like

Hi @Demosthenex, :slightly_smiling_face:

Sorry for the slow reply. Iā€™m told it is ā€˜immediateā€™, in that you donā€™t have to restart Jami or the call, and that restarting screen sharing should be enough.

1 Like

So we just did a test with the latest beta today, and the FPS slider for screen sharing feels like it does nothing. Text is nearly unreadable for full screen applications with really bad artifacting, and we stopped sharing and tried every FPS setting for 144 down to 5. Nothing happened that we could tell.

Is there a way to get information about the stream quality?

1 Like

Again, where can I see some debugging output regarding the streaming on the call?

Iā€™d like to experiment with encoder.json settings, but I have no visibility into whether the settings are even being read.

AVLOGFORMAT=60 will print logs from ffmpeg, https://git.jami.net/savoirfairelinux/jami-project/-/wikis/tutorials/Bug-report-guide#on-gnulinux can help for the rest