我嘗試獲取opencv的立體對。我將Logitech B910和Logitech C910網絡攝像機連接到USB。但有這個錯誤。我玩怪癖參數,並在mplayer中設置了outfmt=mjpeg
,但又有這個錯誤。libv4l2:打開流的錯誤:設備上沒有剩餘空間
哪裏可以找到uvcvideo或usb驅動程序中的錯誤?我應該使用哪些監控或調試工具?
我嘗試獲取opencv的立體對。我將Logitech B910和Logitech C910網絡攝像機連接到USB。但有這個錯誤。我玩怪癖參數,並在mplayer中設置了outfmt=mjpeg
,但又有這個錯誤。libv4l2:打開流的錯誤:設備上沒有剩餘空間
哪裏可以找到uvcvideo或usb驅動程序中的錯誤?我應該使用哪些監控或調試工具?
這是措辭錯誤的錯誤消息;原因是控制器上沒有足夠的USB帶寬。
正如你所猜測的,如果你可以讓你的相機使用MJEPG,你的問題將得到解決。
OpenCV可能使用FFMPEG進行採集,(Linux版本通常具有FFMPEG支持),並且OpenCV文檔承認,如果使用FFMPEG,則無法更改採集格式。
我在我的研究中發現的所有內容都是您需要更改FFMPEG配置。
嘗試將攝像頭移動到不同的USB控制器(如果可以的話)。
你如何讓你的相機使用MJEPG?在Opencv或在某個地方的相機驅動程序? – bakalolo 2016-11-14 21:41:21
這可以通過任何[USB適配卡]解決(https://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&N=-1&isNodeId=1&Description=pci+usb+card) ,它帶有板載控制器?或者主機內存也將是一個問題,而DMA? – 2017-06-21 02:23:50
是的,添加另一個控制器將幫助 – 2017-06-22 04:06:46
這是USB控制器空間不足的問題。
這通常可以通過將設備插入不同的USB端口來解決。例如,我的電路板上有eSATA端口,USB 2端口和USB 3端口。如果您以前使用USB2端口,請嘗試使用USB3端口。
您可以通過
cat /sys/kernel/debug/usb/devices | grep "B: "
看到通過在Ubuntu的命令行視頻卡配股您可能需要使用sudo取決於發行。如果你是windows,或者osx抱歉,我不知道這些系統的解決方案。
我的結果看起來像這樣。
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
B: Alloc=140/900 us (16%), #Int= 4, #Iso= 0
B: Alloc= 0/900 us (0%), #Int= 0, #Iso= 0
B: Alloc= 17/900 us (2%), #Int= 1, #Iso= 0
B: Alloc= 0/900 us (0%), #Int= 0, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 1, #Iso= 0
B: Alloc= 0/800 us (0%), #Int= 0, #Iso= 0
這種工作方式的魅力對我來說
sudo rmmod uvcvideo
sudo modprobe uvcvideo quirks=128
這將是重置每次重新啓動。如果一切正常,創建以下文件:含sudo vi /etc/modprobe.d/uvcvideo.conf
行:options uvcvideo quirks=128
檢查此鏈接http://renoirsrants.blogspot.in/2011/07/multiple-webcams-on-zoneminder.html
驚人!好工作broski! – bakalolo 2017-06-02 22:11:31
我只是碰到了這個問題,它原來我有我的網絡攝像頭(羅技快變焦)連接到USB 2.0端口,而不是首先插入的USB 3.0端口。
作爲第一步,您是否檢查了輸出設備上是否有足夠的空間? – 2012-07-09 12:22:35
當然,超過5Gb。 – victor1234 2012-07-09 12:24:51
這個縮寫意味着五千兆位。你可能是指GB或GiB。 – 2012-07-09 14:17:08