Pergunta

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

  • Application protocol is built over tcp/ip
  • Network library is using asynchronous iocp mechanism
  • Only streaming over LAN is needed
  • No need for packets to go through routers

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:

  • Average frame rate is kept
  • Maximum video frame delay is dependent on network utilization
  • The more data on LAN the higher maximum video frame delay

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

To my questions:

  • What are practical boundaries in lowering that value?
  • Do you know about measurement report available on internet dealing with this?

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

Foi útil?

Solução

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top