WebRTC publisher JitterBuffer has been redesigned for smoother playback #2112
Replies: 2 comments 1 reply
|
What is the performance difference, for the server? Will it use much more CPU with the jitterbuffer enabled? |
|
More questions, as I consider deploying this -
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The WebRTC publisher's JitterBuffer has been redesigned. The new implementation reshapes bursty frame delivery into evenly spaced output, so any timing variance from upstream is absorbed before it reaches the player.
You can test it on the latest master branch.
When you'll see a difference
If your encoder produces frames at a perfectly even cadence and the network has minimal jitter, the difference is small or invisible. The redesign matters in real-world conditions where any of these applies:
In those environments, playback runs at a more consistent speed.
How to enable
Add
<JitterBuffer>true</JitterBuffer>under your WebRTC publisher configuration:It is off by default. The setting is per application, so you can turn it on only for the apps where you want the smoothing behavior.
If you already have
<JitterBuffer>true</JitterBuffer>from a previous OME version, no config change is needed. Your stream automatically gets the new behavior on master.What about latency?
The JitterBuffer holds each frame briefly to align its output time, so a small amount of latency is added. In a healthy environment where upstream jitter is already low, the added latency is small enough to be unnoticeable. The buffer only grows when the source is genuinely bursty, and shrinks back as soon as conditions calm down. There are no per-environment knobs to set; the buffer adapts automatically.
Manual
https://docs.ovenmediaengine.com/dev/streaming/webrtc-publishing#publisher
All reactions