Adaptive bitrate streaming for real-time avatars

·

We shipped adaptive bitrate streaming for Anam avatars. When network conditions drop, the stream adjusts quality in real time to keep video smooth rather than freezing. When bandwidth recovers, quality scales back up. It works automatically with no changes to your integration.

This matters most for users on mobile networks, VPNs, or any connection with variable bandwidth. The kind of environments where interactive avatar deployments actually run, as opposed to the stable office Wi-Fi you test on.

What it looks like

For most users on stable connections, you won't notice anything has changed. The stream runs as it always has.

For users on constrained connections, the difference is significant. Before this change, a bandwidth drop meant frames dropping or the stream stuttering. The avatar would visibly struggle. Now the stream degrades gracefully: quality reduces, the conversation stays smooth, and quality climbs back when the connection allows it.

The use cases where this shows up most: mobile deployments (sales tools, healthcare intake apps, anything accessed on a phone on a cellular connection), enterprise environments behind VPNs, and geographies where connection quality varies more than it does in Western Europe or the US. If you have users in those contexts, this is a meaningful change in how reliably the avatar experience holds up.

What you need to do

Nothing.
The adaptation is handled by the streaming infrastructure. Your integration code is unchanged. If you're using the Pipecat plugin, the Python SDK or the JavaScript SDK, you get this automatically.

The only thing worth knowing: if you're monitoring session quality metrics and you see bitrate variance in your logs, that's the adaptation working. It's not an error condition. If bitrate drops below a certain threshold we'll also send an event to the client.

What's still a real constraint

Adaptive bitrate helps significantly with variable bandwidth, but it can't compensate for connections that are too degraded to support real-time video at all. If a user's connection drops below the floor required for any viable stream quality, the session will still fail. ABR gives you more graceful handling across a much wider range of conditions. It doesn't eliminate the hard floor.

We're also still working on the lower end of the quality spectrum: how much the model can reduce quality before it meaningfully degrades the avatar experience, and how fast the recovery can happen without introducing visual artifacts. There's more to do here.

But for the range of real-world network conditions most users are actually on, this is a material improvement in reliability. It's the kind of thing that doesn't show up in demos but makes a real difference in production.

Never miss a post

Get new blog entries delivered straight to your inbox.

Never miss a post

Get new blog entries delivered straight to your inbox.

In this article

Table of Content