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

Unify hidden domain usage for recording and transcription #1737

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

zobadaniel
Copy link

More generic approach to proper transcriber inclusion into docker.

I made a new pull request, based on the info & feedback from here: #1663

The patch is bigger because I renamed XMPP_RECORDER_DOMAIN. The name would be confusing if it is not the sole purpose of that domain.

I'm still not 100% sure this is the right way to do it. Please let me know your comments.

Patch has been tested vs release 9220.

@miro-ku
Copy link

miro-ku commented Feb 20, 2024

Any progress here? Looking forward for this to be merged

@@ -170,6 +172,11 @@ org.jitsi.jigasi.transcription.SAVE_TXT=true
org.jitsi.jigasi.transcription.SEND_TXT={{ .Env.JIGASI_TRANSCRIBER_SEND_TXT | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO={{ .Env.JIGASI_TRANSCRIBER_RECORD_AUDIO | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav
# non-anonymous authentication is required for transcriber
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These properties are already defined at line ~145: what's the difference between JIGASI_TRANSCRIBER_USER and JIGASI_XMPP_USER?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know. This may be a question to the architects of jigasi, whether a separate authentication for the transcriber is desired. I found preparations for a dedicated authentication in the code and just wanted to make the feature work.

Maybe it has to do with other jigasi features (SIP) that a separate authentication is desired?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need an extra user. JIgasi can be configured either as a trascriber or a SIP audio bridge, but not both at the same time. Thus, JIGASI_XMPP_USER (and the other ones) should be good.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I plan to work shortly on transcribers as a first-class docker-jitsi-meet component, separated from the jigasi SIP component. I should have PRs open by next week, in case this helps.

Copy link
Member

@saghul saghul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay, did a review round.

docker-compose.yml Outdated Show resolved Hide resolved
web/rootfs/defaults/settings-config.js Outdated Show resolved Hide resolved
jibri/rootfs/defaults/jibri.conf Outdated Show resolved Hide resolved
@@ -170,6 +172,11 @@ org.jitsi.jigasi.transcription.SAVE_TXT=true
org.jitsi.jigasi.transcription.SEND_TXT={{ .Env.JIGASI_TRANSCRIBER_SEND_TXT | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO={{ .Env.JIGASI_TRANSCRIBER_RECORD_AUDIO | default "false"}}
org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav
# non-anonymous authentication is required for transcriber
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need an extra user. JIgasi can be configured either as a trascriber or a SIP audio bridge, but not both at the same time. Thus, JIGASI_XMPP_USER (and the other ones) should be good.

prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua Outdated Show resolved Hide resolved
@loli10K
Copy link
Contributor

loli10K commented Mar 27, 2024

I would like to test this PR on my development environment, however as it is now this patch doesn't apply cleanly on the master branch due to recent commits (notably 360361e).

@zobadaniel
Copy link
Author

I will try to update the patch versus master in the near future. In the meantime, please check release 9220, it should apply cleanly against this one.

@loli10K loli10K mentioned this pull request Apr 25, 2024
@loli10K
Copy link
Contributor

loli10K commented Apr 25, 2024

I can confirm this is working nicely on top of stable-9220, i am using this with some small changes (unrelated to this PR, just to get Vosk transcription instead of the default Google Cloud service), thanks.

@zobadaniel
Copy link
Author

The requested changes have been implemented by @M4GNV5 and the PR rebased. Please re-check and merge if accepted.

Copy link
Member

@saghul saghul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some more comments! Looks like there was some merge-snafu 😅

jibri/rootfs/defaults/jibri.conf Outdated Show resolved Hide resolved
jicofo/rootfs/defaults/jicofo.conf Outdated Show resolved Hide resolved
prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua Outdated Show resolved Hide resolved
@@ -4,7 +4,6 @@
{{ $ENABLE_SUBDOMAINS := .Env.ENABLE_SUBDOMAINS | default "true" | toBool -}}
{{ $ENABLE_XMPP_WEBSOCKET := .Env.ENABLE_XMPP_WEBSOCKET | default "1" | toBool -}}
{{ $JIBRI_RECORDER_USER := .Env.JIBRI_RECORDER_USER | default "recorder" -}}
{{ $JIGASI_TRANSCRIBER_USER := .Env.JIGASI_TRANSCRIBER_USER | default "transcriber" -}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this removed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The transcriber user was combined with the JIGASI_XMPP_USER after the previous review comments here: #1737 (comment)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jigasi has two connections. First is the the XMPP command/control connection to the brewery MUC where jicofo can dispatch it to a conference. This first connection uses the JIGASI_XMPP_USER, which is a service account never seen by end users.
Second is the actual conference connection, where it authenticates as the transcriber user so as to be part of the hidden domain and not appear as a participant, as well as not being thwarted by lobby/passcode, etc. Both accounts are required to make transcriber work.

it does not hurt to have them, so the conditions simply increase config complexity
@M4GNV5 M4GNV5 force-pushed the unify_hidden_domain_usage_for_recording_and_transcription branch from 5c940d5 to 48e66eb Compare September 20, 2024 12:11
@M4GNV5
Copy link
Contributor

M4GNV5 commented Sep 20, 2024

@saghul hope everything is ok now. I cannot mark your comments as resolved, but I fixed the things you requested.
Maybe you can find the time to review this (once again) and hopefully merge :)

@saghul
Copy link
Member

saghul commented Sep 20, 2024

I see the branch has conflicts, can you rebase?

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

Successfully merging this pull request may close these issues.

6 participants