目前使用6路图像同步接收,使用开发板的GPIO触发相机拍照,并且通过两个自带电源供电的hub连接的六路相机,通过USB3.0向板子传输图片,并且通过另一个USB3.0的口插硬盘接收,通过python实现,但是不论如何修改代码都只有相机路径中的前四个可以传输图片,我想咨询一下是否是开发板的系统针对UVC协议的传输有上限如何可以解决这种问题,希望老师帮忙解答一下,谢谢
- RDK X5开发板上的USB接口是通过一个USB3.0控制器hub扩展出来的。
- UVC协议在声明设备时,默认会尝试占用尽可能多的带宽。第一个摄像头可能会占用大量带宽,导致后续设备无法正常取流。
- 一个USB3.0接口支持的总带宽是有限的,如果6路相机的数据总量超过了USB3.0的理论带宽上限,就会出现部分设备无法传输图像的情况。
好的老师,针对第二个这种情况一般是怎么解决的呢
可以尝试以下命令
# 卸载当前驱动
sudo rmmod uvcvideo
# 重新加载并限制带宽
sudo modprobe uvcvideo quirks=128