Hello there. As a lockdown project, I’ve been developing a Jitsi client for my grandparents (who are technologically hopeless) on a Raspberry Pi in their living room, so that my family may video call them. It works by basically using the Jitsi web API in an electron app connecting to the meet.jit.si server, along with various scripts so that the meeting auto-joins (and configures a password) when the page loads, and will reload if anything fails (saves me VNC-ing into the Pi every time the internet connection drops!) When built into electron, it will utilize a node package to automatically switch HDMI input to the RasPi when a participant joins. Now my family can video call my grandparents without them having to do anything, which has been fantastic!
I’m currently trying to write a “config” page, where another user (say myself in this example) can “connect” to the meeting, but rather than sending or receiving audio/video, this page is just used to send messages and communicate with the Jitsi client running on the RasPi to configure it (e.g. change meeting name/password, disable the auto HDMI switching etc.). I’ve achieved this by embedding the Web API in a hidden iframe, and configuring it to join the room in audioonly mode but with everything muted. That mostly works, but only on desktop web browsers, not mobile. When the page loads it requests microphone access (but not camera) and I think that’s one of the reasons it’s failing on mobile.
On this config page, I only need to be able to send and receive messages that the regular API refers to as EndpointTextMessage (e.g. sendEndpointTextMessage commands and endpointTextMessageReceived events). I don’t need or want any audio or video tracks, JUST those text messages. I’ve been trying to make a bit of a cut-down client based on the example here: lib-jitsi-meet/doc/example at master · jitsi/lib-jitsi-meet · GitHub
However, I’m really not sure how to configure the options to connect to the room.
If you’re interested, the code is here: GitHub - JackalStew/managed-meet