It is time for another edition of “Is everyone switching to…“. Cloudflare recently published a blog post about Media over Quic (MoQ) which made a number of statements about WebRTC that require some “clarification”. Let us start with that and look at MoQ and WebTransport after that. An odd understanding of WebRTC The blog post […]
Measuring the response latency of OpenAIs WebRTC-based Realtime API
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 […]
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 […]
End-to-End Encryption in WebRTC… 4 Years Later
We covered End-to-end encryption (E2EE) before, first back in 2020 when Zoom’s claims to do E2EE were demystified (not just by us; they later got fined $85m for this), followed by the quite exciting beta implementation of E2EE in Jitsi using Chromium’s Insertable Streams API. A bit later we had Matrix explain how their approach […]
The Hidden AV1 Gift in Google Meet
Earlier last week a friend at Google reached out to me asking Does Meet do anything weird with scalabilityMode? Apparently, I am the go-to when it comes to Google Meet behaving weirdly :). Well, I do have a decade of history observing Meet’s implementation, so this makes some sense! It turned out that this was […]





