c++delaypacketiocp

Packet Delay Variation (PDV)


I am currently implementing video streaming application where the goal is to utilize as much as possible gigabit ethernet bandwidth

This simplifies many things. Nevertheless, I am experiencing problems with packet delay variation.

It means that a video frame which should arrive for example every 20 ms (1280 x 720p 50Hz video signal) sometimes arrives delayed by tens of milliseconds. More:

For example, when bandwidth usage is 800mbps, PDV is about 45 - 50 ms.

To my questions:

I want to know if there is some subtle error in my application (perhaps excessive locking) or if there is no way to make numbers better with current technology.


Solution

  • For video streaming, I would recommend using UDP instead of TCP, as it has less overhead and packet confirmation is usually not needed, as the retransmited data would already be obsolete.