Mute video

moderator can mute other audio(I also implement unmute method ). I also want to mute video. I find a method (handleMuteRequest in JitsiMeetConferenceImpl) in jocofo. can you help me to implement video unmute mute method in jicofo

JitsiMeetConferenceImpl calls muteParticipant from ColibriConferenceImpl, which mutes only the audio. You need first to make sure that the UI has the button and you can signal muting the video or audio (as currently only audio muting is implemented https://github.com/jitsi/lib-jitsi-meet/blob/e7bbf4f371b42b60fde0f09ba67513293d188b02/modules/xmpp/ChatRoom.js#L1387). And then jicofo can signal to bridge in ColibriConferenceImpl.muteParticipant whether to mute audio or video channel.

thank you. @damencho

@damencho if i change http://jitsi.org/jitmeet/audio as http://jitsi.org/jitmeet/video it should mute the video instead audio am i right?

No, it will not work. Changing that no iq will be parsed on jicofo side. You need to create another IQ with the new namespace, make sure it is parsed in the corresponding iq provider, then make sure you handle it.
Look at the current MuteIq https://github.com/jitsi/jicofo/blob/a8674e80b371fe7221d80f207636ec0fa99a8723/src/main/java/org/jitsi/impl/protocol/xmpp/extensions/MuteIq.java#L35 where http://jitsi.org/jitmeet/audio is the namespace.

1 Like

@damencho help me
This is a jibri log

i have got this iq to the jibri side

true

for the testing, I change the following things

MuteIq NameSpace as http://jitsi.org/jitmeet/video

ColibriConferenceImpl.muteParticipant as ColibriConferenceIQ.Content audioContent=channelsInfo.getContent(“video”);

could you say something

This will not work as described in my previous comment, this iq is unknown to jicofo.

Hi @damencho, so is it possible for me to add a separate IQ to jicofo for mute video? Instead of using MuteIq, I can add a MuteVideoIq and create a handleVideoMuteId function.

Thanks in advance

You can do it.

HI @damencho, thanks for your response. If I add a new IQ to Jicofo, I have to make sure the jitsi meet can call it as well right? What is a normal flow for the jitsi/lib-jitsi-meet to call this kind of event?

The flow is that jitsi-meet handles the UI part and invoke a method in lib-jitsi-meet which handles the rest, sending the message to the xmpp server. But this flow is already there, check the remote mute.

Hi @damencho

If I create a new handler from Jicofo, what method should the UI invoke ?

Also, to create a new Iq (similar to MuteIq) I have to modify the jitsi-xmpp-extension not just jicofo?

Thank you.

You need to implement it. Look at what remote video menu uses for muting audio, and you can do a similar thing and for video https://github.com/jitsi/jitsi-meet/tree/master/react/features/remote-video-menu

Code can stay only in jicofo. We are using xmpp-extensions in several places that’s why it is external. If you want to create PRs with all the work, then the iq needs to go in jitsi-xmpp-extension.
If your goal is to submit this to the community, before doing it and the PRs maybe ask is the community interested in this, a good place for that is also the community Call that happens every other week on Monday.

Hello, is there a simple way (button somewhere in the jitsi screen?) to temporarily mute everbody except the meeting organizer? Very best, Stephane

@damencho amencho how to compile jitsi-xmpp-extensions ? ( which dependecy we need to build this) and where to put a build file or artifacts in jitsi server?

check out the code and do mvn install.

I don’t understand what you are asking.

There are many projects using that …

What is your goal to test something or you want to fork things and keep changes in your projects if it is the second you will need to setup an mvn repo and push the artifacts there and use that repo from the projects using that dependency with the changes …

@damencho There are the instructions for building jicofo from source code & the replaces the origianl jicofo from the new one
mvn package -DskipTests -Dassembly.skipAssembly=false mvn install unzip target/jicofo-1.1-SNAPSHOT-archive.zip cp jicofo-1.1-SNAPSHOT/jicofo.jar /usr/share/jicofo/ /etc/init.d/jicofo restart && /etc/init.d/jitsi-videobridge2 restart && /etc/init.d/prosody restart cd ../
Basically, I want to test this PR and for that, it looks like we need to also modify this jitsi-xmpp-extensions that’s why I was asking.

You can replace the original library in /usr/share/jicofo/libs with the one you built by hand.