Flexibility and independence for your video conferences.
Secure video conferencing for those who want to remain digitally confident.
15.04.2025OpenTalk

WebRTC upgrade: OpenTalk switches to LiveKit

Eine Person sitzt auf einem Sofa und hat eine Laptop auf dem Schoß. Im Zentrum des Bildes sieht man den Bildschirm, der eine laufende OpenTalk-Konferenz mit mehreren Teilnehmenden zeigt.

WebRTC (Web Real-Time Communication) is the heart of modern video conferencing – and we also rely on this technology for OpenTalk. In short, WebRTC makes it possible to exchange audio, video and data streams directly between browsers and devices, without any additional plugins or complicated installations. This makes it fast, secure and flexible.

But not all WebRTC solutions are the same! There are various server solutions for integrating the technology into a platform. From the very beginning, we relied on Janus for OpenTalk – a proven solution that gave us a solid start. But as our platform evolved, the question arose: is there a media server technology that would better suit our requirements? One that is even more flexible, modern and scalable?

That's how we came across LiveKit. After extensive testing, it was clear: this is a good fit for OpenTalk. In this article, we explain why we decided to make the switch and how it went.

More flexibility, more features: why we switched to LiveKit

With LiveKit, we are relying on a solution that is actively developed, offers a wide range of functions and has a dedicated community. Regular updates provide bug fixes and new features that are relevant for a modern platform like OpenTalk.

Whether web apps, mobile applications or backend processes – LiveKit is a complete ecosystem for developers and provides us with exactly the building blocks we need:

  • JavaScript/TypeScript SDK: This is how we integrate real-time communication directly into our web application – including video and audio streaming and comprehensive event handling.
  • React components: Ready-made UI elements and hooks make it particularly easy to integrate LiveKit into our React frontend interface.
  • Rust SDK: A great option for high-performance backend processes that require real-time communication.
  • Server APIs: We use these to manage rooms, participants and streams directly from our backend – flexibly, automatically and without detours.
  • Kubernetes support: LiveKit can be seamlessly deployed in Kubernetes environments, making it much easier to scale and manage than other solutions.

Adaptive Streams with Simulcast – Intelligent bandwidth management

In the world of video conferencing, efficient use of bandwidth and optimal video quality are crucial. LiveKit offers two powerful features that address precisely these aspects: simulcast and adaptive streams.

With Simulcast, video streams can be sent in multiple quality levels at the same time. This means that a participant can transmit their video stream in high, medium and low resolution at the same time. This function enables the server to select the appropriate quality level according to the needs and network conditions of the recipients, without the sender having to adjust their stream.

Adaptive Streams dynamically adjust the received video quality based on the size and visibility of the video window, as well as available network resources. For example, if a video window is resized or minimized, LiveKit automatically reduces the received resolution or pauses the stream to save bandwidth. This intelligent adaptation ensures efficient use of resources and improves overall performance, especially in larger conferences.

From idea to implementation: how the switch to LiveKit went

Every big change starts with an idea – and often with an experiment. In the summer of 2024, during one of our quarterly team events, we asked ourselves the question: could LiveKit be the right solution for OpenTalk? With this curiosity, we started a proof of concept in which we integrated LiveKit on a test basis. One of our key requirements was end-to-end encryption (E2EE), which LiveKit already supports.

We had two options:

  • Build a custom solution: possible, but extremely expensive and time-consuming.
  • Use LiveKit: the solution already has a ready-made media encryption concept.

After the first few tests, it was clear: LiveKit works seamlessly in OpenTalk. The decision was made – we would switch. We built LiveKit directly into the app on a test basis and quickly confirmed: Yes, it works! However, the actual migration was no small update, but a comprehensive conversion:

  • We revised 160 files,
  • removed around 7,000 lines of code and
  • about 4,000 lines of new code.

In addition to the actual integration, there was a lot of cleanup to do because LiveKit works differently than our previous solution. Among other things, it comes with a custom signaling system that we had to integrate into our architecture. The state management for participants also differs from our previous solution.

At first, we overlooked some functions, such as muting all participants. But with continuous adjustments and testing, we were able to successfully implement these features before the switchover. Now everything works as it should, and OpenTalk runs smoothly with LiveKit.

What does the switchover mean for OpenTalk server operators?

In short, in most cases you don't have to do anything. If you are using OpenTalk as Community Edition, LiveKit is already fully integrated and preconfigured. The official LiveKit Docker image is automatically included, and the appropriate configuration is already included in the docker-compose.yaml file. The creation of the necessary secrets is also script-controlled – so you don't have to intervene manually. You can find more details in our admin documentation.

For users who have not installed OpenTalk using the official Docker containers but have installed it in a customized way, there are migration instructions with all the necessary steps.

Hosted OpenTalk instance? No worries – for customers who use OpenTalk as “Software as a Service” (SaaS), we already made the switch at the beginning of March. You don't have to worry about a thing.

OpenTalk with LiveKit: A big step forward

The decision in favor of LiveKit has paid off – not only for us as a development team, but above all for you as users. More performance, more flexibility, more convenience: thanks to intelligent features like Adaptive Streams and Simulcast, OpenTalk now runs even more efficiently, especially in large meetings.

Our goal is to provide you with a stable and powerful platform. To stay informed about all updates and new features, follow us on LinkedIn, Mastodon or Bluesky!

More articles