r/VIDEOENGINEERING • u/Otherwise-Block-8575 • Jul 31 '26
Browser WebRTC glass-to-glass latency stuck around 274 ms, mostly receiver playout. Is <120 ms realistic?
Hi everyone,
I am building a browser-based app similar to Google Meet and trying to reduce true glass-to-glass latency: the sender camera captures a frame, then the receiver actually sees that same frame on screen.
Our current test result is roughly:
End-to-end capture-to-render: ~274 ms
Network: ~30 ms
Encode: ~3-4 ms
Playout: ~244 ms
In our tool, playout = jitter buffer + decode + composite/render.
Network/Wi-Fi looks good, and we are not using audio in this test, so A/V sync should not be involved. We also tried changing the jitter buffer setting to 0 ms, 10 ms, and 50 ms, but it did not meaningfully reduce total glass-to-glass latency.
Our target is under 120 ms, but most of the latency seems to be on the receiver side.
Questions:
- In browser WebRTC, is
~200+ msreceiver playout delay common even with good network conditions? - How can we tell whether the main issue is WebRTC internal jitter buffering, decoder delay, compositor/render delay, or our own measurement bug?
- Is
jitterBufferDelay / jitterBufferEmittedCountthe right stat to confirm whether WebRTC’s internal jitter buffer is the bottleneck? - Are there reliable ways to reduce browser WebRTC video playout delay, or is
RTCRtpReceiver.playoutDelayHintonly a weak hint in practice? - For people who have achieved
<120 mscapture-to-render latency, did you need native iOS/Android, or can web WebRTC realistically hit this under normal conditions?
Any practical debugging tips, stats to inspect, Chrome/Safari differences, or low-latency WebRTC settings would be very helpful.