We’re running into some issues, most likely because this is a nonstandard use of Jitsi. Here are notes from our front end dev, who is expert-level:
“For example, when you join a Jitsi meeting room. You got asked to allow microphone + camera access first, then join in. In UpStage, it would NOT be a meeting until some artist drags their avatar to the stage. In a traditional Jitsi meeting room there are participants. In UpStage we have players - audiences. Audiences should not be asked for camera/microphone when their role is to watch the stage. But in Videobridge, you must join in to hear/see the others, and when join in you are designed to talk/meet with them…”
I am hoping to work with some Jitsi devs to refine Videobridge to work well in this use case. If you are interested and have the time and energy, please reach out to me. We would be happy to contribute to your project if you can guide us, and work with us.
Before we dive deeper, how are you interacting with the jitsi videobridge? Did you write your own REST API client? Are you using lib-jitsi-meet? Or the higher level iframe API?
We do also have the higher level iframe API, as the Meeting tool. They are 2 different features: Meeting and Individual Streaming , but the Meeting is stable enough, you can focus on the low level lib-jitsi-meet only!
If you are using lib-jitsi-meet, you don’t need to create tracks before joining, that’s what will trigger the permission prompt. You could join the meeting without any tracks and add them once you decide the user will start sharing audio / video / screen.
For the iframe use case, you can use the disableInitialGUM config option, to prevent initial tracks from bring created.
Thank you, we’ll give this a try. Maybe the tracks were causing another problem we saw, where some audience could not see some streams, and a refresh shifted the problem to other streams, or corrected it at times. It very inconsistent when there are multiple stream avatars.
From our dev:
the network tabs show a lot of http-bind requests to the Jitsi server. I’m not really sure what that endpoint does, and all about the BOSH stuff. So I cannot tell what went wrong!
This is completely normal. This is the xmpp communication with the server.
The js console logs, I’m asking for. Do you see anything there, what happens before you click join and after you click join?
Do you have any modifications? Does it work with latest from master?