jitsi / jitsi-videobridge

Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server).
https://jitsi.org/jitsi-videobridge
Apache License 2.0
2.91k stars 992 forks source link

Late joiners not receiving remote tracks #2042

Closed mister-teddy closed 1 year ago

mister-teddy commented 1 year ago

Description

I have a situation where a late joiner not being able to receive remote tracks from the earlier joiners. Is it because of the overall limit of the connection pool to a Jitsi conference? If so, what is the maximum number of connections/tracks that can be in the same conference?

Current behavior

First joiner:

Screenshot 2023-08-20 at 21 36 56

Second joiner (the tracks only got blacked out like below after the third joiner came):

Screenshot 2023-08-20 at 21 37 03

The third joiner didn't receive previous remote tracks:

Screenshot 2023-08-20 at 21 32 39

And It seems that each browser can only create up to 4 tracks, which are summed between different tabs? Is this the natural behaviour of web browsers, or just our implementation? If so, can I expand this number?

Expected Behavior

Participants should receive all of the tracks, regardless of when they came to the conference. Our ultimate purpose is that each person in the same conference could be able to see one identical "stage"!

Possible Solution

Sorry, I'm not an expert at this 😅

Steps to reproduce

You can reproduce it on my working prototype: https://dev-app1.upstage.live/streaming/

You will be asked to allow your microphone (for the audio track), your webcam (for the video track), and your screen/window (for the desktop track). You can ask someone else or open another browser tab to act as other participants.

Here is the public source code and configuration, FYI: https://github.com/upstage-org/upstage/blob/issue-1098-jitsi-experiment/streaming/src/stores/jitsi.ts#L65

Environment details

Package: jitsi-meet Version: 2.0.8719-1 Priority: optional Section: net Maintainer: Jitsi Team dev@jitsi.org Installed-Size: 13.3 kB Pre-Depends: jitsi-videobridge2 (= 2.3-25-g1da507fa-1) Depends: jicofo (= 1.0-1038-1), jitsi-meet-web (= 1.0.7322-1), jitsi-meet-web-config (= 1.0.7322-1), jitsi-meet-prosody (= 1.0.7322-1) Recommends: jitsi-meet-turnserver (= 1.0.7322-1) Homepage: https://jitsi.org/meet Download-Size: 3336 B APT-Sources: https://download.jitsi.org stable/ Packages Description: WebRTC JavaScript video conferences Jitsi Meet is a WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences. It is a web interface to Jitsi Videobridge for audio and video forwarding and relaying.

Thank you very much 🙏

damencho commented 1 year ago

Does your deployment works with jitsi-meet when having 3 participants in the meeting?

mister-teddy commented 1 year ago

Does your deployment works with jitsi-meet when having 3 participants in the meeting?

Hi @damencho, I'm afraid the prototype I gave above is not ☹️ But you can check out this example which uses the same deployment: https://github.com/upstage-org/upstage/issues/1091. There were some participants (early comers, I believe) who could be able to see them all.

damencho commented 1 year ago

Well, we don't have time to check your code. But if you check whether it works with jitsi-meet you will know whether you have a configuration issue or code issue. We know the jitsi-meet code and we know it works.

And in the future, please, when you have questions or problems use the community forum before opening new issues, thank you.

damencho commented 1 year ago

Two participants use p2p, 3 participants use the bridge and needs a working port forwarding which is possible you don't have and clients cannot reach ivb on your deployment.

mister-teddy commented 1 year ago

Thank you @damencho! One last thing (I will create a thread on the community forum if I have following questions, sorry 😅): "is there an overall limit of the connection pool to a Jitsi conference"?

damencho commented 1 year ago

Not that I know of. There are many restrictions you can set up on different places but nothing with default deployment.

bgrozev commented 1 year ago

Closing as this doesn't require any action related to the jitsi-videobridge repo. Let's move the discussion to the community forums (feel free to leave a link).