50 kamer USB na jednym komputerze. Czy to naprawdę możliwe?

15

Teoretycznie kamera internetowa USB HD pracująca z prędkością 15 klatek na sekundę zużywa przepustowość zbliżoną do 18 MB / s - 1280 (szerokość) x 960 (wysokość) x 3 (kanały RGB) x 15 (FPS) - bez kompresji. Kontroler USB 2.0 ma efektywną przepustowość 35 MB / s , będąc w stanie obsłużyć 2 kamery (co potwierdziłem w praktyce). Kontroler USB 3.0 ma teoretyczną maksymalną prędkość transmisji 625 MB / s, która jest w stanie obsłużyć 34 kamery (625/18 = 34,72), dla wygody załóżmy, że może on obsłużyć maksymalnie 8 kamer (jeszcze nie potwierdzone). Korzystając z obu założeń, można oszacować, że płyta główna P8B75-V może obsługiwać co najmniej 50 jednoczesnych kamer internetowych:

  • 3 gniazda PCIe (jedno PCIe x4 i dwa PCIe x1, z wyjątkiem PCIe x16 na kartę graficzną): Konwertuj je na USB 3.0 za pomocą adaptera + HUB USB 3.0 , co daje 24 kamery internetowe
  • 2 kontrolery USB 3.0 (usłyszeć i z przodu): HUBY USB 3.0 do 16 kamer internetowych
  • 3 gniazda PCI : Konwertuj każdy na USB 2.0 za pomocą adaptera , co daje 6 kamer internetowych
  • 2 kontrolery USB 2.0 : 4 kamery internetowe

Moje pytanie brzmi:

Czy taka konfiguracja jest naprawdę możliwa? Czy ktoś próbował przeciążyć system tyloma kamerami USB?

Problemy:

  • Możliwe, że procesor zostanie przeciążony. Zastosowanie przechwytywania nieskompresowanego obrazu może rozwiązać ten problem.
  • SO może mieć wiele problemów z obsługą tak wielu urządzeń.

Komentatorzy:

  • Magistrala procesora do urządzeń zewnętrznych - Quick Path Interconnect (QPI) dla Intela i Hyper-transport dla AMD - nie wydaje się stanowić problemu, ponieważ 50 MB / s * 18 MB / s = 900 MB / s. To naprawdę dalekie od prędkości przesyłu danych magistrali wynoszącej 25,6 GB / s dla QPI i 51,2 GB / s dla Hyper-transportu .
  • Wdrażam oprogramowanie tej aplikacji za pomocą OpenCV, które otacza przechwytywanie wokół DirectShow .

EDYCJA 12/11/12:

Zrobiłem więc kilka testów i są pewne kwestie do wyjaśnienia.

Strumieniowanie obrazów HD przy 30 FPS reprezentuje przepustowość 106 MB / s (53 MB / s przy 15 FPS), moja matematyka była całkowicie błędna. Oznacza to, że kamery HD pracujące z USB 2.0 muszą skompresować plik, aby nie zużywać całej przepustowości. Tak więc, nawet gdybym mógł podłączyć 50 kamer na jednym komputerze, prawdopodobnie procesor miałby wiele problemów z dekompresją tej ilości danych w czasie rzeczywistym.

Prawdziwy problem pojawia się, gdy widzimy specyfikację USB 3.0 :

Specyfikacja USB 3.0

Jak widać na zdjęciu, koncentrator USB 2.0 jest całkowicie oddzielony od koncentratora USB 3.0 (SuperSpeed), co oznacza, że urządzenia USB 2.0 nie mogą korzystać z przepustowości SuperSpeed . To główna wada mojego założenia, że ​​mogę używać większej liczby urządzeń USB 2.0 z kontrolerem USB 3.0.

Ponieważ ta specyfikacja jest dość stara (około 2 lat), czy ktoś może potwierdzić, czy istnieje nowa implementacja specyfikacji USB 3.0, która dzieli przepustowość SuperSpeed ​​między urządzeniami USB 2.0?

Ian Medeiros
źródło
4
Do czego potrzebujesz 50 kamer?
Dennis
1
W jaki sposób zasilane są kamery internetowe? Z własnego zasilacza, czy pobiera energię z magistrali USB?
Hennes,
2
Odpowiedź: niepraktyczna. Ale niesamowicie niesamowite brzmienie.
nerdwaller
5
Mam 17 kamer do pracy nad projektem Opencv 2 (otoki Pythona). Udało mi się sprawić, że wykrywanie przesunięcia krzywkowego hsv i wykrywanie obiektów flann działa przyzwoicie na wszystkich jednocześnie, ale w czasie zbliżającym się do czasu rzeczywistego i nie byłem w stanie wyświetlić wyników.
Snesticle,
1
Przepraszam, reagowałem na to, że jest „praktyczny” (tytuł). Bycie praktycznym lub w inny sposób nie jest skorelowane z możliwością / niemożliwością. Jednak, aby go ściągnąć, prawdopodobnie będziesz musiał zasilić kamerę z czegoś innego i mieć tylko dane w komputerze (przez komputer, mam na myśli koncentratory USB 3.0).
nerdwaller

Odpowiedzi:

6

Konstrukcja dodatkowego urządzenia USB-2-Hub wewnątrz USB-3 nigdy nie ulegnie zmianie, ponieważ jest to jedyny sposób na zapewnienie rozsądnej kompatybilności w dół. Jeśli chcesz korzystać z prędkości USB-3, musisz skorzystać z kamer internetowych USB-3.

Pozwól, że dam ci przykład do dalszych badań. Powiedzmy:

Ok, budujemy kolej dużych prędkości. Ponieważ linia kolejowa ma dużą prędkość, możemy na nią wsadzać więcej wolniejszych pociągów niż na naszej wolnej kolei. Hurra!

Technicznie jest tak samo w przypadku USB. To, że można szybciej jeździć koleją, nie oznacza, że ​​jest więcej miejsca (przepustowość) na wolne pociągi (USB2). Wolne pociągi będą jechały wolno na szybkim torze, co uniemożliwi szybkim pociągom (USB3) korzystanie z kolei przy pełnej prędkości. Aby temu zaradzić, niektórzy inżynierowie postanowili nie zastępować wolnej kolei szybszą, ale zbudować ją tuż obok. Dzięki takiemu zestawowi szybkie pociągi mogą jeździć dużą prędkością na szybkiej kolei, a wolne na wolnym. To samo dotyczy zgodności z USB3 w dół.

Mojżesz
źródło
Już miałem odpowiedzieć na własne pytanie, ale twoja analogia jest naprawdę dobra. Przeredaguję moje pytanie (kiedy będę miał czas), aby zebrać wszystkie informacje uzyskane podczas moich testów i badań w celu wyjaśnienia tematu do dalszych badań. Odpowiedź na moje pytanie jest prosta: nie można podłączyć 50 kamer do jednego komputera. Na rynku nie ma jeszcze kamer internetowych 3.0, są tylko kamery przemysłowe na sprzedaż (bardzo drogie), niestety.
Ian Medeiros
W rzeczywistości lepszym sposobem zapewnienia dobrej kompatybilności w dół jest zbudowanie koncentratora tłumaczeń - mikrokontrolera zaprogramowanego do konwersji protokołu, podłączonego do urządzeń USB2 po stronie minusowej i kontrolera USB3 po stronie dodatniej. To by było jak ładowanie wolnych pociągów na szybki pociąg (gdy samochody / kontenery ładowane są do pociągów, promów, samolotów itp.)
David MW Powers
0

Analogia kolejowa jest błędna, chociaż problem pozostaje w wielu węzłach komunikacyjnych. Możliwe jest uaktualnienie 10 urządzeń USB-2 do USB-3, ale to zależy od koncentratora. Tak samo było w przypadku urządzeń USB-1 w hubach USB-2. Większość skrótów koncentrujących udostępnia jeden kontroler, który jest jednym określonym standardem, ale niektóre zapewniają osobne kontrolery dla każdego portu, więc każdy może być dowolnym standardem bez wpływu na inne - są one droższe. Rozwiązaniem pośrednim jest koncentrator, który zapewnia (dla jednego produktu komercyjnego) trzy porty USB-3 i cztery porty USB-4. Standard w szczególności zezwala na jednoczesne działanie urządzeń USB-3 i USB-2, przy czym urządzenia USB-3 mają tę zaletę, że mają dodatkową przepustowość.

Od lat korzystam z dwóch kamer Logitech na USB-2 z odpowiednią szybkością (np. Przypominam sobie 15 klatek na sekundę x 640 x 480) i używam wielu tanich procesorów do przetwarzania, a ethernet do agregacji 6 kamer i innych urządzeń USB. W przypadku USB-3 mogę, mam nadzieję, wykorzystać łańcuch daisy powyższych koncentratorów z dwiema kamerami USB-2 (lub innymi urządzeniami) na hub 3 + 4, zakładając, że używam kontrolera hub, który konwertuje między USB-3 i USB -2 zamiast takiego, który działa jak oddzielny koncentrator USB-2 dla urządzeń USB-2.

Kamery USB3 są dostępne, ale drogie i niepotrzebne - wystarczy uaktualnić kamerę USB2 do USB3, aby móc z nich korzystać, ale nie mogę znaleźć koncentratora lub konwertera, który twierdzi, że to robi (były / były analogiczne urządzenia dla USB1 na USB2).

David MW Powers
źródło
Czy kiedykolwiek znalazłeś hub lub konwerter, który mógłby podwyższyć?
g491
0

Jeśli niektórzy z was chcieliby używać 8 lub 12 kamer na jednym pulpicie, jestem pewien, że chcielibyście używać tych kamer jako systemu nadzoru. Wiele, jeśli nie wszystkie omówione tutaj rozwiązania, już wypróbowałem, tj. Używając USB 2.0 vice 1.1, używając zasilanego koncentratora portów USB, używając PCI usb ... uwierz mi, możesz załadować tylko pulpit (nie mam i7 system) do 4 kamer internetowych, nawet wtedy trzeba będzie próbować i popsuć porty.

ROZWIĄZANIE? Użyłem 3 komputerów stacjonarnych, obecnie wystarczająco tanich (nie potrzebujesz monitora / myszy / klawiatur), chyba że podczas ładowania systemu, wtedy możesz uzyskać zdalny dostęp do 4 kamer internetowych (używam 3 komputerów stacjonarnych w sumie 12 kamer internetowych) . Monitoruję je zdalnie na jednym komputerze z monitorami zewnętrznymi.

OPROGRAMOWANIE: Polecam IP CAMERA VIEWER (bezpłatny) lub PRO, jeśli chcesz, a TEAMVIEWER - Darmowy do użytku osobistego, ale musisz zapłacić za użytek biznesowy. ZARÓWNO TE PROGRAMY SĄ NIESAMOWITE. Zaoszczędź czas na szukaniu .. Te programy są dojrzałe i widać to w projekcie.

CO JEST NASTĘPNE? Nawet jeśli prędkość Internetu jest niska, kamery, monitory wybaczają. ZALETA WYKORZYSTANIA 3 BIURK? Możesz zbliżyć się do miejsca, w którym chcesz, aby Twoje kamery znajdowały się w 3 różnych lokalizacjach, jak wszyscy wiedzą, możesz mieć tylko do 5 metrów za pomocą kabla USB, a jeśli tak jak ja, do 8, z koncentratorem zasilanym przez USB.

KAMERY IP CCTV - które mogłyby używać BARDZO BARDZO BARDZO DŁUGICH KABLI, mogą być używane z ADAPTERAMI BNC na USB Z WBUDOWANĄ KARTĄ GRAFICZNĄ. Zamówiłem 4, 8 i 16 kamer CCTV na 1 USB, jeszcze ich tu nie ma. Dam ci znać, kiedy przyjdą ...

Zostałem zmuszony do korzystania z kamer internetowych jako routera dostawców usług internetowych, w którym się znajduję, nie zezwala na przekierowanie portów ani nie może ich uzyskać ... więc nie ma dla mnie ADRESU IP.

GOOD LUCK GUYS / GALS ...

Antonio M Alonzo Sr.
źródło
Właściwie miałem 8 kamer i Kinect na tym samym chropowatym wieżowcu, ale w praktyce używam tylko 4 kamer (plus Kinect) na raz do ciągłego nagrywania - wszystkie mogą być używane do robienia zdjęć. Nie służy to do nadzoru, ale do nagrania AudioVisual Corpus i do badań inteligentnego pokoju / robota.
David MW Powers