[__jitsi_meet*] Add support for simultaneous interpretations
By using https://gitlab.com/mfmt/jsi which consists of very small and simple static files, we enable interpretations by default. With this commit, any DOMAIN created with __jitsi_meet_domain will serve jsi on https://DOMAIN/i/ and any ROOM can be used with simultaneous interpretation on https://DOMAIN/i/ROOM Sponsored by: camilion.eu, eXO.cat
This commit is contained in:
parent
7e2ba98d36
commit
151dc32fb5
3 changed files with 66 additions and 1 deletions
|
@ -262,3 +262,46 @@ EOF
|
|||
fi
|
||||
fi
|
||||
# TODO: disable the exporter if it is deployed and then admin changes their mind
|
||||
|
||||
#
|
||||
# Setup interpreter assets if requested
|
||||
# See: https://gitlab.com/mfmt/jsi/
|
||||
#
|
||||
jsi_updated_on="2022-04-21"
|
||||
__link "/usr/share/jitsi-meet/interpreters.html" \
|
||||
--type symbolic \
|
||||
--source "/opt/jsi/static/index.html.sample"
|
||||
__directory /opt/jsi --mode 0755
|
||||
export require="__directory/opt/jsi"
|
||||
__download /opt/jsi/jsi.tar.gz \
|
||||
--url 'https://gitlab.com/mfmt/jsi/-/archive/1d2cceaf615ee61c0bba80e5bddc61c5d1018303/jsi-1d2cceaf615ee61c0bba80e5bddc61c5d1018303.tar.gz' \
|
||||
--sum "sha256:b020141093daa9937507b098f358d0be994834c3e23866a457fc5140415a0c53"
|
||||
export require="__download/opt/jsi/jsi.tar.gz"
|
||||
__unpack /opt/jsi/jsi.tar.gz \
|
||||
--preserve-archive \
|
||||
--tar-strip 1 \
|
||||
--destination /opt/jsi/static \
|
||||
--onchange "$(cat <<EOF
|
||||
# Patch style.css to be served on /i/
|
||||
sed -i.tmp -E \
|
||||
-e 's!url[(]/img/welcome-background.png[)]!url(/i/img/welcome-background.png)!' \
|
||||
/opt/jsi/static/style.css
|
||||
# Patch jsi.js to be served on /i/
|
||||
# and so it always uses the domain it's served from
|
||||
# and so it uses /i/ROOM for the form
|
||||
sed -i.tmp -E \
|
||||
-e 's!substr[(][0-9]+[)]!substr(3)!' \
|
||||
-e 's!config[.]jitsimeet_url!url.host!' \
|
||||
-e 's!(window[.]location[.]href)[[:space:]]*=[[:space:]]*"/"!\1 = "/i/"!' \
|
||||
/opt/jsi/static/jsi.js
|
||||
# Patch the sample index.html, so it loads external_api.js from same host
|
||||
# and to easen up on the branding
|
||||
# and to enable browser cache
|
||||
sed -i.tmp -E \
|
||||
-e "s!src=[^>]*(/external_api.js).!src='\1'!" \
|
||||
-e "s!<h1>[^<]*</h1>!<h1>Jitsi Meetings with interpreter</h1>!" \
|
||||
-e "s!https://meet.mayfirst.org!/!" \
|
||||
-e "s!(style.css|jsi.js)([^?])!\1?v=${jsi_updated_on:?}\2!" \
|
||||
/opt/jsi/static/index.html.sample
|
||||
EOF
|
||||
)"
|
||||
|
|
|
@ -102,6 +102,21 @@ server {
|
|||
expires 1y;
|
||||
}
|
||||
}
|
||||
# Paths for jsi / interpreters
|
||||
location ~ ^/i/(img/[^./]*.png|jsi.js|style.css)$
|
||||
{
|
||||
add_header 'Access-Control-Allow-Origin' '*';
|
||||
alias /opt/jsi/static/\$1;
|
||||
|
||||
# cache all versioned files
|
||||
if (\$arg_v) {
|
||||
expires 1y;
|
||||
}
|
||||
}
|
||||
location ~ ^/i/
|
||||
{
|
||||
try_files /${DOMAIN}-interpreters.html /interpreters.html \$uri;
|
||||
}
|
||||
|
||||
# BOSH
|
||||
location = /http-bind {
|
||||
|
|
|
@ -11,7 +11,13 @@ DESCRIPTION
|
|||
-----------
|
||||
This type installs and configures the frontend for Jitsi-Meet.
|
||||
|
||||
This supports "multi-domain" installations.
|
||||
Additionally to regular Jitsi-Meet, users can load `DOMAIN/i/` and
|
||||
`DOMAIN/i/ROOM` for an interpreter-enabled interface; this is done with a
|
||||
patched version of Jitsi Simultaneous Interpretation (jsi; see references).
|
||||
At least a user with `interpreter` in their name must be present.
|
||||
|
||||
|
||||
This type supports "multi-domain" installations.
|
||||
|
||||
New in April 2022: rooms are independent for each domain, that is:
|
||||
https://jitsi1.example.org/room1 and https://jitsi2.example.org/room1 are
|
||||
|
@ -156,6 +162,7 @@ SEE ALSO
|
|||
--------
|
||||
- `__jitsi_meet(7)`
|
||||
- `__jitsi_meet_user(7)`
|
||||
- Jitsi Meet Simultaneous Interpretation: https://gitlab.com/mfmt/jsi
|
||||
|
||||
|
||||
AUTHORS
|
||||
|
|
Loading…
Reference in a new issue