uvc camera在usb带宽不足的情况下,如何正常出图?
发布时间:2018-06-07 09:25,
浏览次数:2265
, 标签:
uvc
camera
usb
在某些平台设备,如果同时使用多个uvc camera进行数据采集或者是同一个USB,既用作OTG功能,又用作USB host功能,会因为USB
带宽的的限制,导致camera无法正常使用,使用失败的现象如下:
uvcvideo: Failed to submit URB 0 (-28). No space left on device
在通过VIDIOC_STREAMON开启流数据传输时,将会产生以上错误,这个是由与USB的带宽不足导致的,出现这样的问题,可以尝试将分辨率调低,或者换为编码格式输出,如果还是不行,可以通过手动限制uvc
camera的输出带宽。
uvc驱动会在注册uvc camera的时候,在注册video节点之前,查询uvc
camera实际硬件的设备情况,并保存好,然后当使用的时候,设置完输出分辨率、格式等参数之后,在VIDIOC_STREAMON的时候,会根据设置的分辨率以及格式、注册video节点时查询得到的信息计算所需带宽,然后将该带宽与uvc
camera实际情况比较反馈得到一个合适的带宽设置到uvc camera中。
那么如何查看uvc camera支持的带宽信息呢?先通过lsusb命令查看得到uvc camera的厂家信息,比如得到下面