50 webcams USB sur un seul ordinateur. Est-ce vraiment possible?

15

Théoriquement, une webcam USB HD fonctionnant à 15 FPS consomme une bande passante proche de 18 Mo / s - 1280 (largeur) x 960 (hauteur) x 3 (canaux RVB) x 15 (FPS) - sans compression. Un contrôleur USB 2.0 a un débit effectif de 35 Mo / s , capable de gérer 2 caméras (ce que j'ai confirmé dans la pratique). Un contrôleur USB 3.0 a une vitesse de transmission maximale théorique de 625 Mo / s qui est capable de gérer 34 caméras (625/18 = 34,72), pour plus de commodité, supposons qu'il peut gérer un maximum de 8 caméras (pas encore confirmé). En utilisant les deux hypothèses, il est possible d'estimer que la carte mère P8B75-V peut gérer au moins 50 webcams simultanées:

  • 3 emplacements PCIe (un PCIe x4 et deux PCIe x1, à l'exclusion du PCIe x16 vers la carte graphique): convertissez-les en USB 3.0 à l'aide d'un adaptateur + USB 3.0 HUBS , résultant en 24 webcams
  • 2 contrôleurs USB 3.0 (entendre et avant): HUBS USB 3.0 pour réaliser 16 webcams
  • 3 emplacements PCI : convertissez chacun en USB 2.0 à l'aide d'un adaptateur , résultant en 6 webcams
  • 2 contrôleurs USB 2.0 : 4 webcams

Donc, ma question est:

Cette configuration est-elle vraiment possible? Quelqu'un a essayé de surcharger le système avec autant de webcams USB?

Problèmes:

  • Il est possible que le processeur soit surchargé. L'utilisation de la capture d'image non compressée peut résoudre ce problème.
  • Le SO peut avoir beaucoup de mal à gérer autant d'appareils.

Comentaires:

  • Le bus CPU vers les périphériques externes - Quick Path Interconnect (QPI) pour Intel et Hyper-transport pour AMD - ne semble pas être un problème, car 50 Mo / s * 18 Mo / s = 900 Mo / s. C'est vraiment loin du débit de données de bus de 25,6 Go / s pour QPI et 51,2 Go / s pour Hyper-transport .
  • J'implémente le logiciel de cette application en utilisant OpenCV qui encapsule la capture autour de DirectShow .

EDIT 12/11/12:

J'ai donc fait quelques tests et il y a quelques points à clarifier.

Le streaming d'images HD à 30 FPS représente une bande passante de 106 Mo / s (53 Mo / s à 15 FPS), mes calculs étaient complètement faux. Cela signifie que les webcams HD fonctionnant avec USB 2.0 doivent compresser le fichier pour ne pas consommer toute la bande passante. Donc, même si je pouvais connecter 50 webcams sur un seul PC, le processeur aurait probablement beaucoup de mal à décompresser cette quantité de données en temps réel.

Le vrai problème vient quand nous voyons la spécification USB 3.0 :

Spécification USB 3.0

Comme nous pouvons le voir sur l'image, le HUB USB 2.0 est complètement séparé du HUB USB 3.0 (SuperSpeed), ce qui signifie que les périphériques USB 2.0 ne peuvent pas utiliser la bande passante SuperSpeed . C'est un inconvénient majeur dans mon hypothèse que je pourrais utiliser plus de périphériques USB 2.0 avec un contrôleur USB 3.0.

Comme cette spécification est un peu ancienne (environ 2 ans), quelqu'un peut-il confirmer s'il existe une nouvelle implémentation de la spécification USB 3.0 qui partage la bande passante SuperSpeed ​​entre les périphériques USB 2.0?

Ian Medeiros
la source
4
Pourquoi avez-vous besoin de 50 webcams?
Dennis
1
Comment sont alimentées les webcams? Par leur propre alimentation ou tirent-ils leur énergie du bus USB?
Hennes
2
La réponse: pas pratique. Mais un son incroyablement impressionnant.
nerdwaller
5
J'ai 17 caméras pour travailler sur un projet Opencv 2 (wrapper python). J'ai pu obtenir la détection camshift hsv et la détection d'objets flann fonctionnant correctement sur tous simultanément, mais rien ne s'approchant en temps réel et je n'ai pas pu afficher les résultats.
Snesticle
1
Je m'excuse, je répondais que c'était "pratique" (le titre). Être pratique ou non n'est pas lié à la possibilité / l'impossibilité. Cependant, pour le retirer, vous devrez probablement alimenter l'appareil photo à partir d'autre chose et n'avoir que les flux de données dans l'ordinateur (par ordinateur, je veux dire les concentrateurs USB3.0).
nerdwaller

Réponses:

6

Il n'y aura jamais de changement dans cette conception d'un périphérique USB-2-Hub supplémentaire à l'intérieur de l'USB-3, car c'est le seul moyen de fournir une compatibilité descendante raisonnable. Si vous souhaitez utiliser la vitesse USB-3, vous devez utiliser des webcams USB-3.

Permettez-moi de vous donner un exemple pour plus d'explications. Disons:

Ok, nous construisons un chemin de fer à grande vitesse. Parce que le chemin de fer est à grande vitesse, nous pouvons y mettre plus de trains lents que sur notre chemin de fer lent. Hourra!

Techniquement, c'est la même chose pour l'USB. Ce n'est pas parce que vous pourriez conduire plus vite sur le chemin de fer qu'il y a plus d'espace (bande passante) pour les trains lents (USB2). Les trains lents rouleront lentement sur la voie rapide, ce qui rend impossible pour les trains rapides (USB3) d'utiliser le chemin de fer à pleine vitesse. Pour y faire face, certains ingénieurs ont décidé de ne pas remplacer le chemin de fer lent par le plus rapide, mais de le construire juste à côté. Avec cette configuration, il est possible pour les trains rapides de rouler à grande vitesse sur la voie rapide et les lents sur la lente. Idem pour la compatibilité descendante USB3.

Mose
la source
J'étais sur le point de répondre à ma propre question, mais votre analogie est vraiment bonne. Je modifierai ma question (quand j'aurai le temps) pour rassembler toutes les informations que j'ai obtenues lors de mes tests et recherches afin de clarifier le sujet pour de futures recherches. La réponse à ma question est donc simple: il n'est pas possible de brancher 50 webcams sur un même ordinateur. Il n'y a pas encore de webcams 3.0 sur le marché, il n'y a que des caméras industrielles à vendre (très chères), malheureusement.
Ian Medeiros
En fait, une meilleure façon de fournir une bonne compatibilité descendante est de construire un hub de traduction - un microcontrôleur programmé pour effectuer la conversion de protocole, connecté à des périphériques USB2 à la baisse et un contrôleur USB3 à la hausse. Ce serait comme charger vos trains lents dans le train rapide (car les wagons / conteneurs sont chargés dans les trains, les ferries, les avions, etc.)
David MW Powers
0

L'analogie ferroviaire est erronée, bien que le problème persiste pour de nombreux nœuds. Il est possible d'avoir 10 périphériques USB-2 mis à niveau vers USB-3 mais cela dépend du concentrateur. Il en était de même pour les périphériques USB-1 dans les concentrateurs USB-2. La plupart des concentrateurs raccourcissent en ne fournissant qu'un seul contrôleur qui est une norme spécifique, mais certains fournissent des contrôleurs séparés pour chaque port afin que chacun puisse être n'importe quelle norme sans affecter les autres - ceux-ci sont plus chers. Une solution intermédiaire est un concentrateur qui fournit (pour un produit commercial) trois ports USB-3 et quatre ports USB-4. La norme permet spécifiquement de faire fonctionner simultanément des périphériques USB-3 et USB-2, les périphériques USB-3 ayant l'avantage de la bande passante supplémentaire.

J'ai utilisé deux webcams Logitech sur USB-2 pendant des années à un rythme approprié (par exemple, si je me souviens de 15fps x 640x480), et j'utilise plusieurs processeurs bon marché pour traiter et Ethernet pour agréger 6 caméras ainsi que d'autres périphériques USB. Avec USB-3, j'espère utiliser une chaîne en guirlande des concentrateurs ci-dessus pour y parvenir, avec deux caméras USB-2 (ou d'autres appareils) par concentrateur 3 + 4, en supposant que j'utilise un contrôleur de concentrateur qui convertit entre USB-3 et USB -2 plutôt que celui qui agit simplement comme un concentrateur USB-2 distinct pour les périphériques USB-2.

Les caméras USB3 sont disponibles mais coûteuses et inutiles - il suffit de mettre à niveau une caméra USB2 vers USB3 pour pouvoir les utiliser, mais je ne trouve pas de concentrateur ou de convertisseur qui prétend faire cela (il y avait / il y a des appareils analogues pour USB1 à USB2).

David MW Powers
la source
Avez-vous déjà trouvé un concentrateur ou un convertisseur qui pourrait évoluer?
g491
0

Si certains d'entre vous souhaitent utiliser 8 ou 12 webcams sur un même bureau, je suis sûr que vous souhaitez utiliser ces webcams comme système de surveillance. Beaucoup, sinon toutes les solutions discutées ici, j'ai déjà essayé, c'est-à-dire en utilisant USB 2.0 vice 1.1, en utilisant un concentrateur de port USB alimenté, en utilisant USB PCI ... croyez-moi, vous ne pouvez charger qu'un ordinateur de bureau (je n'ai pas de i7 système) jusqu'à 4 webcams, même alors, vous auriez à faire des essais et des erreurs avec les ports.

SOLUTION? J'ai utilisé 3 ordinateurs de bureau, assez bon marché de nos jours, (vous n'avez pas besoin de moniteur / souris / claviers) sauf lors du chargement du système, vous pouvez alors accéder à distance aux 4 webcams chacun (j'utilise 3 ordinateurs de bureau pour un total de 12 webcams) . Je les surveille à distance dans un ordinateur avec des moniteurs externes.

LOGICIEL: Je recommande IP CAMERA VIEWER (gratuit) ou le PRO si vous le souhaitez, et le TEAMVIEWER - gratuit pour un usage personnel, mais vous devez payer pour un usage professionnel. CES DEUX PROGRAMMES SONT IMPRESSIONNANTS. Gagnez du temps dans la recherche ... Ces programmes sont matures et cela se voit dans la conception.

QUELLE EST LA PROCHAINE? Même si votre vitesse Internet est lente, les caméras, les moniteurs sont indulgents. AVANTAGE D'UTILISER 3 BUREAUX? Vous pourriez obtenir plus facilement où vous avez besoin que vos caméras soient dans 3 endroits différents, comme tout le monde le sait, vous ne pouviez avoir que 5 mètres avec votre câble USB et si vous êtes chanceux comme moi jusqu'à 8, avec un HUB alimenté par USB.

CAMÉRAS IP CCTV - qui pourraient utiliser de TRÈS TRÈS TRÈS LONGUES CABLES peuvent être utilisées avec des ADAPTATEURS BNC vers USB AVEC CARTE GRAPHIQUE INTÉGRÉE. J'ai commandé un 4, un 8 et un 16 caméras de vidéosurveillance pour 1 USB, il n'y en a pas encore ici. Je vous ferai savoir quand ils viendront ...

J'ai été obligé d'utiliser des webcams car le routeur des fournisseurs de services Internet où je me trouve n'autorise pas ou ne peut pas accéder à la redirection de port ... donc pas d'adresse IP pour moi.

BONS GARCONS / GALS DE CHANCE ...

Antonio M Alonzo Sr.
la source
J'ai en fait eu 8 caméras et un Kinect sur la même tourelle grunty, mais dans la pratique, n'utilisez que 4 caméras (plus le Kinect) à la fois pour un enregistrement continu - tout peut être utilisé pour des instantanés. Ce n'est pas pour la surveillance mais pour l'enregistrement AudioVisual Corpus et la recherche intelligente de salle / robot.
David MW Powers