USB摄像头做V4L2视频采集ioctl 设置视频格式的时候出现VIDIOC_S_FMT error 16, Device or resource busy

godwww 2015-05-15 01:33:44
大神们都来看看,v4l2视频采集出现这个错误:
cap->capabilities = 0x4000001
VIDOOC_QUERYCAP
the camera driver is uvcvideo
the camera card is USB2.0 PC CAMERA
the camera bus info is usb-s5p-ehci-2.3.3
the version is 197888
xioctl VIDIOC_S_FMT errro
VIDIOC_S_FMT error 16, Device or resource busy
代码出错点如下:
if (-1 == xioctl(cam->fd, VIDIOC_S_FMT, fmt))
errno_exit("VIDIOC_S_FMT");
...全文
2718 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色未来 2016-12-15
  • 打赏
  • 举报
回复
我调试中也遇到了这个问题,请问可以请教楼主是怎么解决的吗?原因是什么呢?有没有哪位大神可以指教一下的?
听雨听风眠 2016-12-01
  • 打赏
  • 举报
回复
ioctl(cam->fd, VIDIOC_S_FMT, fmt)) 的fmt没有设置正确,需要看你摄像头支持什么格式, 设置fmt.fmt.pix.pixelformat ; 其值通常为V4L2_PIX_FMT_YUYV或V4L2_PIX_FMT_JPEG fmt.fmt.pix.pixelformat =V4L2_PIX_FMT_YUYV; 或 fmt.fmt.pix.pixelformat =V4L2_PIX_FMT_JPEG;
two_0_mt 2016-08-26
  • 打赏
  • 举报
回复
要不试下VIDIOC_TRY_FMT这个看看
mypint_skyman 2016-03-31
  • 打赏
  • 举报
回复
这个问题怎么解掉啊, 我的cemera只有我的程序再用啊
引用 2 楼 godwww 的回复:
I have found the anser, while doing video capture,camera should not work in other apps
代码搬运工007 2015-07-23
  • 打赏
  • 举报
回复
我也遇上这个问题的,请问是怎么解决的,希望分享一下,谢谢
沉西乐恩 2015-05-18
  • 打赏
  • 举报
回复
我刚刚也出现跟你一样的错误。 open 和请求视频能力(VIDIOC_QUERYCAP)都没问题, 一到设置格式就busy,希望博主找到问题所在了分享一下~ 谢谢~
沉西乐恩 2015-05-18
  • 打赏
  • 举报
回复
设置视频格式的时候怎么会在capture呢?格式设置完还得申请缓冲帧、物理内存。。。 还有一堆事情没干呢,怎么会就开始抓图了呢?
godwww 2015-05-18
  • 打赏
  • 举报
回复
I have found the anser, while doing video capture,camera should not work in other apps

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧