JuVideo Chat with peers inside JupyterLab
This extension is composed of:
- a Python package named
jupyter_videochat
, which offers:- a
jupyter_server
extension which provides convenient, configurable defaults for rooms on a JupyterHub - an NPM package named
jupyter-videochat
for the JupyterLab extension- for more about the TypeScript/JS API, see CONTRIBUTING
- a
jupyterlab ==3.*
pip install jupyter_videochat
If you are seeing the frontend extension but it is not working, check that the server extension is enabled:
jupyter serverextension list
If the server extension is installed and enabled but you are not seeing the frontend, check the frontend is installed:
jupyter labextension list
pip uninstall jupyter_videochat
In your jupyter_server_config.json
(or equivalent .py
or conf.d/*.json
),
you can configure the VideoChat
:
room_prefix
, a prefix used for your group, by default a URL-frieldy version of your JupyterHub's hostname- can be overriden with the
JUPYTER_VIDEOCHAT_ROOM_PREFIX
environment variable
- can be overriden with the
jitsi_server
, an HTTPS host that serves the Jitsi web application, by defaultmeet.jit.si
rooms
, a list of Room descriptions that everyone on your Hub will be able to join
{
"VideoChat": {
"room_prefix": "our-spiffy-room-prefix",
"rooms": [
{
"id": "stand-up",
"displayName": "Stand-Up",
"description": "Daily room for meeting with the team"
},
{
"id": "all-hands",
"displayName": "All-Hands",
"description": "A weekly room for the whole team"
}
],
"jitsi_server": "jitsi.example.com"
}
}
In the JupyterLab Advanced Settings panel, the Video Chat settings can be
further configured, as can a user's default displayName
and email
. The
defaults provided are generally pretty conservative, and disable as many
third-party services as possible.
For example, to enable all thirdy-party features:
-
create an
overrides.json
{ "jupyter-videochat:plugin": { "interfaceConfigOverwrite": null, "configOverwrite": null } }
-
Copy it to the JupyterLab settings directory
# postBuild mkdir -p ${NB_PYTHON_PREFIX}/share/jupyter/lab/settings cp overrides.json ${NB_PYTHON_PREFIX}/share/jupyter/lab/settings
Appending ?jvc=room-name
to a JupyterLab URL will automatically open the Meet
(but not fully start it, as browsers require a user gesture to start
audio/video).
On Binder, use the urlpath
to append the argument,
ensuring the arguments get properly URL-encoded
https://mybinder.org/v2/gh/yuvipanda/jupyter-videochat/HEAD?urlpath=tree%3Fjvc%3DStand-Up
# URL-encoded [? ] [= ]