Firefox sends video for first few seconds, then intermittently freezes (Not a network issue)

I’m wondering if anyone can point me to a known issue on this:

I’m developing a custom Jitsi client (www.relm.us) and noticed that when using Firefox, other people in the room experience my feed intermittently. We hopped over to meet.jit.si to test, and sure enough, Firefox video feed would cut off after the first few seconds and freeze the frame. Occasionally it restores video for a few seconds and then goes back to a frozen frame.

To make sure this was not a network issue, I opened both Chrome and Firefox at the same time on my laptop and joined a conference on meet.jit.si. Chrome sent the video data to other participants and they reported consistently being able to see “Chrome me”. I could see from the Chrome browser that the “Firefox me” was frozen. From the Firefox browser, “Chrome me” was fine. In other words, even on the same machine, Firefox is consistently showing intermittent video on another browser (Chrome), but the reverse is not true.

I believe the issue has been happening for about a month (possibly longer).

I’m using Firefox 80.0.1.

Same problem here! We also downgraded Firefox and found out all versions >79 were affected. Tested under Linux and Windows, same symptomatic. It happens on our selfhosted instance and on meet.jit.si as well.

Hi,
same problem here after updating to latest stable.
Never had these kind of issues before we did the update (we were runing a version of may 2020 before).
in a conference today noone was able to see neither my video (after it was working perfectly for a few seconds) nor my screenshare.
I myself could see my own video and screen share and all of the participants all the time.
However jitsi told me, that my connection was bad (red), although my connection is completely stable and fast,
We don’t have any of these problems when using google meet, Zoom, or teams.

Please, highly appreciate any help or ideas.

thanks
Sascha

Same issue here.

FF80 has two new features enabled by default, transport-cc and RTX support which both could potentially affect bandwidth estimation between the browser and the Jitsi video bridge and could result in video freezes.
We have reported this issue to the Mozilla folks and we are working with them in getting this resolved.
Here is the FF bug report for those interested.

3 Likes

Hi,
Thank you for pointing us to the settings that cause the problem. We can indeed confirm that by disabling transport-cc and rtx the issues are gone.
As these client features are quite helpful, we decided to only deactivate them for affected browsers. Therefore we copied our config.js to /etc/jitsi/meet/meet.example.com-config.js-ff80 and added the settings:

disableRtx: true,
enableTcc: false,

to this config only.

In nginx we added the following map to the global section of the config:

# try to fix issues with Firefox 80 and 81
map $http_user_agent $browser {
default           "meet.example.com-config.js";
"~*Firefox/8[01]" "meet.example.com-config.js-ff80";
}

and used the variable $browser in the server section:

location = /config.js {
    alias /etc/jitsi/meet/$browser;
}

Hope this helps and thanks for the hint!

1 Like

Sorry for my big ignorance, but where sould I type it?

All the information is right there in my posting. If you’re unsure at this point, please don’t break anything on your setup.

Yes, I have no idea where I should insert such codes …

Hi @Wurzelmann
great, seems to work in a short test.
Is there any way to tell from the logs, if the correct config is actually being used?
I wasn’t able to find but as i am no nginx guru, i may just have looked in the wrong place?

@geniaco
first of all make sure you have a working backup of your system…
then go for it:

  • cp -a /etc/jitsi/meet/your-domain-here-config.js /etc/jitsi/meet/your-domain-here-config.js-ff80
    (where obviously your-domain-here is a placeholder…)

then

  • nano /etc/jitsi/meet/your-domain-here-config.js-ff80

find, change and activate (remove the //) in that file

disableRtx: true,
enableTcc: false,

save the file, then

  • nano /etc/nginx/sites-enabled/your-domain-here.conf
    add

###_try to fix issues with Firefox 80 and 81
map $http_user_agent $browser {
default “your-domain-here-config.js”;
“~*Firefox/8[01]” “your-domain-here-config.js-ff80”;
}

just at te top of that file, i put it right under the “server_names_hash_bucket_size” line

search for this section in the same file:

location = /config.js {
alias /etc/jitsi/meet/your-domain-here-config.js;
}

and coment those lines out with a # :

#location = /config.js {
#alias /etc/jitsi/meet/your-domain-here-config.js;
#}

just below now add

location = /config.js {
alias /etc/jitsi/meet/$browser;
}

and save this file as well.

  • now restart nginx:

systemctl restart nginx

and see if that works.

Hope i got everything correctly, @Wurzelmann?

cheers
Sascha

You can tell from the client side, because it only has access to the “right” config available under example.com/config.js

You forgot the “-ff80” part here

correct, just fixed!
thanks
Sascha

1 Like

For the record: the issue seems to be “fixed” officially now: https://github.com/jitsi/lib-jitsi-meet/commit/0cffc064e644ad87ff381cc6c4df1c1a9f2c73ff

1 Like

Great to hear, thank you!