Error starting stream. VIDIOC_STREAMON: Protocol error Unable to use mmap. Using read instead. Unabl

今天树莓派4B+调用摄像头拍照出了问题,具体如下:
Error starting stream.
VIDIOC_STREAMON: Protocol error
Unable to use mmap. Using read instead.
Unable to use read.

在这里插入图片描述
然后解决办法还是
fswebcam -r160x120 test.jpg

先说下原因,linux中为usb camera提供了一个统一的驱动以方便使用,只要符合驱动规范就可以实现即插即用usb camera设备,即免驱动安装乐。 usb bus的 bandwidth是有限的,而本着贪心原则,camera会要求获取最大带宽(usb2.0 camera480?);而将两个camera接入一路usb bus,打开第二个camera就会出现”No space left on device”的错误。

降低打开视频流的分辨率,改为320x240;并对uvcvideo驱动设置参数,强制为camera分配带宽时计算所需带宽而非申请全部带宽;(只对YUYV格式有效,对有些camera此方法可以支持640x480分辨率)

以此记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值