Domanda

Attualmente sto implementando l'applicazione di streaming video in cui l'obiettivo è quello di utilizzare il più possibile larghezza di banda Gigabit Ethernet

  • Il protocollo dell'applicazione è creato su TCP/IP
  • La libreria di rete utilizza il meccanismo IOCP asincrono
  • È necessario solo lo streaming su LAN
  • Non c'è bisogno che i pacchetti passino attraverso i router

Questo semplifica molte cose. Tuttavia sto riscontrando problemi con la variazione di ritardo dei pacchetti.

Significa che una cornice video che dovrebbe arrivare ad esempio ogni 20 ms (segnale video da 50Hz 1280 x 720p) a volte arriva ritardato da decine di millisecondi. Di più:

  • Viene mantenuta la frequenza media dei frame
  • Il ritardo del frame video massimo dipende dall'utilizzo della rete
  • Più dati su LAN, maggiore è il ritardo del frame video massimo

Ad esempio, quando l'utilizzo della larghezza di banda è di 800 Mbps, il PDV è Sbout 45 - 50 ms.

Alle mie domande:

  • Quali sono i confini pratici nel ridurre quel valore?
  • Conosci il rapporto di misurazione disponibile su Internet che si tratta di questo?

Voglio sapere se c'è qualche sottile errore nella mia applicazione (forse bloccaggio eccessivo) o non c'è modo di migliorare i numeri con la tecnologia attuale.

È stato utile?

Soluzione

Per lo streaming video, consiglierei di utilizzare UDP anziché TCP, poiché ha meno la conferma del pacchetto e di solito non è necessaria, poiché i dati ritrasmiti sarebbero già obsoleti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top