Interactive Live Streaming

Live streaming is popular these days. The 2020 pandemic forced us to move our workshops, conferences, courses, webinars, and town halls online, and we did so with great success. However, for many broadcasters and audiences, live streams present one major drawback. They lack the audience engagement and sense of community that their real-life counterparts naturally enabled. In this article, we’ll show you how you can overcome this challenge and engage your audience with an interactive live stream.

Why it matters: An interactive live stream is a web-based live video event in which the viewer can influence, choose, or contribute to the content of the live stream. This live stream can be in the form of a virtual event, town hall, or webinar. The idea is to keep your audience leaning forward with opportunities to interact, such as live chat, polls and quizzes, and interactive viewing ways. The success of a live stream depends on how your attendees engage with you, your brand, your product, and each other. Interactive live streams help keep your attendees active and engaged.

Details: Interactive elements enabled through the Visaic Platform

Visaic offers a platform for content owners, brands and creators to distribute and monetize their content. Along with capabilities such as ingest, transcode, distribute, payments, and OTT apps; Visaic offers Interactivity modules such as -

Live Chat - Visaic enables text chat and emojis during a live event. This feature allows viewers to interact with other attendees as well as the show host.

Polling - The polling feature for live events allows the creation of single or multiple choice polling questions. The poll can be launched during the live event to gather the responses from attendees and can later download a report of polling after the meeting

Quizzes and Games - Visaic powers interactive quizzes and games that enable engagement with fans; data from responses to the game can be used to populate leaderboards and gamification tools.

Breakout Sessions (coming soon) - Breakout sessions allows the presenter to split a 1-to-many live stream to multiple group interactive sessions.

WebRTC technology used in breakout sessions

A popular use case while conducting live streaming is offering breakout sessions for groups to interact. In a breakout session, a smaller group of participants discuss and debate a topic in hand. As an example, think about a corporate sales presentation, where an executive introduces the products of the company to a large sales team and later opens up breakout rooms with individual product managers for product demonstrations and deeper discussions with a more focussed group.

As the engineering team sought out to implement breakout sessions, the following requirements guided the teams search of buy vs build decision -

  1. Join in 1-click - Allows anyone to join a room without downloads or guest registrations (optional)

  2. Custom branding - Add custom backgrounds and logos to tailor the meetings to your brand

  3. Simple links for meeting rooms - Sharing the same custom link makes it easy to remember and join

  4. Ability to spotlight speakers - Spotlight puts a user as the primary active speaker for all participants in the meeting.

  5. Secure cloud recording - Securely record meetings, edit them and catalog the meetings.

  6. Ability to raise hands - Allows participants to virtually raise their hands.

  7. Ability to stream videos to a breakout session - Allows the meeting host to stream a video at high quality to all the attendees.

To satisfy these business requirements, Visaic turned to a platform called Jitsi. Jitsi uses WebRTC to create and manage meetings and consists of the following components:

  • Jitsi Meet - WebRTC compatible JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences. Build upon React and React Native

  • Jitsi Videobridge (jvb) - WebRTC compatible server designed to route video streams amongst participants in a conference

  • Jitsi Conference Focus (jicofo) - server-side focus component used in Jitsi Meet conferences that manages media sessions between each of the participants and the videobridge

  • Jitsi Broadcasting Infrastructure (jibri) - set of tools for recording and/or streaming a Jitsi Meet conference that works by launching a Chrome instance rendered in a virtual framebuffer and capturing and encoding the output with ffmpeg

Visaic opted for a self-hosting solution on Microsoft Azure and installed Jitsi by following the instructions on Jitsi Manual Setup. The docker approach did not work for our team because of incompatibilities between Docker Compose and the Azure environment. The usage model follows the brick-and-mortar analogy of conference rooms - Visaic offers APIs to create brandable conference rooms that customers of our Platform can use to foster interactivity.

We used an Ubuntu Linux and a F8sV2 VM, our current deployment architecture has ngnix, jicofo, the prosody based JVB on the same server and the team is working on a scalable architecture of having JVB on scale sets according to the picture below.

Next Steps: Visaic is excited to enable a new use case for interactivity in our platform and also to join the Jitsi community, our goal is to contribute to this community and extend Jitsi use cases to increase interactivity and engagement.