Using UV4L on Raspberry Pi 0W with Jitsi for online piano teaching second stream

Hi all

I teach piano classes for little kids. I’ve been looking into developing the technology to do this online. For adults a simple Jitsi Meeting (or Zoom or Duo) will suffice, but for little kids I need something more. In addition to the face-to-face interaction, I need a second video stream that shows the student’s hands on the keyboard. In practice the student places a tablet on the music rest for face-to-face interaction and a second device is clipped onto the keyboard music rest and a small arm holds the camera about 16" above the keyboard looking down. The intent is for the student to simply connect the battery and clip the “fingerCAM” in place. For this second video stream I have been working on using a Raspberry Pi 0W with camera module to build this “fingerCAM”. I have built a couple of these and they do work, but there are some wrinkles to iron out because of the issues sending a stream over the internet. The “fingerCAM” is not to receive any video, just send video, and no audio either way.

The requirements of developing this “fingerCAM” application include:

  • the student’s parent provides me with the SSID and password of their WiFi
  • I write a file on the headless RPi0W to enable the WiFi access automatically
  • the student and parents will not do any router programming at their house
  • the “fingerCAM” starts up, gets online, and starts sending video to me automatically

I would use my website ( Piano Class for Kids if necessary to act as an intermediary. I know this might necessitate moving it to a ssl compatible web server.

Does this sound like it is going to work? There is support for Jitsi in the UV4L package I have running on the RPi0W (User Video for Linux so the next step would be to see if I can establish a permanent Jitsi web URL (like a named meeting for each student?) for the headless RPi0W to automatically connect to when it is powered up and gets online, that will direct the video stream to where I can access it with my laptop. If it is not possible to have a fixed Jitsi web meeting URL then I thought perhaps “fingerCAM” would connect through my website.

So when I am teaching (just a single student at a time at first) I connect with the student on a tablet (for face-to-face interaction) (that part is easy and not a part of this post) and then the student plugs in the battery on the “fingerCAM”, clips it on the music rest, and I direct the browser on my laptop to a Jitsi Meet where the RPi0W running UV4L is sending the video stream. The UV4L includes a RestfulAPI web server and I hope that I can set up some initial settings so somehow the “fingerCAM” will initiate the video stream automatically.

I am new to Jitsi Meet so at this point I am just evaluating if this is going to work

thanks - PJ