jitsi-meet icon indicating copy to clipboard operation
jitsi-meet copied to clipboard

Only one user can activate subtitles

Open devByGelu opened this issue 2 years ago • 1 comments

Description:

Only one moderator can receive translated subtitles from other participants. Other participants and delegated moderators can't toggle their subtitles/choose a language.

Only the moderator who clicked subtitles first can see the translated transcripts from other people (closed captions).

Steps to reproduce:

  1. Set up docker-jitsi-meet-stable-7648-4

  2. Create and join a meeting

  3. At toolbar, find subtitles and choose a language

  4. Invite another participant and let them speak

  5. Notice that you can receive translated transcripts from their voice input, while the other participant cannot choose a language

  6. Grant the said participant moderator status

  7. As the other participant, find subtitles and choose a language

  8. Notice that when the other moderator speaks, you don't receive translated transcripts

Actual behavior:

Other users must be able to enable translation and receive translated transcripts

Server information:

  • Jitsi Meet version: docker-jitsi-meet-stable-7648-4
  • Operating System: Docker desktop 4.10.1 (82475)

Client information:

  • Browser / app version: image

  • Operating System: image

Additional tests

I compiled a custom jitsi-meet where the subtitles button always shows

Then I integrated the build/image to docker-jitsi-meet-stable-7648-4

react/features/subtitles/components/AbstractClosedCaptionButton.js image

..still doesn't work for other participants other than the first moderator who enabled subtitles

devByGelu avatar Sep 09 '22 15:09 devByGelu

As a newbie, I am eager to be given guidance/instructions as to how to support/fix this feature.

@saghul, thank you very much!

devByGelu avatar Sep 09 '22 15:09 devByGelu

Hi, I am having the exact same issue, when using the VOSK trancription server. Are you using the Google transcription API or another service? I'm not sure if this comes from Jigasi or jitsi-web.

Thanks in advance

charles-zablit avatar Sep 26 '22 15:09 charles-zablit

IIRC this is intentional. Once the moderator enables CC, the guests will also see the CC button and they can toggle them on. Is this not what you observe.

saghul avatar Sep 26 '22 18:09 saghul

Thank you for the quick reply @saghul

Is this not what you observe

No, when the moderator enables CC, the guest does not see the CC button and does not see the subtitles either. If I promote the guest to the moderator role, they will have the CC button and the subtitles will show up.

I found this bit of code which was supposed to fix a similar issue. However, if visible already exists, isn't the Boolean(transcription?.enabled && (isLocalParticipantModerator(state) || isTranscribing)) never executed?

charles-zablit avatar Sep 26 '22 19:09 charles-zablit

Hi, I am having the exact same issue, when using the VOSK trancription server. Are you using the Google transcription API or another service? I'm not sure if this comes from Jigasi or jitsi-web.

Thanks in advance

I'm using the Google transcription API. I'm quite convinced that the problem lies somewhere in jigasi, but I have yet to understand the code.

Right now we're testing if using http://jaas.8x8.vc this is no longer a problem.

devByGelu avatar Sep 27 '22 09:09 devByGelu

IIRC this is intentional. Once the moderator enables CC, the guests will also see the CC button and they can toggle them on. Is this not what you observe.

My bad, I've updated the label: Only one user can activate subtitles -> Only one user can see translated captions

Only the first participant who activated subtitles (most likely moderator) can actually see translated captions on their screens.

devByGelu avatar Sep 27 '22 09:09 devByGelu

Thanks for the reply!

Only the first participant who activated subtitles (most likely moderator) can actually see translated captions on their screens.

I am having the same issue as well. Once the moderator has activated the subtitles, do the regular participants see the "CC" button?

Also, it seems to be working on the Linto AI jitsi demo: https://jitsi.linto.ai/ I believe they are also using Jigasi, but I don't know which version.

charles-zablit avatar Sep 27 '22 09:09 charles-zablit

Sorry, I misspoke. It was almost correct. This is what should be happening:

  • Moderator enables subtitles: the button shows for everyone, and it's ON
  • The "TR" label should be visible for all
  • Non-moderators can stop it for themselves

If you are not seeing this, what versions of everything did you deploy?

saghul avatar Sep 27 '22 09:09 saghul

Moderator enables subtitles: the button shows for everyone, and it's ON

In my case, subtitles show only for the moderator, and the button doesn't show for anyone that is not a moderator. Subtitles are hidden as well for guests.

- jitsi/web stable-7648-4
- jitsi/jvb stable-7648-4
- jitsi/jicofo stable-7648-4
- jitsi/prosody stable-7648-4
- jigasi latest
- vosk latest

charles-zablit avatar Sep 27 '22 10:09 charles-zablit

After some analysis, it looks like the issue comes from the Jigasi Transcriber joining as a visible participant. Related code.

I am having issues setting up a hiddenDomain for the transcriber.

@devByGelu do you think your issue is caused by a similar thing?

charles-zablit avatar Sep 28 '22 13:09 charles-zablit

I am having the same issue as well. Once the moderator has activated the subtitles, do the regular participants see the "CC" button?

They don't IIRC. I'll try to revisit this issue this weekend.

devByGelu avatar Sep 29 '22 13:09 devByGelu

After some analysis, it looks like the issue comes from the Jigasi Transcriber joining as a visible participant. Related code.

I am having issues setting up a hiddenDomain for the transcriber.

@devByGelu do you think your issue is caused by a similar thing?

I couldn't say for sure. Do you need help getting the subtitles button to "artificially" show up for other participants? @charles-zablit

devByGelu avatar Sep 29 '22 13:09 devByGelu

Do you need help getting the subtitles button to "artificially" show up for other participants? @charles-zablit No problem, thanks :)

I've managed to fix the issue. You have to specify a hiddenDomain in jitsi's config.js. You can use recorder.meet.jitsi if using docker. Then create a user in prosody for that domain named jigasi, give it a password and fill in the config in sip-communications.properties. Jigasi should login as a hidden participant and subtitles should be working as expected, for moderators and hosts.

charles-zablit avatar Sep 29 '22 13:09 charles-zablit

You're awesome!

I'll try if i can recreate your fix in docker, then hopefully create a PR for the docs for other people to see. Were there any other resources that helped you implement the fix?

devByGelu avatar Sep 29 '22 14:09 devByGelu

Here are the forums threads that helped me to find the issue:

charles-zablit avatar Sep 30 '22 12:09 charles-zablit

Do you need help getting the subtitles button to "artificially" show up for other participants? @charles-zablit No problem, thanks :)

I've managed to fix the issue. You have to specify a hiddenDomain in jitsi's config.js. You can use recorder.meet.jitsi if using docker. Then create a user in prosody for that domain named jigasi, give it a password and fill in the config in sip-communications.properties. Jigasi should login as a hidden participant and subtitles should be working as expected, for moderators and hosts.

Question: Does it works both ways? I mean with 2 differents traslations, for example the moderator traslating from english to spanish and the guest traslating from spanish to english.

oerodriguezn avatar Feb 01 '23 23:02 oerodriguezn

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 10 '23 01:08 github-actions[bot]

Update on this issue, the latest stable-9457 version includes updates of refactor transcriptions api from pull request merged to master https://github.com/jitsi/jitsi-meet/pull/14144. From there you see AbstractClosedCaptionButton.tsx is now using an updated function canStartSubtitles as replacement. @devByGelu 's method is forcing visible = true for all participants is not enough if you're building from an legacy version prior to that, participants still not getting the transcription.

Do some code tracing, participants other than the moderator is automatically receiving endpointMessageReceived in conference.js.

Then react/features/subtitles/middleware.ts is registering (listening) to this event ENDPOINT_MESSAGE_RECEIVED and then output newTranscriptMessage to screen.

Therefore, it's recommended to upgrade server version to stable-9457 and do your customization from there.

shooding avatar May 03 '24 15:05 shooding

confirm hiddenDomain solves the problem. setup jitsi-meet VirtualHost recorder.<domain> and set recorder. as hiddenDomain. Only one domain can be hiddenDomain, and most of the time recorder will be used first. In my scenario, only transcriber is needed but still use recorder.<domain> is fine.

/etc/init.d/prosody restart

then you can use

prosodyctl register jigasi recorder.<domain> <raw-password> 

and found newly created account at /var/lib/prosody/recorderrecorder%2d/accounts/jigasi.dat Then fill the base64(password) to sip-communicator.properties of jigasi and everything works.

I was wrongly registering jigasi under auth.<domain> and therefore it joins as normal participant.

shooding avatar Jun 07 '24 16:06 shooding