[__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
|
||||||
fi
|
fi
|
||||||
# TODO: disable the exporter if it is deployed and then admin changes their mind
|
# 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;
|
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
|
# BOSH
|
||||||
location = /http-bind {
|
location = /http-bind {
|
||||||
|
|
|
@ -11,7 +11,13 @@ DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This type installs and configures the frontend for Jitsi-Meet.
|
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:
|
New in April 2022: rooms are independent for each domain, that is:
|
||||||
https://jitsi1.example.org/room1 and https://jitsi2.example.org/room1 are
|
https://jitsi1.example.org/room1 and https://jitsi2.example.org/room1 are
|
||||||
|
@ -156,6 +162,7 @@ SEE ALSO
|
||||||
--------
|
--------
|
||||||
- `__jitsi_meet(7)`
|
- `__jitsi_meet(7)`
|
||||||
- `__jitsi_meet_user(7)`
|
- `__jitsi_meet_user(7)`
|
||||||
|
- Jitsi Meet Simultaneous Interpretation: https://gitlab.com/mfmt/jsi
|
||||||
|
|
||||||
|
|
||||||
AUTHORS
|
AUTHORS
|
||||||
|
|
Loading…
Reference in a new issue