MJPEG格式的webcam怎样改成YUY2格式的webcam

nemo 2014-06-16 06:02:57
现有一个webcam,输出的数据帧是MJPEG的,但是因为host端只支持YUY2格式的数据帧,所以需要降webcam的数据改为YUY2,查找了usb的协议,要改为YUY2,首先描述符那里就和MJPEG不一样,bDescriptorSubtype的类型为VS_FORMAT_UNCOMPRESSED和VS_FRAME_UNCOMPRESSED,修改完这里之后,pc端能认到webcam,并且使用amcap可以看到颜色空间那里也已经变成了YUY2,但是就是不会出图像,请问有没有人调过YUY2的webcam,应该还要改哪里pc端才能正常显示图像出来?
...全文
915 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunxq008 2014-07-03
  • 打赏
  • 举报
回复
改用linux吧,MJPG/JPEG和YUYV之间的格式转换很简单的。让内核支持UVC,应用的话,V4L2绝对是不二选择。 接下来,只要sensor支持(sensor支持的图像格式可以枚举出来),图像格式就可以自己选啦。
曹大夯 2014-06-17
  • 打赏
  • 举报
回复
好吧,只要你能确定Sensor输出是YUV数据而不是JPEG就行。 你得再具体看看USB Video Class Specification。看看你的格式协商的部分,看看传输YUV和JPEG有什么不一样的要求。另外要注意,YUV相关的格式域要声明正确。 应用程序和操作系统驱动程序应该是不需要修改的。只是需要注意,操作系统最好是Windows 7以上,确保Camera的驱动程序是微软最新发布的。
nemo 2014-06-17
  • 打赏
  • 举报
回复
引用 2 楼 Huntercao 的回复:
你的Webcam Chip是哪个厂家的。 修改格式需要控制webcam 内的Firmware和webcam sensor的配置。第三方自己修改比较困难。
Sensor那边是不用改的,只是之前是yuv编码成jpeg然后发送,现在是直接发送yuv的数据,但是不知道为什么pc端那边收不到数据,通过bushound抓包看到数据都已经发送出来了,只是不知道是payload格式错了还是哪里的原因。
曹大夯 2014-06-17
  • 打赏
  • 举报
回复
你的Webcam Chip是哪个厂家的。 修改格式需要控制webcam 内的Firmware和webcam sensor的配置。第三方自己修改比较困难。
nemo 2014-06-16
  • 打赏
  • 举报
回复
自己顶一下 !

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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