50 USB-Webcams in einem Computer. Ist das wirklich möglich?


15

Theoretisch verbraucht eine USB-HD-Webcam mit 15 FPS eine Bandbreite von 18 MB / s - 1280 (Breite) x 960 (Höhe) x 3 (RGB-Kanäle) x 15 (FPS) - ohne Komprimierung. Ein USB 2.0-Controller hat einen effektiven Durchsatz von 35 MB / s und kann 2 Kameras verarbeiten (was ich in der Praxis bestätigt habe). Ein USB 3.0-Controller hat eine theoretische maximale Übertragungsgeschwindigkeit von 625 MB / s , der 34 Kameras verarbeiten kann (625/18 = 34,72). Angenommen, er kann maximal 8 Kameras verarbeiten (noch nicht bestätigt). Unter Verwendung beider Annahmen kann geschätzt werden, dass das Motherboard P8B75-V mindestens 50 gleichzeitige Webcams verarbeiten kann:

  • 3 PCIe-Steckplätze (ein PCIe x4 und zwei PCIe x1, ausgenommen PCIe x16 für die Grafikkarte): Konvertieren Sie diese mithilfe eines Adapters + USB 3.0-HUBs in USB 3.0 , was 24 Webcams ergibt
  • 2 USB 3.0-Controller (Hören und Front): USB 3.0-Hubs für 16 Webcams
  • 3 PCI-Steckplätze : Konvertieren Sie jeden mit einem Adapter auf USB 2.0 , was zu 6 Webcams führt
  • 2 USB 2.0 Controller : 4 Webcams

Meine Frage lautet also:

Ist diese Konfiguration wirklich möglich? Hat jemand versucht, das System mit so vielen USB-Webcams zu überlasten?

Probleme:

  • Möglicherweise ist der Prozessor überlastet. Die Verwendung der unkomprimierten Bilderfassung kann dieses Problem beheben.
  • Der SO kann mit so vielen Geräten Probleme haben.

Kommentare:

  • Der CPU-Bus zu externen Geräten - Quick Path Interconnect (QPI) für Intel und Hyper-Transport für AMD - stellt kein Problem dar, da 50 MB / s * 18 MB / s = 900 MB / s. Das ist weit entfernt von der Busdatenrate von 25,6 GB / s für QPI und 51,2 GB / s für Hyper-Transport .
  • Ich implementiere die Software dieser Anwendung mit OpenCV , das das Capture in DirectShow umschließt .

EDIT 12/11/12:

Also habe ich einige Tests durchgeführt und es gibt einige Punkte zu klären.

Das Streamen von HD-Bildern mit 30 FPS entspricht einer Bandbreite von 106 MB / s (53 MB / s bei 15 FPS), meine Mathematik war völlig falsch. Dies bedeutet, dass die HD-Webcams, die mit USB 2.0 arbeiten, die Datei komprimieren müssen, um nicht die gesamte Bandbreite zu verbrauchen. Selbst wenn ich in der Lage wäre, 50 Webcams in einem einzigen PC zu verbinden, würde die CPU wahrscheinlich große Probleme haben, diese Datenmenge in Echtzeit zu dekomprimieren.

Das eigentliche Problem tritt auf, wenn wir die USB 3.0-Spezifikation sehen :

USB 3.0 Spezifikation

Wie wir auf dem Bild sehen können, ist der USB 2.0 HUB vollständig vom USB 3.0 HUB (SuperSpeed) getrennt, was bedeutet, dass USB 2.0-Geräte die SuperSpeed-Bandbreite nicht nutzen können . Das ist ein großer Nachteil, wenn ich davon ausgehe, dass ich mehr USB 2.0-Geräte mit einem USB 3.0-Controller verwenden könnte.

Kann jemand bestätigen, ob es eine neue Implementierung der USB 3.0-Spezifikation gibt, die die SuperSpeed-Bandbreite zwischen USB 2.0-Geräten teilt, da diese Spezifikation ein bisschen alt ist (ca. 2 Jahre)?


4
Wofür brauchst du 50 Webcams?
Dennis

1
Wie werden die Webcams mit Strom versorgt? Über das eigene Netzteil oder über den USB-Bus?
Hennes

2
Die Antwort: Nicht praktisch. Aber unglaublich gut klingend.
Nerdwaller

5
Ich habe 17 Kameras für ein Opencv 2-Projekt (Python-Wrapper). Ich war in der Lage, die Camshift-HSV-Erkennung und die Flann-Objekterkennung auf annehmbare Weise gleichzeitig zu aktivieren, jedoch in Echtzeit, und konnte die Ergebnisse nicht anzeigen.
Snesticle

1
Ich entschuldige mich, ich habe darauf reagiert, dass es "praktisch" ist (der Titel). Praktisch zu sein oder auf andere Weise korreliert nicht mit Möglichkeit / Unmöglichkeit. Um dies zu erreichen, müssen Sie wahrscheinlich die Kamera über eine andere Stromquelle mit Strom versorgen und nur die Datenfeeds im Computer haben (mit Computer meine ich USB3.0-Hubs).
Nerdwaller

Antworten:


6

An diesem Design eines zusätzlichen USB-2-Hub-Geräts in USB-3 wird sich nichts ändern, da nur so eine angemessene Abwärtskompatibilität gewährleistet werden kann. Wenn Sie USB-3-Geschwindigkeit verwenden möchten, müssen Sie USB-3-Webcams verwenden.

Lassen Sie mich Ihnen ein Beispiel zur weiteren Erläuterung geben. Sagen wir:

Ok, wir bauen eine Hochgeschwindigkeitsbahn. Da es sich bei der Eisenbahn um eine Hochgeschwindigkeitsstrecke handelt, können wir mehr langsame Züge darauf setzen als auf unserer langsamen Eisenbahn. Hurra!

Technisch ist es dasselbe für USB. Nur weil Sie mit der Bahn schneller fahren können, bedeutet dies nicht, dass für langsame Züge (USB2) mehr Platz (Bandbreite) zur Verfügung steht. Die langsamen Züge fahren langsam auf der Überholspur, sodass die schnellen Züge (USB3) die Eisenbahn nicht mit voller Geschwindigkeit nutzen können. Um dem entgegenzuwirken, beschlossen einige Ingenieure, die langsame Eisenbahn nicht durch die schnellere zu ersetzen, sondern direkt daneben zu bauen. Mit diesem Aufbau können die schnellen Züge auf der schnellen und die langsamen auf der langsamen Bahn hohe Geschwindigkeiten fahren. Gleiches gilt für die Abwärtskompatibilität mit USB3.


Ich wollte gerade meine eigene Frage beantworten, aber Ihre Analogie ist wirklich gut. Ich bearbeite meine Frage (wenn ich Zeit habe), um alle Informationen zusammenzustellen, die ich während meiner Tests und Recherchen erhalten habe, um das Thema für weitere Recherchen zu klären. Die Antwort auf meine Frage ist einfach: Es ist nicht möglich, 50 Webcams an einen einzelnen Computer anzuschließen. Es gibt noch keine 3.0 Webcams auf dem Markt, leider gibt es nur Industriekameras zum Verkauf (sehr teuer).
Ian Medeiros

Ein besserer Weg, um eine gute Abwärtskompatibilität zu gewährleisten, ist der Bau eines Übersetzungs-Hubs - eines für die Protokollkonvertierung programmierten Mikrocontrollers, der an USB2-Geräte auf der Unterseite und an einen USB3-Controller auf der Oberseite angeschlossen ist. Dies wäre, als würden Sie Ihre langsamen Züge in den Schnellzug verladen (wenn Autos / Container in Züge, Fähren, Flugzeuge usw. Verladen werden)
David MW Powers

0

Die Eisenbahnanalogie ist fehlerhaft, obwohl das Problem für viele Knotenpunkte bestehen bleibt. Es ist möglich, 10 USB-2-Geräte auf USB-3 zu aktualisieren, dies hängt jedoch vom Hub ab. Dies war auch für USB-1-Geräte in USB-2-Hubs so. Die meisten Hubs verfügen über eine Verknüpfung, indem nur ein Controller bereitgestellt wird, der einem bestimmten Standard entspricht. Einige verfügen jedoch über separate Controller für jeden Port, sodass jeder beliebige Standard verwendet werden kann, ohne dass die anderen davon betroffen sind. Diese sind teurer. Eine Zwischenlösung ist ein Hub, der (für ein kommerzielles Produkt) drei USB-3-Anschlüsse und vier USB-4-Anschlüsse bietet. Der Standard ermöglicht speziell den gleichzeitigen Betrieb von USB-3- und USB-2-Geräten, wobei die USB-3-Geräte den Vorteil der zusätzlichen Bandbreite haben.

Ich verwende seit Jahren zwei Logitech-Webcams auf USB-2 mit einer angemessenen Geschwindigkeit (wie ich mich an 15 fps x 640 x 480 erinnere) und verwende mehrere billige CPUs für die Verarbeitung und das Ethernet, um 6 Kameras und andere USB-Geräte zusammenzufassen. Mit USB-3 kann ich hoffentlich eine Reihe der oben genannten Hubs verwenden, um dies mit zwei USB-2-Kameras (oder anderen Geräten) pro 3 + 4-Hub zu erreichen, vorausgesetzt, ich verwende einen Hub-Controller, der zwischen USB-3 und USB konvertiert -2 und nicht nur als separater USB-2-Hub für die USB-2-Geräte.

USB3 - Kameras sind verfügbar, aber teuer und unnötig - es ist nur erforderlich, eine USB2 - Kamera auf USB3 zu aktualisieren, um sie verwenden zu können, aber ich kann keinen Hub oder Konverter finden, der dies behauptet (es gab / gibt analoge Geräte für USB1 bis USB2).


Haben Sie jemals einen Hub oder Konverter gefunden, der die Leistung verbessern könnte?
g491

0

Wenn einige von Ihnen 8 oder 12 Webcams auf einem Desktop verwenden möchten, möchten Sie diese Webcams sicher als Überwachungssystem verwenden. Viele, wenn nicht alle hier diskutierten Lösungen habe ich bereits ausprobiert, dh mit USB 2.0 Vice 1.1, mit powered USB Port Hub, mit PCI USB ... glauben Sie mir, Sie könnten nur einen Desktop laden (ich habe keinen i7 System) bis zu 4 Webcams, selbst dann müssten Sie durch Ausprobieren mit den Ports.

LÖSUNG? Ich habe 3 Desktops verwendet, die heutzutage billig genug sind (Sie benötigen keinen Monitor / Maus / Tastatur), außer wenn Sie das System laden. Dann können Sie remote auf jeweils 4 Webcams zugreifen (ich verwende 3 Desktops für insgesamt 12 Webcams). . Ich überwache sie remote auf einem Computer mit externen Monitoren.

SOFTWARE: Ich empfehle IP CAMERA VIEWER (kostenlos) oder den PRO, wenn Sie möchten, und den TEAMVIEWER - Kostenlos für den persönlichen Gebrauch, aber Sie müssen für den geschäftlichen Gebrauch bezahlen. BEIDE PROGRAMME SIND FANTASTISCH. Sparen Sie sich Zeit bei der Recherche. Diese Programme sind ausgereift und zeigen sich im Design.

WAS KOMMT ALS NÄCHSTES? Auch wenn Sie langsam im Internet sind, verzeihen die Kameras die Monitore. VORTEIL DER VERWENDUNG VON 3 DESKTOPS? Wie jeder weiß, können Sie mit Ihrem USB-Kabel bis zu 5 Meter und mit einem USB-HUB, wenn Sie Glück haben, bis zu 8 Meter erreichen, wo Ihre Kameras sich an 3 verschiedenen Orten befinden müssen.

IP-CCTV-KAMERAS - wer SEHR SEHR SEHR LANGE KABEL verwenden kann, kann BNC-USB-ADAPTER MIT EINGEBAUTER GRAFIKKARTE verwenden. Ich habe eine 4, eine 8 und eine 16 CCTV-KAMERAS für 1 USB bestellt, es gibt hier noch keine. Ich werde dich wissen lassen, wenn sie kommen ...

Ich war gezwungen, Webcams als Router des Internetdienstanbieters zu verwenden, auf dem ich keine Portweiterleitung zulasse oder nicht zulasse ... also keine IP-ADRESSIERUNG für mich.

Viel Glück Jungs / Mädels ...


Eigentlich hatte ich 8 Kameras und einen Kinect auf der gleichen Türbox, aber in der Praxis werden nur 4 Kameras (plus Kinect) gleichzeitig für die kontinuierliche Aufnahme verwendet - alle können für Schnappschüsse verwendet werden. Dies dient nicht der Überwachung, sondern der AudioVisual Corpus-Aufzeichnung und der intelligenten Raum- / Roboterforschung.
David MW Powers
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.