Teóricamente, una cámara web USB HD que funciona a 15 FPS consume un ancho de banda cercano a 18 MB / s - 1280 (ancho) x 960 (alto) x 3 (canales RGB) x 15 (FPS) - sin compresión. Un controlador USB 2.0 tiene un rendimiento efectivo de 35 MB / s , pudiendo manejar 2 cámaras (lo cual he confirmado en la práctica). Un controlador USB 3.0 tiene una velocidad de transmisión máxima teórica de 625MB / s que es capaz de manejar 34 cámaras (625/18 = 34.72), por conveniencia, supongamos que puede manejar un máximo de 8 cámaras (aún no confirmado). Usando ambos supuestos, es posible estimar que la placa madre P8B75-V puede manejar al menos 50 cámaras web simultáneas:
- 3 ranuras PCIe (una PCIe x4 y dos PCIe x1, excluyendo la PCIe x16 a la tarjeta gráfica): Conviértalas a USB 3.0 usando un adaptador + HUBS USB 3.0 , lo que resulta en 24 cámaras web
- 2 controladores USB 3.0 (auditivos y frontales): HUBS USB 3.0 para lograr 16 cámaras web
- 3 ranuras PCI : Convierta cada una a USB 2.0 usando un adaptador , lo que resulta en 6 cámaras web
- 2 controladores USB 2.0 : 4 cámaras web
Entonces, mi pregunta es:
¿Es esa configuración realmente posible? ¿Alguien ha intentado sobrecargar el sistema con tantas cámaras web USB?
Problemas:
- Es posible que el procesador se sobrecargue. El uso de captura de imágenes sin comprimir puede resolver esto.
- El SO puede tener muchos problemas para manejar tantos dispositivos.
Comentarios:
- El bus de la CPU a dispositivos externos (Quick Path Interconnect (QPI) para Intel e Hyper-transport para AMD) no parece ser un problema, ya que 50MB / s * 18MB / s = 900MB / s. Eso está muy lejos de la velocidad de datos del bus de 25.6GB / s para QPI y 51.2GB / s para Hyper-transport .
- Estoy implementando el software de esta aplicación usando OpenCV que envuelve la captura alrededor de DirectShow .
EDITAR 12/11/12:
Entonces, hice algunas pruebas y hay algunos puntos para aclarar.
La transmisión de imágenes HD a 30 FPS representa un ancho de banda de 106 MB / s (53 MB / s a 15 FPS), mis cálculos estaban completamente equivocados. Esto significa que las cámaras web HD que funcionan con USB 2.0 necesitan comprimir el archivo para no consumir todo el ancho de banda. Entonces, incluso si pudiera conectar 50 cámaras web en una sola PC, probablemente la CPU tendría muchos problemas para descomprimir esta cantidad de datos en tiempo real.
El verdadero problema surge cuando vemos la especificación USB 3.0 :
Como podemos ver en la imagen, el USB 2.0 HUB está completamente separado del USB 3.0 HUB (SuperSpeed), lo que significa que los dispositivos USB 2.0 no pueden usar el ancho de banda SuperSpeed . Esa es una desventaja importante en mi suposición de que podría usar más dispositivos USB 2.0 con un controlador USB 3.0.
Como esta especificación es un poco antigua (aproximadamente 2 años), ¿alguien puede confirmar si hay alguna implementación nueva de la especificación USB 3.0 que comparta el ancho de banda SuperSpeed entre dispositivos USB 2.0?