Jibri. Live streaming stopped when unmuting after +2 mins

Hi, after banging my head for hours, and trying most of the suggestions for related issues in the forum, I’m opening this new thread.
Summary: Unmuting the mic around 2-3 minutes after starting a live streaming with mic and camera off, Jibri will fail with “SESSION No media received”. I’m able to reproduce this more than 80% of the time.

Setup: Two hosts, one running prosody/jicofo/videobridge and one with jibri. All of them up to date [1]

If the recording starts with mic and camera ON, everything works fine.

At first we weren’t running coturn, but after reading some related posts we also tried with it (in the meet server). Using tcpdump and coturn’s verbosity we can see JVB [2] and participants browsers contacting coturn, but not jibri’s browser. Don’t know if that’s expected.

The result is always the same:

2020-07-19 11:24:09.248 INFO: [52] org.jitsi.jibri.selenium.JibriSelenium.run() Jibri client receive bitrates: {audio={download=0, upload=22}, download=0, upload=22, video={download=0, upload=0}}, all clients muted? true
2020-07-19 11:24:24.267 INFO: [52] org.jitsi.jibri.selenium.JibriSelenium.run() Jibri client receive bitrates: {audio={download=0, upload=22}, download=0, upload=22, video={download=0, upload=0}}, all clients muted? false
2020-07-19 11:24:24.267 INFO: [52] org.jitsi.jibri.selenium.JibriSelenium.invoke() Recurring call status checks generated event org.jitsi.jibri.selenium.SeleniumEvent$NoMediaReceived@6af6b8fb
2020-07-19 11:24:24.269 INFO: [194] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Running to Error: SESSION No media received

I’m attaching full logs for browser, ffmpeg and jibri. Any hints/tests/debugging suggestions are really welcomed.

Thanks, Alberto

jibri.txt (8.8 KB) ffmpeg.0.txt (34.7 KB) browser.log (747.6 KB)

[1]
jibri 8.0-14-g0ccc3f6-1
openjdk-8-jre-headless:amd64 8u232-b09-1~deb9u1
google-chrome-stable 84.0.4147.89-1
jitsi-meet-prosody 1.0.4127-1
jitsi-meet-web 1.0.4127-1
jitsi-meet-web-config 1.0.4127-1
jitsi-videobridge2 2.1-202-g5f9377b9-1
jicofo 1.0-589-1
coturn 4.5.1.1-1.1+deb10u1

[2]

2020-07-19 11:13:56.686 INFO: [20] org.ice4j.ice.harvest.StunMappingCandidateHarvester.discover: Discovered public address PUBLIC_MEET_IP:42479/udp from STUN server PUBLIC_MEET_IP:4445/udp using local address LOCAL_JVB_IP:0/udp
2020-07-19 11:13:56.686 INFO: [18] org.ice4j.ice.harvest.MappingCandidateHarvesters.initialize: Using org.ice4j.ice.harvest.StunMappingCandidateHarvester, face=/LOCAL_JVB_IP, mask=/PUBLIC_MEET_IP

Just some context: Jibri has a check to make sure that it is receiving media; if it’s not for a certain period of time, then it drops out with the message you pasted here. There’s an exception, though, if everyone is in muted state (which is why Jibri doesn’t drop right away).

So there’s only one participant in the call (other than the Jibri) ?

Hi, in my tests it’s only me, yes. Muted from the start. I read one of you messages stating that, but I didn’t relate it to our issue since the error came just after opening the mic, and not while muted for a long time.
Any way I could discard this is happening due to the behaviour you describe? Thanks for your help.

How long after you unmute is Jibri dropping? It could be that your mic is unmuted, but if you’re very silent we drop the audio data at the bridge so Jibri isn’t seeing it.

Hi, it’s almost inmediate most of the times. The rest won’t take more that 5-10 seconds before it fails.

Can you attach Jibri logs from when it happens?

You have them in the first post. But I can generate them again, maybe with different logging config?

:man_facepalming: My bad. I’ll take a look.

Ok, yep I see it. There’s a bug:

  • We track 2 things: when we last received media and whether or not everyone is muted
  • If we haven’t seen media for longer than NO_MEDIA_TIMEOUT, Jibri drops… unless everyone is muted.
  • If people are muted for a while, time since last media grows past NO_MEDIA_TIMEOUT and then when someone unmutes (but perhaps their media hasn’t made it to Jibri yet) we timeout instantly complaining about no media.

I think this is the issue https://github.com/jitsi/jibri/issues/320 was getting at…I’ll either commandeer that bug or create a new one.

Fix is here: https://github.com/jitsi/jibri/pull/322

1 Like

Wow! Thank you so much! I’ll see if I can build and test it (probably next weekend). Cheers!

@bbaldino Hey I would need help with the following scenario : Like I have created a conference and every participant is on mute and I am sharing a YouTube video and then I started recording. In that case as well , the recording stops after 10 minutes. Is there a way to avoid that? Or Is there a way ALL_MUTED_TIMEOUT can be changed ?

1 Like

These values are not currently configurable, but recently a request was made to make them configurable. I am in the middle of refactoring configuration in Jibri, once that’s done it will be easy to make them configurable.

Okay . Thank you.

Tested and working perfectly. Thanks a lot!