Připojení vetšího množství USB kamer

Připojení vetšího množství USB kamer
« kdy: 11. 03. 2025, 19:13:11 »
Zdravim,
pracuji na streamovaci sestave pro deskove hry a podobne. Proto potrebuji mit pripojenych vetsi pocet kamer. Obraz pak zpracovavam v OBS. Zkusim popsat problem trochu obsirneji a vcetne toho co jsem zkousel.
Mam na to postaveny stolny PC s Gygabite B450 a nejakym ryzenem. Ten ma 2 usb radice a ja jeste prikoupil jednu kartu s 4 porty. K tomu pripojuji 2 grabery z HDMI, 1 webka, 3 elp kamery. Vse jsou full hd a usb2. Kdyz zacnu od zacatku a pripojim pouze klavesnici a mys a pak zacnu pripojovat jednotlive kamery tak vse vypada ok. Nicmene nekdy uz posledni kamera ma problemy s pripojeni. System ji nevidi, nebo naopak odpoji nejakou predchozi. Kdyz ale pak zacnu pripojovat dalsi periferie jako dalsi klavesnici, 3 mikrofony atd. Tak system odpojuje dalsi kamery.
Zvlastni je ze je jedno v jakem radici jsou zapojeny. Kdyz vsechny kamery nahrnu do jednoho, nebo kdyz je rozlozim do vsech 3 tak vysledek je stejny. Take se to chova naprosto stejne v linuxu i win. Meril jsem i napeti a tim to take neni (dokonce webka ma ledku pro napajeni a ledku pro "spojeni" s pc)
Videl jsem fotky kde u takove sestavy je 10+ kamer, bohuzel nemam moznost dotycneho kontaktovat.
Take vim ze lze nahradit USB IP kameramy, testoval jsem ale maji velky delay (v radu s) a kazda jiny a sesynchrovat je se zvukem neni realne.
Tim, ze prohazuji kamery/ostatni mezi jednotlivymi radici a je to beze zmeny tak si myslim ze pridani dalsi usb karty nepomuze. Take datovy tok by nemel byt problem, spis to vypada na nespecificky pocet zarizeni a hlavne se to chova dost nahodne a nedeterministicky.

Nenapadne nekoho jak toto diagnostikovat, pripadne resit? Nebo jestli navrhuji z principu spatnou architekturu?

A doplnujici otazka na fungovani USB hubu. Pokud mam kamery USB2 ktere zapojim do USB3 switche a prekrocil bych tim USB2 datovy tok, tak hub toto nedokaze zvladnout a od sebe do PC je prehodit na USB3 a vyuzit vetsi kapacitu. Chapu to spravne?

Predem dekuji


RDa

  • *****
  • 2 900
    • Zobrazit profil
    • E-mail
Re:Připojení vetšího množství USB kamer
« Odpověď #1 kdy: 11. 03. 2025, 20:39:50 »
A doplnujici otazka na fungovani USB hubu. Pokud mam kamery USB2 ktere zapojim do USB3 switche a prekrocil bych tim USB2 datovy tok, tak hub toto nedokaze zvladnout a od sebe do PC je prehodit na USB3 a vyuzit vetsi kapacitu. Chapu to spravne?

Existuje jen USB2 zbernice a USB3 zbernice. Mezi nema zadnej hub neprohazuje obsah, vzdy jsou to jakoby 2 huby v jednom.

USB2 se hodi na kamery s kompresi - kde mas napr. 1080p do 50mbit/s, a muzes pripojit par kamer, nez to zbernici saturuje. USB3 je podobne, jen v souctu je toho 5Gb/s.

Co by slo sdilet pasmo "a la ethernet" - tak mozna, kdybys mel 10/20/40Gbit hub, a do nej nastrkane USB3 periferie.

Pouzivas Win nebo Linux?

Pokud jsou kamery/grabbery s kompresi - nedochazi ti spis vypocetni vykon na dekodovani streamu?

Nekomprimovany 1080p ma 1.5 az 3 Gbit/s (25p vs 50p), takze tezko pripojis vice nez 2x25p nebo 1x50p kameru do radice.

A pak - vice radicu je lepsi, ale musis vedet na jake pcie zbernici to visi.. a pokud je to na PCH / FCH, tak to bude zas sdilet pasmo skrze to uzke hrdlo :D

Re:Připojení vetšího množství USB kamer
« Odpověď #2 kdy: 11. 03. 2025, 21:10:08 »

Existuje jen USB2 zbernice a USB3 zbernice. Mezi nema zadnej hub neprohazuje obsah, vzdy jsou to jakoby 2 huby v jednom.
tzn. neni potreba stavet strukturu na USB3 hubech a kabelech. diky

USB2 se hodi na kamery s kompresi - kde mas napr. 1080p do 50mbit/s, a muzes pripojit par kamer, nez to zbernici saturuje. USB3 je podobne, jen v souctu je toho 5Gb/s.

myslim ze hub/radic jako takovej nesaturuju, protoze se to chova stejne i kdyz ty kamery rozlozim na 3 radice


USB2 se hodi na kamery s kompresi - kde mas napr. 1080p do 50mbit/s, a muzes pripojit par kamer, nez to zbernici saturuje. USB3 je podobne, jen v souctu je toho 5Gb/s.
- podle me to jsou s kompresi. da se nejak sledovat tok na jednotlivych radicich?

Pouzivas Win nebo Linux?
Mam tam ted dual boot. Zacinal jsem na Win, ale dostal jsem se do jedny slepy ulicky. Prisli mi dve ELP kamery co meli stejny serial ID, coz win ovladace nedaji. Linux to da pokud jsou na ruznych radicich


A pak - vice radicu je lepsi, ale musis vedet na jake pcie zbernici to visi.. a pokud je to na PCH / FCH, tak to bude zas sdilet pasmo skrze to uzke hrdlo :D

Tohle musim zjistit a sem moje znalosti (programatora) nesahaji. Da se to nejak monitorovat, pripadne jak to zjistit (u pc budu zitra), deska to je B650 Gigabyte Gaming X

dekuji

CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Připojení vetšího množství USB kamer
« Odpověď #3 kdy: 11. 03. 2025, 21:13:10 »
Kdysi v dobách dřevních, jsem řešil jeden takový projekt, kde bylo potřeba mnoho zařízení připojených přes USB.

- klávesnice a myš byly připojené jako obvykle do desky

- ale všechna zařízení byla připojena přes samostatné karty (dávat MAX DVĚ zařízení na jednu kartu):
https://www.mironet.cz/delock-pci-express-karta-2-x-externi-superspeed-usb-5-gbps-usb-32-gen-1-typa-f+dp581346/

Tohle je vzorová karta, kterou nemám vyzkoušenou, je to jen ukázka.
Podle mě budou fungovat i laciné karty po stovce z Alíku, jde hlavně o použitý čip na kartě.
Těch karet s různými čipy jsem tenkrát zkoušel víc, jde hlavně o čip na kartě, některé ty karty mají shitové ovladače. Výrobce čipu si nepamatuji, řadič fungoval i s ovladačem ve Widlích, ale ovladač přímo od výrobce měl mnohem víc záložek a docela překvapivě pěknou diagnostiku.

Jaké to mělo výhody:
- co bylo připojení k dané kartě, jako že jich bylo snad 5(?), se dělo na té kartě
- žádný USB switch, závada se nepropagovala na další zařízení v rámci větve
- mnohem snáz se to ladilo
- celá karta šla resetovat samostatně a vzdáleně

Na vypnutí / zapnutí samostatné karty hledej něco jako:
Citace
SetupDiSetClassInstallParams + SetupDiCallClassInstaller s DICS_DISABLE a nebo hůř přes pnputil /disable-device "nějakéIDčko" a pnputil /enable-device "nějakéIDčko"
To se hodí, když to potřebuješ řešit vzdáleně bez restartu.

Pokud to chceš mít bezúdržbové, tak bych šel právě takovouhle nějakou cestou....určitě to není jediná cesta, ale chtěl jsem to mít vyřešené rychle a spolehlivě. Mohu říct, že připojením zařízení na samostatné větve mi zmizely 2/3 problémů a zbylou 1/3 se povedlo dořešit díky té utilitě výrobce...kdo to mohl být?

Příklad, najdeš řadič třeba s čipem: Renesas μPD720201
- dobrá zpráva, výrobce pro to má firmware:
https://www.renesas.com/en/products/interface/usb-switches-hubs/upd720202-usb-30-host-controller
- dobrá zpráva, výrobce pro to má ovladač (asi...), ten ve Widlích uměl prd
https://www.renesas.com/en/software-tool/usb-drivers?
- má to nějakou diagnostickou utilitu, která ti je schopná monitorovat problémy na lince v reálném čase? čert ví....hledej šmudlo :-D

Ale nemyslím si, že já nakonec šel cestou Renesas...možná bych si název pamatoval...

Určitě vyzkoušej i programy typu:
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/usbview
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/how-to-retrieve-information-about-a-usb-device
https://www.majorgeeks.com/files/details/microsoft_windows_usb_troubleshooter.html

Ještě jsem mrknul na další utility a tahle vypadá tak trošičku jako ta utilita od toho výrobce.
https://www.fabulatech.com/usb-monitor-pro-action.html?

Prostě jsem viděl, a to poměrně detailně, co se tam na té kartě děje.
« Poslední změna: 11. 03. 2025, 21:20:00 od CPU »

Re:Připojení vetšího množství USB kamer
« Odpověď #4 kdy: 11. 03. 2025, 21:31:08 »
Diky,
usbview jsem zkousel. Problematicke zarizeni spadne bud do stavu kdy je nezname (a tudiz nelze ho pouzit jako video source) nebo uplne zmizi.
USB kartu jsem pridaval, ale jak pisu. prehazuji kamery mezi radici a vse je porad stejne. Prijde mi ze uzke hrdlo muze tvorit az neco za radicem


CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Připojení vetšího množství USB kamer
« Odpověď #5 kdy: 12. 03. 2025, 00:10:18 »
Problematicke zarizeni spadne bud do stavu kdy ... uplne zmizi.

Hele, pokud zařízení mizí, tak je něco celkem špatně spíš na úrovni USB. A nelze vyloučit to, že co se děje nemá jen jednu příčinu. Může se jednat o dvě nebo více chyb, které se navzájem střídají.

Dělej si co chceš, ale bych já šel tak jako tak cestou těch samostatných karet, dal do každé samostatné karty dal nejnovější firmware, použil ovladač od výrobce (ne default), spustil monitorovací utilitu a zkoušel chybu replikovat. Replikace chyby v jednoduchém prostředí je cestou k jejímu jednoduchému popisu. A určitě neuškodí ani aktualizovat FW v těch USB kamerách. Dneska je FW skoro ve všem :-D

Ale samozřejmě - a to nevynechávej - zkus úplně jiný počítač, ale pro nahrávání použij stejný software. A pak zkus ten stejný počítač, kde se ti chyba projevuje, ale jiný software pro nahrávání. Samozřejmě při stejném počtu připojených kamer a stejném testovacím scénáři. Chceš chybu replikovat! Tím vyloučíš řadu zdrojů možných chyb. OBS není dokonalé, klidně může špatně utilizovat ty kamery, možná tvůj scénář nikdo nezkoušel. Ale abys mohl požádat o opravu, měl bys mít jasný testovací scénář, kdy se to projeví.

Proč chceš chybu replikovat?
Když chybu náhodně odstraníš, náhodně se ti může vrátit.
Když chybu dokážeš spolehlivě replikovat, můžeš jí nahlásit a nechat jí pro ostatní opravit.

Ad to chování, kdy se ti to začne připojovat pod jiným jménem, to bych řekl, že je až sekundární problém. Spíš začni řešit, proč ti vytuhávají kamery. Až ti přestanou tuhnout, můžeš k zařízení přistupovat jeho ID.

Např.: Get-PnpDevice
A mapovat si to třeba přes:
@device:pnp:\?\usb#vid_ABCD&pid_1234&mi_00#CCART#{nějakýUID}\global

Ale dokud ty kamery tuhnou, máš deviceID stejně k velkýmu prdu...

V rámci toho mého projektu stále docházelo k nějakému tomu občasnému vytuhnutí připojeného zařízení, ale dělo se to třeba jednou týdně, ostatně je to USB...a USB je USB, pak stačilo otočit danou kartu a už to zase fungovalo. Šikula, který to používal, dokonce napsal skript, který výpadek detekoval a spouštěl můj skript na automatický restart karty, a pak už jsem o tom projektu neslyšel. Už jsem to mohl pustit z hlavy.

... rad jsi dostal fůru :)
« Poslední změna: 12. 03. 2025, 00:16:07 od CPU »

CPU

  • *****
  • 1 040
    • Zobrazit profil
    • E-mail
Re:Připojení vetšího množství USB kamer
« Odpověď #6 kdy: 12. 03. 2025, 00:24:13 »
Doplnění:

A na to Get-PnpDevice se určitě podívej:
Citace
Get-PnpDevice -PresentOnly -Status ERROR,DEGRADED,UNKNOWN

Až se ti to bude odpojovat jen čas od času, můžeš každých 10 min spustit skript, který:
- nejprve zjistí, jestli vyjmenované zařízení má problémy
- provede reset té jedné karty
- pošle ti notifikaci, protože chceš znát četnost výpadků

Pak si taky pohraj s napájením USB, aby nedocházelo k pokusům o snížení spotřeby USB (počítač USB pooluje a zkouší mu škrtit šťávu). Ale teď jsi v bodu 1. Až budeš v bodu 200, tak se nad tím třeba zase zamyslím :)


Re:Připojení vetšího množství USB kamer
« Odpověď #7 kdy: 12. 03. 2025, 08:07:49 »
Podobně se mi chová 4-portová USB3 gen1 PCIe x1 karta z Alíku za cca dolar, která snese 4x 3,5" disky s externím napájením nebo z portu napájených SSD, ale pokud připojím 2,5" plotnový disk napájený z portu, už utáhne jen celkem 3 zařízení a je jedno na kterých portech. Pokud ty 2,5" připojím 2, nic dalšího už na ní nefunguje, ani blbá flashka.

Re:Připojení vetšího množství USB kamer
« Odpověď #8 kdy: 12. 03. 2025, 11:43:06 »
Dobrý den,
počet USB3 kamer (nebo HDMI graberů) je v praxi limitován počtem USB3 root HUBů (Počet portů s tím nemá přímou souvislost). Ty jsou obvykle dva, někdy i jen jeden (některé notebooky...). Externí USB hub nepomůže. Pokud do stejného root hubu připojíte další kameru, první přestane fungovat. Na většině PC a notebooků tak fungují max. dvě podobná USB3 zařízení zároveň. Je možné něco z toho nahradit USB2, ale to bych moc nedoporučoval (latence, kvalita atd.). Sám jsem skončil u externích střižen (některé podporují i USB kamery) a v případě potřeby mám thunderbolt 3.0 box se 4x hdmi vstupem. Na trhu jsou i usb3 hdmi grabery se dvěma vstupy, ale to nemám otestováno a nějak tuším, že dva možná zapojit nepůjdou.

Re:Připojení vetšího množství USB kamer
« Odpověď #9 kdy: 12. 03. 2025, 12:31:42 »
Omlouvám se, přehlédl jsem, že vše je USB2, to jsem nečekal... Tam problém a root hubem snad není, ale občas tomu vadilo třeba v OBS stejné ID zařízení, když byly kamery stejné. Může to narážet i na kapacitu sběrnice, nemohu najít MJPEG bitrate u UVC kamer, ale tak alespoň 60 Mb/s to snad bude....   

Dobrý den,
počet USB3 kamer (nebo HDMI graberů) je v praxi limitován počtem USB3 root HUBů (Počet portů s tím nemá přímou souvislost). Ty jsou obvykle dva, někdy i jen jeden (některé notebooky...). Externí USB hub nepomůže. Pokud do stejného root hubu připojíte další kameru, první přestane fungovat. Na většině PC a notebooků tak fungují max. dvě podobná USB3 zařízení zároveň. Je možné něco z toho nahradit USB2, ale to bych moc nedoporučoval (latence, kvalita atd.). Sám jsem skončil u externích střižen (některé podporují i USB kamery) a v případě potřeby mám thunderbolt 3.0 box se 4x hdmi vstupem. Na trhu jsou i usb3 hdmi grabery se dvěma vstupy, ale to nemám otestováno a nějak tuším, že dva možná zapojit nepůjdou.