Skip to content

Blog#

Low Latency Live Streaming: Ingest WHIP into OpenVidu (Part 2)

A browser and OBS Studio pushing video into an OpenVidu Room over WHIP, and a viewer subscribing to it A browser and OBS Studio pushing video into an OpenVidu Room over WHIP, and a viewer subscribing to it

Part 1 of this series argued that if your video has to close a feedback loop with the person watching it, HLS and DASH structurally can't get you there and WebRTC can. That's the theory, and theory is cheap. So let's do the thing itself: take a webcam, push it into a self-hosted OpenVidu Platform Room over WHIP, and watch it come out the other side fast enough to have a conversation through. Then do it again from OBS Studio, which has spoken WHIP natively since version 30 and needs no plugin, no SDK and no code at all.

Low Latency Live Streaming: WebRTC vs. HLS and DASH (Part 1)

A split-screen graphic comparing a near-instant video call with a delayed live broadcast A split-screen graphic comparing a near-instant video call with a delayed live broadcast

When Spain was playing the World Cup, we noticed something annoying. We celebrated each of Spain's scores by shouting "GOOOOOL", 15 seconds before our neighbors saw the goal on their TV. Obviously, we ruined their experience watching the game, so much that they asked us where we were watching it from to avoid the gap. Now picture that same 15-second gap on a live shopping stream where you're typing "does it come in blue?", or in a video call where you keep talking over the other person because their audio hasn't reached you yet. That's the difference between "live" and low latency live streaming.

Debugging WebRTC with an AI agent and Grafana MCP

Debugging WebRTC with an AI agent and Grafana MCP: read-only Grafana, a broken deployment, and an agent that works through the metrics to find each root cause

What if you gave an AI agent nothing but read-only access to your Grafana, pointed it at a WebRTC deployment it had never seen, and asked what was broken? No shell, no source code, no config files, nothing but the dashboards and logs any on-call engineer would stare at. Could it actually find the root cause?

That is the experiment we ran at OpenVidu. We took a real OpenVidu deployment, broke it on purpose in five different ways, and handed a blind Claude Code session a single vague complaint and a link to Grafana. This post walks through what it found, where it shone and where it fell flat, and it ships with a companion repo so you can reproduce every bit of it yourself.

Deploy OpenVidu on Hetzner Cloud in 15 Minutes

OpenVidu servers inside a Hetzner cloud serving a video call

This post is a getting-started guide to OpenVidu on Hetzner Cloud. It gathers in one place all the steps needed to go from an empty Hetzner account to a working OpenVidu deployment in a few minutes: which instance to pick, which ports to open, and the one command that installs everything. It is deliberately shorter than the official self-hosting documentation; the goal here is a running deployment today, not covering every option.

Building an AI agent for transcribing and summarizing audio calls

Header image: a microphone turning into text inside an audio call

With the world being flooded with all kinds of agents, bots, and AI services, let's keep things grounded and code something tangible in a few simple steps. Let's build an AI agent that helps people in an audio call. Our agent will:

  1. Store the full transcript of the meeting in a text file.
  2. Send live captions to everyone in the call.
  3. When someone joins late, send them a private summary of what they missed.

We'll be using OpenVidu as our media server, and LiveKit Agents Python framework to build our agent. These tools handle all the hard parts of real-time audio transport, so we can focus on our agent features.

How DynDevice Built Virtual Classrooms Into Its LMS with OpenVidu

DynDevice and OpenVidu customer success story DynDevice and OpenVidu customer success story

What do you do when your product depends on video meetings that happen somewhere else? For years, the trainers using DynDevice , the corporate eLearning platform built by Mega Italia Media , had to send their learners out of the LMS and into Zoom, Meet, Teams, WebEx or GoToWebinar links to run a live class. It worked — and it fragmented the learning experience every single day.

This post kicks off our series on how engineering teams solve real WebRTC and infrastructure challenges. We interviewed Matteo Resconi, IT & Development Area Manager at Mega Italia Media, about the journey from juggling five external meeting tools to one-click virtual classrooms built into their own platform: what they evaluated, why they didn't build on raw WebRTC, and what changed for their team and their users.

Building a video-enabled CRM with an AI agent and OpenVidu Meet

OpenVidu Meet embedded in an AI-generated CRM — a real meeting with the participants panel open, inside the CRM OpenVidu Meet embedded in an AI-generated CRM — a real meeting with the participants panel open, inside the CRM

What does it take today to go from an empty folder to a working business app with video meetings embedded in it? As it turns out: one AI coding agent, one OpenVidu Meet deployment, and seven prompts.

We recently ran this experiment: build a small CRM — clients, support issues, scheduled meetings — entirely with an AI agent, then ask the agent to integrate OpenVidu Meet so that meetings happen inside the app instead of in an external tool. Every prompt we typed is preserved in the repository, so this post is a faithful, reproducible walkthrough of the whole journey — including the parts where reality pushed back.

Managing Permissions in Video Conferencing Apps: 3 Access Models

Three access models for video conferencing permissions

Everyone benchmarks video conferencing on the things you can see: resolution, latency, how many people fit in a grid. But the failures that actually hurt in production are rarely about a dropped frame — they're about the wrong person joining a room they shouldn't be in, or a private recording ending up somewhere public. Permissions are the invisible half of a video app, and they're the half most teams underestimate until something goes wrong.

OpenVidu 3.8.0 is now available

OpenVidu 3.8.0 brings a major step forward for both OpenVidu Platform and OpenVidu Meet.

On the OpenVidu Platform side, the standout change is a complete mediasoup overhaul: RTX, DTX, AV1/VP9/H264 codecs and SVC are now fully supported, bringing mediasoup on par with Pion in terms of features while delivering a 2x performance boost. This release also tightens TURN security and improves the robustness of deployments across all supported clouds.

On the OpenVidu Meet side, this release introduces real user accounts with role-based access and fine-grained, per-person room permissions, turning the previous "share a link" model into a complete access control system. It also comes with a redesigned application, now fully translated into 10 languages, and a range of improvements to the in-meeting experience.

Continue reading for the complete release notes of both products.