As Chad mentioned in his post last week, we have been diving into what OpenAI is doing with WebRTC. Over the last months, we actually did a full teardown and compared OpenAI’s Realtime API to what powers chatgpt.com. What intrigued us most was how to measure response latency. One of the key metrics for any […]
Guide
The Unofficial Guide to OpenAI’s (Beta) Realtime WebRTC API
EDITOR NOTE: OpenAI release the GA version of the Realtime API with WebRTC. This post covers the Beta version-only. The GA version is fully backward compatible and everything here is still accurate – just don’t mix approaches. I will have an gpt-realtime GA version update / version soon! OpenAI using WebRTC in its Realtime API […]
Capture & Replay WebRTC video streams for debugging – video_replay 2025 update
Debugging WebRTC media issues, especially video, often requires access to the unencrypted RTP payloads. We talked about this back in 2017 already and had a great blog post on using the libWebRTC “video_replay” tool. While that post has aged remarkably well, video_replay has improved significantly, in particular since it is now possible to create the […]
Power-up getStats for Client Monitoring
WebRTC’s peer connection includes a getStats method that provides a variety of low-level statistics. Basic apps don’t really need to worry about these stats but many more advanced WebRTC apps use getStats for passive monitoring and even to make active changes. Extracting meaning from the getStats data is not all that straightforward. Luckily return author […]
All the ways to send a video file over WebRTC
I am working on a personal Chrome Extension project where I need a way to convert a video file – like your standard mp4 – into a media stream, all within the browser. Adding a file as a src to a Video Element is easy enough. How hard could it be to convert a video […]





