Ĵitsi@scale days ④-⑦: The end of a beginning — a visual stream of consciousness, as the noun of Ĵitsi becomes a verb ☵

Exergy Connect
3 min readMay 2, 2021

--

Ĵitsi@scale web video stream aggregation and composition

As we wrap up our contributions to the Jitsi Hackathon for classrooms, the time has come to reflect on an exciting week of experimentation and innovation with the Open Source community. “To Ĵitsi” became a verb for me this week — reflective of participating in vibrant virtual communities, switching between various streams and currents, avoiding or bumping into obstacles like water flowing down a river.

“To Ĵitsi”

To make things tangible, a Pull Request(PR) was submitted to the Jitsi core library project (lib-jitsi-meet). It’s only 25 lines of Javascript code added to a single file, but it enables a wide variety of new audio/video web applications, as illustrated by https://jbemmel.github.io/jitsi-at-scale/index.html.

The meaning of scale ⚖️

To scale can have different interpretations. At a technical platform level, it means dynamically and automatically adjusting resources to handle varying loads of demand, in a cost effective and sustainable manner. To this end, the team at IndeHosters.net has created a Kubernetes Operator to increase/decrease the number of video bridges (JVBs) based on the number of users.

Ĵitsi@scale architecture

From a network and systems perspective, the video bandwidth and processing resources/time — both in the cloud and client side — are a key concern. Based on practical considerations and real-world experience, we envision a dynamic interactive system in which a small subset of users participate “live on stage”. These video streams are distributed to the audience directly, with minimal delay. The rest of the users (the majority) form “the audience”; their audio streams (when opted in) have silence detection enabled such that audio is only sent when they speak up, and their video streams are sent to a video composer / broadcast system (“JIBRI 2.0”) for aggregation and efficient distribution. This strikes a balance between having a complete and effective experience, while keeping resource usage manageable with acceptable latencies.

From prototypes to real live streams

The web prototype at https://github.com/jbemmel/jitsi-at-scale is merely a proof-of-concept, as video processing for real conferences is best performed in the cloud. Our team identified GStreamer as a high-potential candidate for implementation — but as you may appreciate, it will take a little bit more than a week of Hackathon to build something concrete.

Conceptually, the Jitsi Video Bridge (JVB) will evolve from a relatively “dumb” switch to an “intelligent” media router. Analogous to the evolution of the internet, there is a need for dynamic service policies to control the interactive experience and the flow of media streams, making dynamic trade-offs between resource usage and quality of experience. As a Webscale network architect, I see a clear need for collaboration and integration across many traditional boundaries, and I believe the seeds for this next phase have been planted.

In summary

The power of Open Source was on full display for me this past week, and I would like to thank the Jitsi community and the teams at IndieHosters and YouCloud for their inspiring contributions. The final project is here (password protected), with a working prototype — until we Ĵitsi again!

Final project submitted on 5/3/2021

Update: A video of the award ceremony is available on YouTube

--

--

No responses yet