Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Individual Jitsi - not working properly #1313

Open
helenvarley opened this issue Aug 8, 2024 · 47 comments
Open

Individual Jitsi - not working properly #1313

helenvarley opened this issue Aug 8, 2024 · 47 comments
Assignees
Labels
streaming audio and video streaming

Comments

@helenvarley
Copy link
Contributor

helenvarley commented Aug 8, 2024

i'm creating a new issue for this, specifically for the instability of individual Jitsi streams (not meeting). at the moment it seems that most of the time, the only person who can consistently see and hear an individual jitsi stream is the person whose stream it is.
SOMETIMES it does work - for instance on 7/8/24, vicki & i were online for about 3 hours, testing both individual and meeting, and had pretty good individual jitsi streams most of the time. we each had a second laptop which also had fairly consistent performance for the individual streams.
however today i tested with eva & petra; eva was logged in and petra was audience, with two laptops and her phone. most of the time nobody could see or hear the individual Jitsi streams except for the person whose stream it was. sometimes someone could hear something, sometimes they could see, but it was very inconsistent.

i've asked for help on the Jitsi forum - you can read the thread here: https://community.jitsi.org/t/videobridge-issues-in-upstage/133002/23

here are screengrabs from me & eva, showing how we could see each others' frame of the individual jitsi but not the image (or hear):

Screenshot from 2024-08-08 11:07:15
Bildschirmfoto 2024-08-08 um 11 07 43

@helenvarley helenvarley added the streaming audio and video streaming label Aug 8, 2024
@helenvarley helenvarley moved this to Todo in Upstage Project Aug 8, 2024
@helenvarley
Copy link
Contributor Author

and here are two from monday when eva & i were trying to rehearse:

signal-2024-08-06-122738_002
Screenshot from 2024-08-06 12-26-51

@gloriajw
Copy link
Contributor

gloriajw commented Aug 8, 2024

We need the help of Jitsi devs on this one. I cannot help here.

@emrahcom
Copy link

Do you create a Jitsi meeting room for individual stream?

@helenvarley
Copy link
Contributor Author

individual stream. the meeting tool is mostly working as expected, so this issue is just for the individual streams.

@emrahcom
Copy link

Hi @helenvarley, I want to understand if the individual stream is based on Jitsi. If yes, do you create a Jitsi meeting for it?

I'm still not sure it is based on Jitsi. There are audio and video elements on the board for them but I couldn't see how they are related with Jitsi.

@helenvarley
Copy link
Contributor Author

helenvarley commented Aug 10, 2024

as far as i understand it's using jitsi videobridge. hopefullylne of the devs can explain more - although the dev who originally built it isn't working on UpStage at the moment (& that's why we're struggling to solve it). @gloriajw @webdev604 are either of you able to explain how the individual streams work?

@vickis
Copy link

vickis commented Aug 11, 2024 via email

@gloriajw
Copy link
Contributor

@helenvarley you explained it just fine.

@helenvarley
Copy link
Contributor Author

Do you create a Jitsi meeting room for individual stream?

no 😄

@emrahcom
Copy link

If I understand correctly, the individual Jitsi is not based on Jitsi (even you call it as Jitsi), it is something else (maybe a stream through Node Media Server).

So, you don't need Jitsi support in this case.

As an alternative, you may use Jitsi with customization settings (to create the same effect) for the individual streams too. Since the meeting works, this should works also.

In my opinion, the initial designer of the system may give the best answer.

@gloriajw
Copy link
Contributor

@emrahcom please understand that we are using Jitsi Videobridge as stated above. It is Jitsi.

@emrahcom
Copy link

Sorry, I misunderstood.

Is it possible for you to create the individual Jitsi element almost the same way creating the meeting?
Differently, there will be a randomly generated UUID as meeting name and everything except the player's view in the Jitsi element will be disabled.

In this way, it should work like the meeting element but looks like the current individual Jitsi element. I recommends because this will be more stable than creating streams through Jitsi videobridge in a custom way.

@gloriajw
Copy link
Contributor

gloriajw commented Aug 12, 2024

We do not want to expose any controls to the members of the audience. Using Jitsi Meet instead of Jitsi Videobridge will not work for us, unless we can turn off Jitsi Meet control pane, so that audience members do not see it at all.

Can you give more details on how to turn off Jitsi Meet controls so they are not visible at all to certain users? I am not sure if the UUID you mention above does allow for the elimination of ALL control of the meeting.

@emrahcom
Copy link

You have already some customizations there.

2024-08-12-210720

You should repeat the same with some extra parameters. See config.js for possible options (some of them actually cannot be overwritten during the run time but most can be...)

For example you may overwrite toolbarButtons to disable buttons.

@emrahcom
Copy link

UUID is not for the elimination of all control. IIUC the application gets the meeting name from the player but no need to ask for a room name in this use case.

@gloriajw
Copy link
Contributor

Thanks for this suggestion and detail.

@webdev604
Copy link
Contributor

hi @emrahcom
I think all codes is in composable and Yourself for individual stream. first we need to fix stream issue. can you please check?
thank you

@emrahcom
Copy link

Hi @webdev604,

It is difficult for me to set up a dev environment and test these codes.

These codes use the low level API for the individual stream. My suggestion is to use the external Jitsi API like in the meeting element.

@webdev604
Copy link
Contributor

hi @emrahcom
image
we got this error on our jitsi server. can you please help?

@emrahcom
Copy link

Looks like there is a missing part in your /usr/share/jitsi-meet/interface_config.js.

Does the following object have } at the end?

 var interfaceConfig = {
...
...

@webdev604
Copy link
Contributor

ah, right. it was missing. thank you

@helenvarley
Copy link
Contributor Author

eva & i are rehearsing today on upstage.mur.at (which is i think using the same streaming server as upstage.live). after some initial difficulties with the meeting tool we managed to use it pretty well, but we had a lot of problems with the individual jitsi streams.

with individual jitsi streams, most of the time eva could see and hear me, i could hear her but not see her. there were also times when neither of us could see the other, but we could each see ourselves; and times when one or the other could not hear. we also connecting from phones, and on the phones there was nothing, no image or audio (but the meeting worked on phones). we took some screenshots but i don't know that they're really helpful - just shows us seeing out own webcam & not the other one.

we're going to use the meeting for the performance on friday evening & that will be a test of how it goes with more connections. it would be great if anyone has time to join, https://upstage.mur.at/whatmobliisesyou, and to monitor the stream server at the time. it's scheduled for 22:30 CET, which i know won't be a good time for you, wu.

@helenvarley helenvarley moved this from Todo to In Progress in Upstage Project Aug 21, 2024
@helenvarley
Copy link
Contributor Author

helenvarley commented Aug 21, 2024

just noting the two closed issues above, #1058 and #1091 - these may be useful to refer to if you want to see the ongoing inconsistensies ... ! but i think it must be all the same problem.

see also #1312

@gloriajw
Copy link
Contributor

@emrahcom Jitsi Meet is working far better than Jitsi Videobridge. Thank you for your help with this. Greatly appreciated!

@helenvarley
Copy link
Contributor Author

we still need to do more testing with individual jitsi streams, so i'll leave this open until we do that. but the meeting seems pretty reliable now, thank you! :)

@emrahcom
Copy link

emrahcom commented Aug 27, 2024

I have a plan to create a test/dev environment (maybe on weekend) to work on the individual stream. Last weekend, I tried to install it but it didn't work.

Probably I will open a new issue to share the issues while installing my system and to get support for installation.

@vickis
Copy link

vickis commented Sep 4, 2024

Individual jitsi is no longer available on dev-app

@github-project-automation github-project-automation bot moved this from In Progress to Done in Upstage Project Sep 12, 2024
@helenvarley
Copy link
Contributor Author

@gloriajw - we do still want to have the individual jitsi tool - wondering if you closed this because it's not fixable or what? on dev-app there is no individual jitsi thumbnail in the streams toolbar but does that mean it's not working at all, or just that the thumbnail needs to be reinstated?

@gloriajw gloriajw reopened this Sep 12, 2024
@gloriajw
Copy link
Contributor

Sorry, it is reopened. Why do we want an unreliable individual jitsi tool when it was replaced with a more reliable one? I am not understanding.

@helenvarley
Copy link
Contributor Author

because they do two different things:

  • individual jitsi allows a player to show their audio-visual stream only, to make it round or square & position it wherever they want on the stage, with no jitsi tools visible;
  • the meeting invites everyone, including audience, to share their mic and camera, and displays as either grid or speaker view (not controlled by players but up to individuals to select) in the rectangle jitsi format with all jitsi tools available, including the hang up button, jitsi chat, etc.

both are useful for different reasons.

@gloriajw
Copy link
Contributor

So we haven't been able to turn off audience participation? This is the root of the issue?

@helenvarley
Copy link
Contributor Author

no, not really - we do want to be able to have audience participation; we actually do want to have both the meeting, & the individual jitsi (or some other form of streaming just my own webcam and audio).
the problems are:

  • an individual jitsi streams is not seen or heard by anyone who enters after it has been placed on the stage; there have also been other instability issues where people can or can't hear or see each others' individual stream, but these are not consistent so hard to say where the problem is. the consistent thing is that if you enter a stage after a player has put their individual stream on, you won't see or hear it.
  • the meeting is more stable, and visible/audible to those who enter after it's placed on the stage; it is really useful for post-show discussions or meetings, but only partly useful if we want audience participation in a performance because of the jitsi tools - e.g. audience members can hang up the meeting for themselves, & for players trying to control audience mics etc it's actually quite difficult.

the individual jitsi would be perfect already for indivdiual streams if it was there for late-comers and if we could be confident that it was always going to work (allowing of course for normal glitches & audiences on bad networks).
the meeting would be perfect already if there was some modification to the jitsi tools (e.g. removal of the hang-up button)

@gloriajw
Copy link
Contributor

Can we focus on functionality instead of the tool set, so this is less confusing for me?
For functionality: what do you need the audience to be able to do and not do?

@helenvarley
Copy link
Contributor Author

helenvarley commented Sep 12, 2024

functionality for Meeting:

  • audience need to be able to unmute and show video IF allowed/asked by player/moderator
  • ideally audience should NOT be able to "hang up", i.e. leave the meeting but still be in UpStage.
  • the jitsi chat is not needed - not essential that it's not there, but some people have been confused by it, as there is the chat in UpStage and then also a chat within the jitsi window.
  • there are different names shown in jitsi than the nicknames in UpStage, which is also confusing. ideally it should be the same nicknames as used in UpStage but i don't know if that is possible.

funtionality for Individual:

  • audience should not see any tools, they should only see the player's webcam, and not be able to do anything with it

@gloriajw
Copy link
Contributor

gloriajw commented Sep 12, 2024

Thanks.

So, assuming Jitsi videobridge will not be modified to suit these needs, we should try to make jitsi meet work as closely as possible.

@webdev604 can you please see if there is a way to choose these options when starting allocating the jitsi window to the stage:

  • Allow users to mute and unmute, and show video, or not (meaning: when admins are setting up the video, choose one of these options: only show mute/unmute and present tool, or show no tools to the player).
  • Pass the user's first name and last initial to jitsi when starting, for players and audience.

Also see if there's a way to make these happen always:

  • Always hide the hangup button for audience members.
  • Always hide chat.

Thank you, @webdev604

@helenvarley
Copy link
Contributor Author

just to add to this, regarding users muting & unmuting: as moderator of the jitsi meeting, a player can, with the jitsi tools, mute everyone, & allow people to unmute.
however, it is quite tricky to do this as when you click on the meeting, you get the UpStage frame to resize and move the meeting. then you have to click away, and roll over the meeting, to get the jitsi tools; but this doesn't always happen, sometimes they just don't appear & you have to click around other things on the stage before they appear. & if you have made the meeting window small for some reason, you may not be able to access the jitsi tools that you need for the muting & unmuting.
i guess there is probably nothing that we can do about this, but from a user's perspective it's a bit difficult.

@gloriajw
Copy link
Contributor

gloriajw commented Sep 12, 2024

@webdev604 : one more for your list: Please make the moderator tool available no matter what is happening with the window size and such. Let us know if you face jitsi constraints that prevent certain conditions.

@gloriajw
Copy link
Contributor

What happened here is called Feature Creep, and it's confusing, so please try to not do this in the future.

We have an understood baseline of functionality with the individual tool. And then new functionality came along, and you want new features because of your realizations with the new tool. You bled them together and then said things don't work as they should, but some things simply didn't exist before, so there's no "before" of how they should work. We are trying to get this new tool to behave like the old one. THEN we can try to add new functionality based on how the tool is used. Please make two different lists of feature requests in the future.

@helenvarley
Copy link
Contributor Author

i apologise for confusion. i did make this issue specifically for the problems we've had with the individual jitsi, & noted further back in this thread that the meeting tool is working mostly as expected. i think the confusion may have come in after emrah asked if it's possible to create the individual Jitsi element almost the same way creating the meeting, so then the explorations have gone down that path & conflated the individual & meeting together.

would it help to make new separate issues with use case scenarios for each?

@gloriajw
Copy link
Contributor

No worries. I think right now, we have it straightened out into a list of features that make sense. I just want to make this software dev process easier going forward. All good!

@helenvarley
Copy link
Contributor Author

it's easy to get confused! 🤪

@emrahcom
Copy link

Hi @webdev604,

If I update codes in upstage/studio/src/components/objects/Meeting/, I don't see any effect on UI.
If I update codes in upstage/dashboard/src/components/objects/Meeting/, I see my changes.

Is this expected or something wrong in my setup?

@emrahcom
Copy link

If you update loadTrack in Jitsi.vue as follows, does it make any difference?
This is only to understand the issue better, not as a solution...

    const loadTrack = () => {     
      setTimeout(loadTrack, 5000);
      const tracks = computed(() =>
        store.getters["stage/jitsiTracks"].filter(
          (t) => t.getParticipantId() === props.object.participantId,
        ),  
      );    
      const videoTrack = computed(() =>
        tracks.value.find((t) => t.type === "video"),
      );    
      const audioTrack = computed(() =>
        tracks.value.find((t) => t.type === "audio"),
      );    

      if (tracks.value.length) {  
        try {
          if (videoTrack.value) {
            videoTrack.value.attach(videoEl.value);
          } 
          if (audioTrack.value && !audioTrack.value.isLocal()) {
            audioTrack.value.attach(audioEl.value);
          } 
        } catch (error) {
          console.log("Error on attaching track", error);
        }   
      }     
    };

@gloriajw
Copy link
Contributor

gloriajw commented Sep 15, 2024

Is this to address the problems with Jitsi Videobridge, or Meet?
Also, /dashboard is no longer in use. All active code is in /studio

@emrahcom
Copy link

emrahcom commented Sep 16, 2024

Individual stream (videobridge)...

When I cloned the main branch, it didn't affect anything when I updated the codes in /studio. Probably related with my setup.

Could you try the same update in studio?

@helenvarley
Copy link
Contributor Author

helenvarley commented Sep 17, 2024

hi everyone on this issue, this thursday 19th september there will be an UpStage performance that uses both individual jitsi and the meeting (as they currently function in the version on upstage.live). if you have time to join the performance, it is a good opportunity to see these tools in action. we are using the individual jitsi for the introduction (video & audio) then for a single audio stream; and at a point in the performance we want the audience to join with their voices, so putting on a meeting and allowing everyone to unmute.

in our rehearsals so far everything has been pretty stable, the main issues being that if someone enters after an individual stream is already placed on the stage they will not get it (so we are stressing the importance of arriving on time) and the user difficulties of operating the jitsi meeting tools within UpStage (sometimes difficult to be able to click the button you need to click, due to either having UpStage tools rather than Jitsi, or not being able to find the Jitsi tools).

the performance is about 30 minutes long, & starts at 20:15 CET. time converter, stage link & other information are here: https://upstage.org.nz/?event=nice-girls & you are all warmly invited 😃

@helenvarley
Copy link
Contributor Author

hi all, i've created issues #1331 and #1332 to try to be clear about the requirements for jitsi Meeting, and for Individual jitsi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
streaming audio and video streaming
Projects
None yet
Development

No branches or pull requests

5 participants