50 cámaras web USB en una sola computadora. ¿Es eso realmente posible?

15

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 :

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?

Ian Medeiros
fuente
44
¿Para qué necesitas 50 webcams?
Dennis
1
¿Cómo funcionan las cámaras web? ¿Por su propia fuente de alimentación o obtienen su energía del bus USB?
Hennes
2
La respuesta: no es práctica. Pero suena increíblemente increíble.
nerdwaller el
55
Tengo 17 cámaras para trabajar en un proyecto Opencv 2 (envoltorio de Python). Pude hacer que la detección de hsv por levas y la detección de objetos de flanco funcionaran decentemente en todo simultáneamente, pero en nada que se acercara en tiempo real y no pude mostrar los resultados.
Snesticle
1
Pido disculpas, respondía que era "práctico" (el título). Ser práctico o no está relacionado con la posibilidad / imposibilidad. Sin embargo, para lograrlo, probablemente necesitará alimentar la cámara desde otra cosa y solo tener los datos en la computadora (por computadora, me refiero a los concentradores USB3.0).
nerdwaller el

Respuestas:

6

Nunca habrá un cambio en este diseño de un dispositivo USB-2-Hub adicional dentro de USB-3 porque es la única forma de proporcionar una compatibilidad descendente razonable. Si desea usar USB-3 Speed ​​necesita usar cámaras web USB-3.

Déjame darte un ejemplo para una mayor explicación. Digamos:

Ok, construimos un ferrocarril de alta velocidad. Debido a que el ferrocarril es de alta velocidad, podemos ponerle trenes más lentos que en nuestro ferrocarril lento. ¡Hurra!

Técnicamente es lo mismo para USB. El hecho de que pueda conducir más rápido en el ferrocarril no significa que haya más espacio (ancho de banda) para trenes lentos (USB2). Los trenes lentos conducirán despacio en la vía rápida, lo que hace imposible que los trenes rápidos (USB3) utilicen el ferrocarril a toda velocidad. Para lidiar con esto, algunos ingenieros decidieron no reemplazar el ferrocarril lento por el más rápido, sino construirlo justo al lado. Con esta configuración, es posible que los trenes rápidos conduzcan a alta velocidad en el ferrocarril rápido y los lentos en el lento. Lo mismo para la compatibilidad con USB3 hacia abajo.

Mose
fuente
Estaba a punto de responder mi propia pregunta, pero tu analogía es realmente buena. Editaré mi pregunta (cuando tenga tiempo) para reunir toda la información que obtuve durante mis pruebas e investigaciones para aclarar el tema para futuras investigaciones. Entonces, la respuesta a mi pregunta es simple: no es posible conectar 50 cámaras web en una sola computadora. Todavía no hay cámaras web 3.0 en el mercado, solo hay cámaras industriales en venta (muy caras), lamentablemente.
Ian Medeiros
En realidad, una mejor manera de proporcionar una buena compatibilidad con versiones anteriores es crear un centro de traducción: un microcontrolador programado para realizar la conversión del protocolo, conectado a dispositivos USB2 en la parte inferior y un controlador USB3 en la parte superior. Esto sería como cargar sus trenes lentos en el tren rápido (como carros / contenedores se cargan en trenes, transbordadores, aviones, etc.)
David MW Powers
0

La analogía ferroviaria es defectuosa, aunque el problema persiste para muchos centros. Es posible tener 10 dispositivos USB-2 actualizados a USB-3, pero eso depende del concentrador. Fue lo mismo para los dispositivos USB-1 en los concentradores USB-2. La mayoría de los concentradores atajan al proporcionar un solo controlador que es un estándar específico, pero algunos proporcionan controladores separados para cada puerto, por lo que cualquiera puede ser cualquier estándar sin afectar a los demás; estos son más caros. Una solución intermedia es un concentrador que proporciona (para un producto comercial) tres puertos USB-3 y cuatro puertos USB-4. El estándar específicamente permite que los dispositivos USB-3 y USB-2 funcionen simultáneamente, y los dispositivos USB-3 tienen la ventaja del ancho de banda adicional.

He estado ejecutando dos cámaras web Logitech en USB-2 durante años a una velocidad adecuada (por ejemplo, recuerdo 15 fps x 640x480), y utilizando múltiples CPU baratas para procesar y ethernet para agregar 6 cámaras más otros dispositivos USB. Con USB-3, espero poder usar una conexión en cadena de los hubs anteriores para lograr esto, con dos cámaras USB-2 (u otros dispositivos) por hub 3 + 4, suponiendo que use un controlador de hub que convierta entre USB-3 y USB -2 en lugar de uno que solo actúa como un hub USB-2 separado para los dispositivos USB-2.

Las cámaras USB3 están disponibles pero son caras e innecesarias: solo es necesario actualizar una cámara USB2 a USB3 para poder usarlas, pero no puedo encontrar un concentrador o convertidor que afirme hacer esto (había / hay dispositivos análogos para USB1 a USB2).

David MW Powers
fuente
¿Alguna vez encontró un concentrador o convertidor que pudiera actualizarse?
g491
0

Si algunos de ustedes desean usar 8 o 12 cámaras web en un escritorio, estoy seguro de que les gustaría usar estas cámaras web como un sistema de vigilancia. Muchas, si no todas las soluciones discutidas aquí, ya las he probado, es decir, usar USB 2.0 vice 1.1, usar un concentrador de puerto USB con alimentación, usar un usb PCI ... créanme, solo podrían cargar una computadora de escritorio (no tengo un i7 sistema) hasta 4 cámaras web, incluso entonces tendría que pasar por prueba y error con los puertos.

¿SOLUCIÓN? Usé 3 computadoras de escritorio, lo suficientemente baratas hoy en día (no necesita monitor / mouse / teclados), excepto cuando cargué el sistema, entonces podía acceder de forma remota a las 4 cámaras web cada una (estoy usando 3 computadoras de escritorio para un total de 12 cámaras web) . Los controlo remotamente en una computadora con monitores externos.

SOFTWARE: Recomiendo el VISOR DE CÁMARA IP (gratis) o el PRO si lo desea, y el TEAMVIEWER - Gratis para uso personal, pero debe pagar por el uso comercial. AMBOS DE ESTOS PROGRAMAS SON IMPRESIONANTES. Ahorre tiempo investigando ... Estos programas son maduros y se nota en el diseño.

¿LO QUE SIGUE? Incluso si la velocidad de Internet es lenta, las cámaras y los monitores son indulgentes. ¿VENTAJA DE USAR 3 ESCRITORIOS? Podría acercarse a donde necesita que sus cámaras estén en 3 ubicaciones diferentes, como todos saben, solo podría tener hasta 5 metros con su cable USB y si tiene suerte, como yo, hasta 8, con un HUB alimentado por USB.

CÁMARAS DE CCTV IP: quienes pueden usar CABLES MUY MUY LARGOS se pueden usar con ADAPTADORES BNC a USB CON TARJETA GRÁFICA INTEGRADA. Pedí un 4, un 8 y un 16 cámaras de CCTV para 1 USB, todavía no están aquí. Te avisaré cuando lleguen ...

Me vi obligado a usar cámaras web como el enrutador de los proveedores de servicios de Internet donde estoy no permite o no puede acceder al reenvío de puertos ... por lo que no hay DIRECCIÓN DE IP para mí.

BUENA SUERTE CHICOS / GALS ...

Antonio M Alonzo Sr.
fuente
De hecho, he tenido 8 cámaras y un Kinect en la misma torre grunty, pero en la práctica, solo uso 4 de las cámaras (más el Kinect) a la vez para la grabación continua; todas se pueden usar para instantáneas. Esto no es para vigilancia sino para grabación de AudioVisual Corpus e investigación inteligente de sala / robot.
David MW Powers