Skip to content

Blog#

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.

We deployed the same video platform on five clouds and timed it: 5 minutes to 20, and the slow ones are slow for a reason

Mean time to a working deployment, by cloud and topology Mean time to a working deployment, by cloud and topology

"How long does it take to deploy?" sounds like a trivia question until you're the one watching a progress bar, wondering whether it's stuck. So we stopped guessing and measured it.

We built a tool, ov-cloud-tester, that deploys the same self-hosted WebRTC video stack on all five major clouds — AWS, Azure, Google Cloud, Oracle Cloud and DigitalOcean — in three topologies (single node, elastic, and high-availability), tears it down cleanly, and times the whole thing. We ran it many times per cloud and looked at both the averages and every individual run. The headline: standing up a working deployment ranges from about 5 minutes to 20, DigitalOcean is consistently the fastest and Oracle the heaviest — and the why, plus which clouds are actually predictable, turns out to be more interesting than the ranking.

Host Your Own Secure Video Calls at Home: A Private Server for Family and Friends

A secure family video call running on your own home server

We're all used to reaching for a third-party app to call friends and family: Google Meet, Zoom, Microsoft Teams, etc. Almost nobody wants to complicate their life by running their own server, and if you mention "spinning up a WebRTC media server" to an experienced sysadmin, they'll probably put their head in their hands thinking about how complicated it must be.

In reality, it's much easier than you might think. At OpenVidu we've worked hard to make a self-hosted video conferencing service as easy to install and run as possible, and hosting it yourself comes with some genuine advantages. It's completely free, there are no 40-minute timers or participant limits, your guests join straight from a browser with no account and no app, and every call stays on hardware that lives in your own home.

With a tiny computer like a Raspberry Pi, an old laptop or a mini-PC, you can have your own private video conferencing server running in a matter of minutes. This guide walks you through it in three simple steps using OpenVidu Meet.