Research and Development
Realtime Video: Why Is My Video Stuttering
Most video applications use a jitter buffer to avoid playback issues like stuttering. When it works well, it creates a smooth viewing experience. So, What's the Problem?
27 Jun 2025

Most video applications use a jitter buffer to avoid playback issues like stuttering. The job of the jitter buffer is to ensure that video frames reach the decoder at a consistent rate—typically every 30 ms. When it works well, it creates a smooth viewing experience.
So, What's the Problem?
For real-time applications, the jitter buffer can actually hurt more than it helps. It's essentially wasting valuable time—time we could otherwise use to fix issues like packet loss. In NanoPing, we take a different approach: we move the jitter buffer into the transport protocol. This allows us to maintain the same smooth playout, but with a powerful bonus—we can repair packet loss while the video is waiting in the jitter buffer.
A Real-World Example
In the video below, we stream H.264 video over a network with a 50 ms link latency using GStreamer for both capture and display. The packet loss rate is around 5%, and we’ve set a latency budget of 300 ms. Any video older than 300 ms is discarded. This type of low-latency setup is critical in use cases like teleoperation or safety-critical systems.
Here’s what the video demonstrates:
-
First clip: Raw UDP — shows choppy playback due to packet loss and lack of jitter handling.
-
Second clip: NanoPing without a jitter buffer — better reliability, but less smooth playout.
-
Third clip: NanoPing with the jitter buffer integrated into the transport protocol — smooth and reliable video, even under tough network conditions.
Try It Yourself
Want to see the difference firsthand? Head over to nanoping.com and grab our free trial.
Would you like to develop a custom solution?
We're here to help you with any questions or concerns you may have.
Contact us