Teoricamente una webcam USB HD che funziona a 15 FPS consuma una larghezza di banda vicina a 18 MB / s - 1280 (larghezza) x 960 (altezza) x 3 (canali RGB) x 15 (FPS) - senza compressione. Un controller USB 2.0 ha un throughput effettivo di 35 MB / s , essendo in grado di gestire 2 telecamere (che ho confermato in pratica). Un controller USB 3.0 ha una velocità di trasmissione massima teorica di 625 MB / s in grado di gestire 34 telecamere (625/18 = 34,72), per comodità, supponiamo che sia in grado di gestire un massimo di 8 telecamere (non ancora confermato). Utilizzando entrambi i presupposti, è possibile stimare che la scheda madre P8B75-V può gestire almeno 50 webcam simultanee:
- 3 slot PCIe (uno PCIe x4 e due PCIe x1, escluso il PCIe x16 sulla scheda grafica): convertili in USB 3.0 usando un adattatore + USB 3.0 HUBS , ottenendo 24 webcam
- 2 controller USB 3.0 (ascolta e fronte): HUB USB 3.0 per realizzare 16 webcam
- 3 slot PCI : converti ciascuno in USB 2.0 usando un adattatore , ottenendo 6 webcam
- 2 controller USB 2.0 : 4 webcam
Quindi, la mia domanda è:
Questa configurazione è davvero possibile? Qualcuno ha provato a sovraccaricare il sistema con così tante webcam USB?
I problemi:
- È possibile che il processore venga sovraccaricato. L'uso della cattura di immagini non compresse può risolvere questo problema.
- La SO può avere molti problemi a gestire così tanti dispositivi.
Comentaries:
- Il bus CPU per i dispositivi esterni - Quick Path Interconnect (QPI) per Intel e Hyper-transport per AMD - non sembra essere un problema, poiché 50 MB / s * 18 MB / s = 900 MB / s. È davvero lontano dalla velocità dati del bus di 25,6 GB / s per QPI e 51,2 GB / s per Hyper-transport .
- Sto implementando il software di questa applicazione usando OpenCV che avvolge l'acquisizione attorno a DirectShow .
MODIFICA 12/11/12:
Quindi, ho fatto alcuni test e ci sono alcuni punti da chiarire.
Lo streaming di immagini HD a 30 FPS rappresenta una larghezza di banda di 106 MB / s (53 MB / s a 15 FPS), la mia matematica era completamente sbagliata. Ciò significa che le webcam HD che funzionano con USB 2.0 devono comprimere il file per non consumare tutta la larghezza di banda. Quindi, anche se fossi in grado di collegare 50 webcam in un singolo PC, probabilmente la CPU avrebbe molti problemi a decomprimere questa quantità di dati in tempo reale.
Il vero problema si presenta quando vediamo le specifiche USB 3.0 :
Come possiamo vedere nell'immagine, l'HUB USB 2.0 è completamente separato dall'HUB USB 3.0 (SuperSpeed), il che significa che i dispositivi USB 2.0 non possono usare la larghezza di banda SuperSpeed . Questo è un grosso svantaggio del fatto che potrei usare più dispositivi USB 2.0 con un controller USB 3.0.
Dato che questa specifica è piuttosto vecchia (circa 2 anni), qualcuno può confermare se c'è qualche nuova implementazione della specifica USB 3.0 che condivide la larghezza di banda SuperSpeed tra i dispositivi USB 2.0?