Ukuxhuma Amakhamera e-USB ku-Linux: I-UVC, i-V4L2 kanye Nokuxazulula Izinkinga

Kwadalwa ngo 09.16
Noma ubani oke wasebenza namakhamera e-USB ku-Linux wazi kahle ukuthi lokhu kwenzeka kanjani. Ngomzuzu owodwa ikhamera yakho yewebhu ye-USB noma ikhamera yezimboni isakaza ngokushelelayo kwevidiyo yokuqapha, umbono werobhothi, noma izingcingo zevidiyo ezikude, bese ngomzuzu olandelayo inyamalala ngokuphelele ohlelweni lwakho, ikhiphe amafreyimu aqhuqhayozayo, agagayo, noma iphonse amaphutha angaqondakali okokufaka/okokuphuma. Ngokungafani ne-Windows noma i-macOS, ezisebenza cishe konke ikhamera ye-plug-and-playIzilungiselelo ezingemuva kwezendlalelo zesistimu ezivaliwe, i-Linux yethula yonke ingqalasizinda yayo yokuthwebula ividiyo ukuze umsebenzisi alawule ngokugcwele. Lokhu kusobala kwesistimu evulekile kuyinzuzo enkulu kubathuthukisi, onjiniyela abashumekiwe, kanye nabathandi bamarobhothi abakha imisebenzi yangokwezifiso yekhamera ye-USB ye-Linux—kodwa ukungalungiseleli kahle okuncane ngaphakathi kwephayiphu ye-UVC ne-V4L2 kungaphazamisa kalula wonke umsebenzi wakho wekhamera.
Cishe zonke izinkinga eziqhubekayo zekhamera ye-USB ye-Linux zisuka ezingxenyeni ezimbili eziyisisekelo zomthombo ovulekile: izinga le-USB Video Class (UVC) kanye nohlelo lwekhasi le-Video4Linux2 (V4L2). Iphutha elivamile phakathi kwabasebenzisi abasha be-Linux kanye nabathuthukisi asebevele banolwazi ukuhlanganisa i-UVC ne-V4L2, beziphatha njengamathuluzi afanayo. Lokhu kungaqondi kahle kuholela ekuxazululeni izinkinga okungaboni, okungasebenzi kanye namahora amaningi alahlekile ekuxazululeni amaphutha ayisisekelo okulungiselela ikhamera ye-USB ye-Linux kanye namaphutha okusetha i-V4L2.
Kulesi sikhombisi sezobuchwepheshe esijulile, sizokwembula ukuthi i-UVC ne-V4L2 zisebenza kanjani ndawonye ukuze zenze ukuxhumana kwekhamera ye-USB kusistimu ye-Linux kube lula. Sizohamba ngenqubo yokuhlela esetshenzisiwe, evamile, sihlaziye ukuthi isitaki sokuthwebula ividiyo ye-Linux sisebenza kanjani, futhi sixazulule izinkinga eziningi zangempela ezihlasela ukutholwa kwekhamera ye-UVC nokusakaza kwe-V4L2 ku-Linux. Sizokweqa amagama ayinkimbinkimbi kakhulu ezifundweni futhi sigxile kuphela ezixazululweni ezingokoqobo, eziphindaphindekayo ezihambisana ne-Ubuntu yedeskithophu, amaseva e-Linux angenakhanda, nezinkundla ze-Linux ezishumekiwe njenge-Raspberry Pi OS.

Ukuqonda Ingqalasizinda Yekhamera ye-Linux: UVC vs V4L2

Ngaphambi kokungena emiyalweni ye-terminal nezilungiso zamaphutha, kubalulekile ukuchaza ngokucacile izindima eziyingqayizivele nezihambisanayo ze-UVC ne-V4L2 ku-stack yekhamera ye-USB ye-Linux. Ukuqonda lo mehluko oyinhloko kuqeda ngaphezu kuka-60% wamaphutha angahleliwe, angachazwanga okutholwa nokusakazwa kwekhamera ye-USB ye-Linux ngaphambi kokuba kwenzeke, kwenza ukusethwa kwekhamera yakho kanye nokugcinwa kwesikhathi eside kube lula.

Yini i-UVC (USB Video Class)?

I-UVC iyindinganiso yemboni evamile yamadivayisi evidiyo e-USB, egcinwa yi-USB Implementers Forum. Ichaza izivumelwano ezijwayelekile zokubalwa kwamadivayisi ekhamera ye-USB, ukuxoxisana ngomkhawulokudonsa, ukusakazwa kwevidiyo ngesikhathi sangempela, nezilawuli zekhamera yehadiwe, okuvumela ukusebenza kwe-plug-and-play kwangempela kuzo zonke izinhlelo zokusebenza. Yonke ikhamera ye-webcam ye-USB yesimanje yomsebenzisi, ikhamera ye-industrial machine vision, nezinzwa zevidiyo ye-USB enokubambezeleka okuphansi zincike ekuthobeleni i-UVC ukuze kusebenze okuyisisekelo kwevidiyo nokutholwa kwe-plug-and-play kuzo zonke izinhlelo zokusebenza ezinkulu, ikakhulukazi i-Linux.
Inzuzo enkulu kakhulu yamakhamera e-USB ahambisana ne-UVC kubasebenzisi be-Linux ukuthi akukho kufakwa kwabashayeli abangasese okudingekayo. Wonke amakernel amakhulu e-Linux anamuhla afaka imojuli yekernel ye-uvcvideo yemvelo, enikeza ukusekelwa okusebenzayo ngaphandle kwenkinga kwawo wonke amadivayisi ekhamera ye-USB ahambisana ne-UVC 1.0 ne-UVC 1.5. Ngokuphambene, amakhamera e-USB angewona awe-UVC ancike kubashayeli bangaphandle abasizayo abasungulwe umhlinzeki, abagcina bephuka ngesikhathi sokubuyekezwa kwekernel ye-Linux—lokhu kuyimbangela enkulu yokwehluleka kokutholwa nokusakazwa kwamakhamera e-USB amadala ezinhlelweni ze-Ubuntu, Debian, ne-Fedora Linux ezibuyekeziwe.
Ekujuleni kwayo, izinga le-UVC liphatha konke ukuxhumana kwe-USB okusezingeni eliphansi phakathi kwengxenyekhaya yakho yekhamera kanye ne-Linux kernel. Lokhu kufaka phakathi ukutholwa kwedivayisi ezimbotsheni ze-USB, ukuxoxisana nge-bandwidth okuzenzakalelayo, ukudluliswa kwezithombe zevidiyo ezingahluziwe, kanye nokulungiswa kwezilungiselelo zengxenyekhaya ezakhelwe ngaphakathi ezifana nokukhanya, ukugqama, ukugcwala, kanye nokuchayeka. Ngamafuphi, i-UVC isebenza njengebhuloho elibalulekile elisuka kungxenyekhaya liye ku-kernel elivumela zonke izinto zevidiyo ze-USB ukuthi zixhumane nohlelo lwe-Linux V4L2.

Yini i-V4L2 (Video4Linux2)?

Nakuba i-UVC ilawula ukuxhumana kwangempela kwehadiwe ye-USB yamakhamera, i-V4L2 (Video4Linux2) iyisistimu engaphansi ye-kernel yemvelo ye-Linux enikezelwe kukho konke ukusebenza kokufaka nokukhipha kwevidiyo. Isebenza njengesixhumi esibonakalayo somsebenzisi esisetshenziswa izinhlelo ezidumile—kuhlanganise ne-OpenCV, FFmpeg, Zoom, kanye nemibhalo yesandla yamarobhothi neyombono womshini—ukufinyelela, ukukhishwa, nokucutshungulwa komsakazo wevidiyo wekhamera ye-USB ye-Linux yesikhathi sangempela.
I-V4L2 yenza kube nomthetho ofanayo wokuthi izinhlelo ze-Linux zicela kanjani amapharamitha athile evidiyo, okuhlanganisa amafomethi wephikseli, ukucaca, izinga lamafreyimu, nezimvume zokufinyelela idivayisi. Yonke ikhamera ye-USB esebenzayo, ikhadi lokuthwebula le-HDMI, nekhamera ebonakalayo ohlelweni lwe-Linux ibhalisa njengenodi yedivayisi ye-V4L2 eyingqayizivele ethi /dev/videoX. Okubalulekile ukuthi, ngisho nekhamera ye-USB ye-UVC etholakale kahle ayikwazi ukusakaza ividiyo kunoma yiluphi uhlelo uma uhlelo oluncane lwe-V4L2 lungakalungiswa noma lungabhalisiwe.

Indlela i-UVC ne-V4L2 Ezisebenza Ngayo Ngokubambisana

Ukulandelana okuphelele kokusebenza kwekhamera ye-USB ye-Linux kulandela uchungechunge oluqinile lwezigaba ezintathu. Okokuqala, isilawuli se-USB sesistimu sithola ikhamera ye-UVC exhunyiwe futhi siqalise imojuli yekernel ye-uvcvideo yemvelo. Okwesibili, ikernel ye-Linux ibhalisa idivayisi ye-UVC eqinisekisiwe ku-subsystem ye-V4L2 futhi ikhiqize indawo yedivayisi esebenzayo ye-/dev/video. Ekugcineni, amathuluzi omsebenzisi kanye nezinhlelo zokusebenza zibuza isixhumi esibonakalayo se-V4L2 ukuze zikhiphe amafomethi evidiyo asekelwayo futhi zithwebule ukusakazwa bukhoma kwekhamera.
Cishe konke ukwehluleka kokusakaza kwekhamera ye-USB ye-Linux, izinkinga zokutholwa, kanye nokungqubuzana kwengxenyekazi ye-USB ne-V4L2 kuvela ezinkingeni ezingaphakathi kwalezi zigaba ezintathu eziyisisekelo zokusebenza: ukungaphumeleli kokubalwa kwedivayisi ye-USB, ukwehluleka ukubhaliswa kwemojuli yekernel ye-uvcvideo, noma ukungahambisani kwefomethi ye-V4L2 kanye nokungafani kwezimvume.

Ukusethwa Kwekhamera ye-USB Isinyathelo Ngesinyathelo ku-Linux

Le nqubo yesinyathelo ngesinyathelo yokusetha ikhamera ye-USB ye-Linux ihambisana ngokuphelele nazo zonke izinhlobo ezinkulu ze-Linux, kuhlanganise ne-Ubuntu 22.04 kanye ne-24.04, i-Debian, i-Fedora, kanye namadivayisi e-Linux ashumekiwe angenakhanda njenge-Raspberry Pi OS. Sisebenzisa kuphela amathuluzi omugqa womyalo we-Linux womdabu ukuqinisekisa zonke izendlalelo ze-UVC kanye ne-V4L2, siqinisekisa ukuhambisana kwesistimu okubanzi kanye nokusebenza okuzinzile kokubili kokwenza iphrothothaipi yomuntu siqu kanye nokusetshenziswa kwezinga lezimboni.

1. Qinisekisa Ukutholwa Kwe-Hardware USB

Qala kusendlalelo somzimba ukuze ukhiphe amaphutha ekhebula, embobeni, noma ku-hardware. Sebenzisa umyalo ojwayelekile wokufaka uhlu lwe-USB ukuhlola ukuthi isistimu iyayibona yini ikhamera yakho:
bashlsusb
Ukutholwa okuphumelelayo kuzoprinta i-vendor kanye ne-product ID eyingqayizivele yekhamera yakho ye-USB kutheminali. Uma ikhamera yakho yehluleka ukuvela lapha, inkinga ayihlobene nama-driver e-UVC noma e-V4L2. Amaphutha ajwayelekile ezingeni lehardware afaka amakhebula edatha e-USB alimele, izimbobo ze-USB eziphysikali ezingasebenzi, izilawuli ze-USB ezivaliwe kuzilungiselelo ze-BIOS/UEFI, noma ukunikezwa kwamandla e-USB okunganele, inkinga ejwayelekile kumakhamera e-UVC ezimboni ezisebenzisa amandla aphezulu ephazamisa ukutholwa kwehardware ku-Linux.
Ithiphu elibalulekile lokuxazulula izinkinga zekhamera ye-Linux kumadivayisi e-UVC: Bika kuqala izimbobo ze-USB 2.0 kumakhamera amaningi ajwayelekile kanye nezimboni ze-USB. Nakuba izimbobo ze-USB 3.0 zinikeza umkhawulokudonsa ophezulu wethiyori, zivame ukudala ukungqubuzana kwe-USB handshake, ukulimala kwezikhathi ze-V4L2, kanye nokwehluleka okuphelele kokutholwa kwekhamera ne-firmware endala ye-UVC kanye nezingxenyekazi zekhamera ye-USB enamandla aphansi ezinhlelweni ze-Linux.

2. Qinisekisa Ukulayishwa Kwemodyuli Yesikhathi Sekernel ye-UVC

Uma idivayisi ye-USB ibonakala, hlola ukuthi imojuli yekhreneli ye-uvcvideo iyasebenza futhi ixhunywe ekhamera yakho:
bashlsmod | grep uvcvideo
Umphumela wethiminali uqinisekisa ukuthi umshayeli oyinhloko we-UVC uvcvideo uyasebenza futhi uxhunywe ekhamera yakho exhunyiwe. Uma kungekho mphumela ovelayo, idivayisi yakho kungenzeka ukuthi ayihambisani ne-UVC (idinga izishayeli ezenziwe ngokwezifiso) noma imojuli yekhreneli ivaliwe. Kuwo wonke amakhreneli e-Linux ajwayelekile, ungayilayisha ngesandla futhi uvule imojuli ukuze ubuyisele ukutholwa okugcwele kwekhamera ye-Linux UVC nokusebenza kokusakaza ngalo myalo olandelayo:
bashsudo modprobe uvcvideo

3. Bhala ama-Node Wedivayisi ye-V4L2

Njengoba imojuli ye-UVC isebenza, i-kernel izokhiqiza ama-node edivayisi e-V4L2. Bhala zonke izinto zevidiyo ezitholakalayo nge:
bashls /dev/video*
Izilungiselelo eziningi zekhamera eyodwa ye-USB ku-Linux zikhiqiza amanodi amadivayisi amabili: /dev/video0 kanye ne-/dev/video1. Inodi eyinhloko ye-/dev/video0 iphatha ukusakaza kwevidiyo yesikhathi sangempela, kuyilapho inodi yesibili ilawula imethadatha yekhamera kanye namapharamitha wokulawula ihadiwe. Gwema ukufaka ngekhodi okungaguquki i-/dev/video0 ezinhlelweni zakho, njengoba izilungiselelo zamakhamera amaningi kanye namathuluzi ekhamera ebonakalayo kuvame ukushintsha ukukhonjwa kwedivayisi ye-V4L2 ngemuva kokuqalisa kabusha kwesistimu.

4. Hlola Izimvume Zokufinyelela Kwendawo Yomsebenzisi

Enye yezinkinga eziningi ezinganakwa kakhulu ze-Linux USB camera kanye nokufinyelela kwe-V4L2 ukungafaneleki kwezimvume zomsebenzisi kumafindo edivayisi ye-V4L2. Ngokuzenzakalelayo, wonke amafayela e-/dev/video akhawulelwe eqenjini le-video lesistimu, okusho ukuthi ama-akhawunti ajwayelekile omsebenzisi awakwazi ukufinyelela imifudlana yekhamera noma ukushintsha izilungiselelo ngaphandle kwemvume ecacile yeqembu.
Engeza umsebenzisi wakho eqenjini le-video ngalo myalo:
bashsudo usermod -aG video $USER
Qaphela okubalulekile: Qaphela ukuthi izibuyekezo zemvume yeqembu zisebenza kuphela ngemuva kokuphuma ngokuphelele nokuphinda ungene. Ukuvala itheminali noma ukuqala kabusha ngokwengxenye ngeke kuxazulule amaphutha emvume.

5. Qinisekisa Izinqumo Nemifomethi Esekelwayo

Akuwona wonke amakhamera asekela zonke izinqumo noma imifomethi yephikseli. Ukusebenzisa ukulungiselelwa okungasekelwa yimbangela enkulu yezikrini ezimnyama zekhamera ye-USB ye-Linux, amafreyimu amile, kanye nokwehla kwamafreyimu e-V4L2. Faka ithuluzi lokulawula le-V4L2 bese kubalwa zonke izindlela zekhamera ezivumelekile:
bashsudo apt install v4l-utilsv4l2-ctl --list-formats-ext
Umphumela womyalo uzobonisa zonke izinhlobo zamaphikseli ezisekelwayo ngokwemvelo (kufaka phakathi i-YUYV, MJPG, ne-RGB24), izinketho zokulungiswa kwesithombe, kanye namazinga okushaya amafreyimu aphezulu ekhamera yakho ye-UVC. Ukuze uthole ukusakazwa kwevidiyo kwe-Linux okuzinzile, okungenakulahlekelwa amafreyimu, hlala uqondanisa ukulungiselelwa kohlelo lwakho nendlela esekelwayo ye-V4L2 eqinisekisiwe. Ukusakazwa okucindezelwe kwe-MJPG kunconywa kakhulu kuma-1080p kanye ne-4K okusakazwa kwekhamera yokulungiswa okuphezulu ukuvimbela ukugcwala komkhawulokudonsa webhasi le-USB kanye nokuqeda izinkinga zokulahlekelwa amafreyimu okwenzeka ngezikhathi ezithile.

Izinkinga Ezivame Kakhulu ze-UVC/V4L2 Nezixazululo Ezingokoqobo

Ngemuva kokusebenzisa nokuxazulula amakhulu ezinhlelo zekhamera ye-Linux UVC ezisetshenziselwa amaphrojekthi wokusakaza komuntu siqu, amasistimu erobhothi afakwe ngaphakathi, kanye nemigqa yokubona ngomshini yezimboni, sihlanganise amaphutha e-V4L2 ne-UVC avame kakhulu kanye nezimbangela zawo eziqinisekisiwe. Izixazululo eziqondiwe ezilandelayo zixazulula ngaphezu kuka-95% wamaphutha okwempela e-UVC ne-V4L2 ahlobene nekhamera ye-USB ye-Linux abhekana nawo onjiniyela nososayensi.

Inkinga 1: Ikhamera Itholakala ku-lsusb Kodwa Awekho Ama-node e-/dev/video

Lena ingenye yezinkinga ezivamile zokuhambisana kwe-UVC firmware ku-Linux. I-USB core yesistimu ithola ngempumelelo ihadiwe yekhamera ebonakalayo, kodwa imojuli yekernel ye-uvcvideo iyehluleka ukuhlanganisa idivayisi yekhamera ye-UVC nesistimu engaphansi ye-Linux V4L2 ngenxa yezincazelo zedivayisi ye-UVC ezonakele noma ezingajwayelekile kanye nefirmware yakudala.
Ukulungisa: Hlola amalogi e-dmesg yekernel ukuze uthole amaphutha e-UVC ukuze ukhombe imbangela eyinhloko:
bashdmesg | grep uvc
Uma amalogi ebuya namaphutha okuqinisekisa incazelo noma ukungafani kwefirmware, ikhamera yakho isebenzisa ifirmware ye-UVC engajwayelekile engahambisani namakernel e-Linux esimanje. Ezingamakhamera zezimboni zangaphandle, faka isibuyekezo sakamuva sefirmware yomkhiqizi ukuze ubuyisele ukuhambisana. Ezingamakhamera ezijwayelekile zabasebenzisi, setha kabusha ngokuphelele isitaki sedrayiva ye-UVC ngokuqalisa kabusha imojuli ye-uvcvideo ukuze ulungise ukunqanyulwa kokuhlanganisa kwesikhashana phakathi kwehadiwe ye-UVC kanye nesendlalelo sekernel ye-V4L2.

Inkinga 2: Isikrini Esimnyama noma Amafreyimu Angaphelele Ezinhlelweni

Izikrini ezimnyama, amafreyimu amile, noma ukuphuma kwevidiyo okungaphelele ezinhlelweni zekhamera ye-Linux cishe njalo kubangelwa ukungafani kwefomethi yephikseli ye-V4L2. Amathuluzi adumile afana ne-OpenCV asebenzisa izilungiselelo zefomethi yephikseli ezingase zingahambisani nezindlela zekhamera yakho ye-UVC ezisekelwayo, okuholela ekwehlulekeni kokuqaliswa komsakazo wevidiyo we-Linux V4L2.
Isixazululo: Setha ngokusobala ifomethi esekelwayo kuhlelo lwakho noma phoqa i-V4L2 ukuthi isebenzise imodi ehambisanayo. Ukuze uhlole ngomugqa womyalo, sebenzisa i-FFmpeg ukusakaza ngezilungiselelo eziqinisekisiwe:
bashffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -i /dev/video0 output.mp4

Inkinga 3: Ukusakaza Okushintshashintshayo Nokulahleka Kwamafreyimu Okungahleliwe

Ukusakazwa kwevidiyo okunqamukayo kanye nokuwa kwezithombe okuhamba ngezikhathi ezithile kumakhamera e-Linux UVC kubangelwa izinkinga ezimbili eziyinhloko: ukuphela komthamo we-USB bus bandwidth kanye nokusetshenziswa kwe-CPU yesistimu ngokweqile. Izinga le-USB 2.0 ligcina ku-480Mbps we-bandwidth yethiyori, okushesha okugcwaliswa yizithombe ezingahluziwe ezinamazinga aphezulu okusakaza njenge-4K noma i-1080p 60fps YUYV video evela kumakhamera e-USB.
Lungisa: Xazulula imikhawulo yomkhawulokudatha ngokushintsha umsakazo wakho uye kumafomethi evidiyo acindezelwe e-MJPG, anciphisa kakhulu umkhawulokudatha. Ungaphinda futhi wehlise isinqumo sekhamera noma izinga lamafreyimu ukuze kuhambisane nomthamo webhasi le-USB, futhi uvale izinqubo ezingemuva ezisebenzisa i-CPU ephezulu eziphazamisa ukukhishwa nokucutshungulwa komsakazo wevidiyo we-Linux V4L2. Ngaphezu kwalokho, gwema ukuxhuma izisetshenziswa eziningi ezinomkhawulokudatha ophezulu ku-hub eyodwa ye-USB njengekhamera yakho ye-Linux ukuze uvimbele ukuncintisana kwezinsiza.

Inkinga 4: Amaphutha Okusebenza Kwedivayisi

Iphutha elivamile elithi “idivayisi noma insiza isebenza” ku-Linux likhombisa ukuthi inqubo yangemuva esebenzayo ivale ukufinyelela okukhethekile kunodi yedivayisi yekhamera yakho ye-Linux V4L2. Izicukuthwane zewebhu, isofthiwe yengqungquthela yevidiyo, nezinhlelo eziqhubekayo zekhamera ezakhiwe ngokwezifiso/ezokubona zivame ukuthatha izinsiza zekhamera ngokuthule, zivimbe ukuxhumana okusha kokusakaza ividiyo okuvela ezinhlelweni zomsebenzisi.
Lungisa: Khomba futhi unqamule inqubo engqubuzanayo:
bashlsof /dev/video0kill -9 [PROCESS_ID]

Inkinga 5: Ukushintsha Kwenkomba Yamakhamera Amaningi

Onjiniyela nabaklami abasebenzisa amasethi amakhamera amaningi e-Linux bavame ukubhekana nokushintsha okungahleliwe kwenkomba yedivayisi ye-V4L2, lapho i-/dev/video0 ishintsha yaba i-/dev/video2 noma ezinye izinkomba ngemuva kokuqalisa kabusha uhlelo. Lokhu kungafani kwephula izindlela zedivayisi eziqondile emathuluzini e-machine vision enziwe ngokwezifiso kanye nezincwadi zokusakaza ezizenzakalelayo.
Lungisa: Sebenzisa imithetho ye-V4L2 udev eqhubekayo yangokwezifiso eboshelwe kuma-ID akhethekile omkhiqizi nomkhiqizo wekhamera yakho. Lokhu kulungiselelwa kwesistimu ye-Linux kunikeza amagama edivayisi angaguquki, agxilile kukhamera ngayinye ye-UVC unomphela, kulungisa unomphela ukushintsha kwenkomba yedivayisi ye-V4L2 kumalungiselelo ekhamera ye-UVC ekusetshenzisweni kwesikhathi eside okushumekiwe nasezimbonini.

Amathiphu Okusebenza Okuhle Kokusetshenziswa Kwekhamera ye-Linux Okuzinzile

Ukuqinisekisa ukuzinza kwesikhathi eside kokusetshenziswa kwekhamera ye-USB ye-Linux—ikakhulukazi kumaseva angenakhanda nakumadivayisi e-Linux ashumekiwe anezinsiza ezilinganiselwe—landela lezi zinqubo ezinhle ezihloliwe zokusetshenziswa kwekhamera ye-UVC nokulungiswa kwesistimu engaphansi ye-V4L2 ku-Linux:
1. Bika phambili ku-Hardware Ehambisana ne-UVC 1.5: Amadivayisi amasha e-UVC 1.5 anokuhambisana okungcono ne-Linux kernel, ukubambezeleka okuphansi kokusakaza, nokuphathwa kwamandla kwe-UVC okuzinzile kunehardware endala ye-UVC 1.0. Gwema amakhamera angenagama ane-firmware engaqinisekisiwe.
2. Gwema i-USB 3.0 Kumakhamera Amadala: Nakuba i-USB 3.0 inikeza isivinini esisheshayo, amakhamera amaningi amadala e-UVC ahlangabezana namaphutha e-handshake kanye nokonakala kwamafreyimu ezimbotsheni ze-SuperSpeed. Namathela ku-USB 2.0 kumakhamera ezinga elijwayelekile kanye ne-1080p.
3. Hlola Amafomethi e-V4L2 Ngaphambi Kokusetshenziswa: Hlala uqinisekisa izinqumo ezisekelwayo zekhamera yakho ye-UVC, amazinga amafreyimu, kanye namafomethi wamaphikseli usebenzisa ithuluzi le-v4l2-ctl ngaphambi kokubhala ikhodi yesicelo esenziwe ngokwezifiso. Ukufaka ngqo izilungiselelo zevidiyo ezingasekelwa iyona mbangela evame kakhulu yokwehluleka kokusakaza kwekhamera ye-UVC ne-V4L2 ngemuva kokusetshenziswa kwabathuthukisi.
4. Qapha Umkhawulokudonsa we-USB wezinhlelo zamakhamera amaningi: Ezinhlelweni zezimboni zamakhamera amaningi okubona komshini ku-Linux, qapha ngokuqhubekayo umkhawulokudonsa webhasi le-USB ukuze ugweme ukugcwala nokuwohloka kokusakaza. Sabalalisa amakhamera e-UVC anomkhawulokudonsa ophezulu kuzilawuli ze-USB ezihlukene ukuze kugcinwe ukusakaza kwevidiyo okuzinzile nokunokubambezeleka okuphansi kwezinhlelo ze-V4L2 zamakhamera amaningi e-UVC.

Imibuzo Evame Ukubuzwa Mayelana Namakhamera e-UVC ne-V4L2 e-USB ku-Linux

1. Uyini umehluko oyinhloko phakathi kwe-UVC ne-V4L2 ku-Linux?

I-UVC (USB Video Class) iyindinganiso yokuxhumana ye-USB esezingeni lehadiwe elawula ukuthi amakhamera e-USB angokoqobo asebenzisana kanjani ne-Linux kernel, okudinga ukuthi amadivayisi ahambisanayo angadingi izishayeli eziyimfihlo. I-V4L2 (Video4Linux2) iyisistimu engaphansi ye-kernel yase-Linux kanye nesixhumi esibonakalayo somsebenzisi esivumela izinhlelo zokusebenza ukuthi zifinyelele, zilungise, futhi zisakaze ividiyo kusuka kumadivayisi ekhamera ye-UVC. Ngamafuphi, i-UVC iphatha ukuxhumana kwehadiwe, kuyilapho i-V4L2 ilawula konke ukusakazwa kwevidiyo nokusebenza kokulungiselela izinhlelo zokusebenza zomsebenzisi.

2. Kungani ikhamera yami ye-USB itholakala ku-lsusb kodwa ama-node e-/dev/video engekho?

Le nkinga cishe ihlezi ibangelwa ukwehluleka kokubopha kwemojuli ye-UVC kernel noma i-firmware yekhamera engahambisani. Isilawuli se-USB siyayibona i-hardware, kodwa imojuli ye-uvcvideo ayikwazi ukubhalisa idivayisi ku-V4L2 subsystem. Izimbangela ezivamile zifaka i-firmware ye-UVC engajwayelekile futhi ephelelwe yisikhathi, izinkinga zemojuli ye-kernel, noma ukunikezwa kwamandla kwe-USB okungalungile. Ungaxilonga nge-dmesg | grep uvc futhi uyixazulule ngokulayisha kabusha imojuli ye-uvcvideo noma ngokubuyekeza i-firmware yekhamera.

3. Kungani ikhamera yami ye-UVC ibonisa isikrini esimnyama ku-Linux?

Izikrini ezimnyama zibangelwa ikakhulukazi ukungafani kwefomethi ye-V4L2 pixel kanye nokulungiswa. Izinhlelo eziningi ze-Linux ezifana ne-OpenCV zisebenzisa amafomethi evidiyo ezenzakalelayo angase angahambisani namamodi asekelwa ngokwemvelo ekhamera yakho ye-UVC. Ezinye izimbangela ezincane zihlanganisa izimvume zedivayisi ye-V4L2 ezinganele, izinsiza zekhamera ezikhiyiwe, noma ukuqaliswa kwedrayiva ye-UVC okungaphelele. Hlala uqinisekisa amamodi okusakaza asekelwayo nge-v4l2-ctl --list-formats-ext ngaphambi kokusebenzisa izinhlelo zokusakaza.

4. Ngilungisa kanjani amafreyimu aguquguqukayo kanye nokwehla kwamafreyimu okungahleliwe kumakhamera e-USB e-Linux?

Ukugwedla nokwehla kwama-frame kuvame ukubangelwa ukugcwala komkhawulokudonsa we-USB kanye nokusetshenziswa okuphezulu kwe-CPU. Imifudlana ye-YUYV engenacwecwe yokulungiswa okuphezulu idla umkhawulokudonsa omkhulu we-USB 2.0, okuholela ekulahlekelweni kwedatha. Isixazululo esisebenza kahle kakhulu ukushintshela ekusakazeni okucindezelwe kwe-MJPG ukunciphisa ukusetshenziswa komkhawulokudonsa. Ngaphezu kwalokho, gwema ukwabelana ngama-hub e-USB nezinye izinto ezisebenzisa umkhawulokudonsa ophezulu futhi vala izinqubo zangemuva ezisebenzisa kakhulu izinsiza ze-CPU ekucubunguleni imifudlana ye-V4L2.

5. Ungayixazulula kanjani iphutha le-V4L2 elithi “device or resource busy”?

Leli phutha livela lapho inqubo yangemuva isebenzisa ngokukhethekile indawo yekhamera ye-V4L2. Izinhlelo ezivamile ezisebenzisayo zifaka iziphequluli, amathuluzi ezingqungquthela zevidiyo, kanye nemibhalo yesikhathi eside yokubona ngomshini. Ungathola inqubo engqubuzanayo nge-`lsof /dev/video0` bese uyinqamula ukuze ubuyisele ukufinyelela kwekhamera emisebenzini emisha yokusakaza.

6. Ngingayeka kanjani ukushintsha kwenkomba yekhamera ye-V4L2 kumasethingi e-Linux anamakhamera amaningi?

Ukushintsha kwenkomba ye-Random /dev/videoX ngemuva kokuqalisa kabusha kuyinkinga evamile kuma-deployments amaningi amakhamera e-UVC. Isixazululo saphakade ukwakha imithetho ye-Linux udev yangokwezifiso eboshelwe ku-ID ekhethekile yomkhiqizi nomkhiqizo wekhamera ngayinye. Lokhu kulungiselelwa kunikeza ama-node wedivayisi angaguquki kukhamera ngayinye, kuqede ngokuphelele ukushintsha kwenkomba ye-V4L2 futhi kuqinisekise ukusebenza okuzinzile kwezincwadi zokubona ezizenzakalelayo nezinhlelo zezimboni.

7. Ingabe izimbobo ze-USB 3.0 zingcono kumakhamera e-UVC ku-Linux?

Akunjalo ngempela ezimweni eziningi zokusetshenziswa. Nakuba i-USB 3.0 inikeza umkhawulokudonsa ophezulu wethiyori, iningi lamakhamera e-UVC endabuko najwayelekile lihlangabezana nokungqubuzana kwe-handshake, ukungahambisani kwe-firmware, nokonakala kwefremu ye-V4L2 ezimbotsheni ze-SuperSpeed. Ezimweni zokusakaza kwe-1080p nokwezinye izinqamuleli eziphansi, izimbobo ze-USB 2.0 zinikeza ukusebenza okuzinzile kakhulu kwekhamera ye-UVC ezinkundleni ze-Linux. I-USB 3.0 inconywa kuphela kumakhamera e-UVC 1.5 esimanje ezinemba ephezulu ezidinga umkhawulokudonsa ophezulu kakhulu.

Imicabango Yokugcina

Ukusebenza namakhamera e-USB ku-Linux kuzwakala kuyinkimbinkimbi kuphela lapho abasebenzisi behluleka ukuhlukanisa phakathi kwendima yokuxhumana kwezingxenyekazi ze-UVC kanye nomsebenzi wokuxhumana nomsebenzisi we-V4L2. Uma usuvele uqonda kahle isakhiwo esinezingqimba sokuthwebula ividiyo ku-Linux, zonke izinkinga ezivamile zekhamera ye-Linux zihlehlela kumbangela olula futhi osebenzisekayo: izimvume zedivayisi ye-V4L2 ezinganele, ukungafani kwefomethi yephikseli ye-V4L2, imikhawulo yomthamo webhendi ye-USB, noma ukungahambisani kwefirmware ye-UVC.
Le mhlahlandlela enezingqimba, esebenza kusukela ekuqaleni kuze kube sekugcineni, isusa konke ukuqagela ekusethweni kwekhamera ye-USB ku-Linux, ihlanganisa ukuqinisekiswa kwezingxenyekazi ezibonakalayo ze-USB, ukuqinisekiswa kwemojuli ye-kernel ye-UVC, ukulungiselelwa kwedivayisi ye-V4L2, kanye nokulungiswa kokusakaza ezingeni lohlelo lokusebenza. Noma ngabe wakha amathuluzi ayisisekelo okusakaza nge-webcam, amasistimu okubona amarobhothi afakwe ngaphakathi, noma imigqa yokuqapha ividiyo yezimboni, ukuqonda okuqinile kokuhlanganiswa kwe-UVC ne-V4L2 kuyisisekelo semigqa ethembekile futhi esebenza kahle yokuthwebula ividiyo ku-Linux.
Ikhamera ye-USB ye-Linux, ikhamera ye-UVC ye-Linux
Uxhumane
Sicela uxhumane nathi uhambele

Mayelana nathi

Usizo

+8618520876676

+8613603070842

Izindaba

leo@aiusbcam.com

vicky@aiusbcam.com

WhatsApp
WeChat