linuxusb摄像头使用方法,linux下USB摄像头的使用说明

linuxusb摄像头使用方法,linux下USB摄像头的使用说明

2023年7月6日发(作者:)

linuxusb摄像头使⽤⽅法,linux下USB摄像头的使⽤说明此处我只说⽤uvc通⽤驱动查询摄像头是否是UVC设备,参见官⽹1 找到CAMERA ID2 lsusb -d VID:PID -v | grep “14 Video”如果输出有下⾯信息说明⽀持bFunctionClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 VideobInterfaceClass 14 Videolsusb -d VID:PID -v 可以列出了⼀个usb设备的有所信息,接⼝,更详细的树形图lsusb -tUVC驱动代码详解详情请看此系列博⽂我要说的⼀点就是该驱动的可能限制,在写应⽤程序时就要注意到。uvc_driver.c⾥头⼀段话就说了驱动的限制:This driver aims to support video input and ouput devices compliant with the ‘USB Video Class’ driver doesn’t support the deprecated v4l1 interface. It implements the mmap capture method only, and doesn’t doany image format conversion in software. If your user-space application doesn’t support YUYV or MJPEG, fix it :-). Pleasenote that the MJPEG data have been stripped from their Huffman tables (DHT marker), you will need to add it back if yourJPEG codec can’t handle MJPEG data.从中看出以下⼏点:1 只⽀持mmap⽅式 ,不⽀持read,usrptr什么的。所以v4l2⾥说的⽤户获取摄像头数据的⽅式有三种在这个驱动⾥那是没有的,到底⽀不⽀持你要看看你⾃⼰的内核⾥⾯的驱动说明了。2 不再⽀持v4l1接⼝3 不做任何图像格式转换,只输出YUYV或MJPEG(?)4 MJPEG 格式的data没有Huffman tables,所以如果要做格式转换需要⾃⼰加⼊Huffman tables才⾏。明明是UVC摄像头,但不是不⽀持怎么办?更新驱动⽂件吧,下载下来的内核⾥的uvc驱动并不是最新的,现在摄像头做的快,肯定是跟不上的,也可以⾃⼰改,⼀般在 static structusb_device_id uvc_ids[]这个结构⾥增加你的摄像头型号就好了:⽐如我的摄像头是0ac8:3420,就不⽀持,那么在drivers/media/video/uvc/uvc_driver.c的uvd_ids中增加如下就⾏。{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE| USB_DEVICE_ID_MATCH_INT_INFO,.idVendor = 0x0ac8,.idProduct = 0x3420,.bInterfaceClass = USB_CLASS_VIDEO,.bInterfaceSubClass = 1,.bInterfaceProtocol = 0,.driver_info = UVC_QUIRK_FIX_BANDWIDTH },⼼得在编译uvc驱动的内核时,最好将它们以模块的⽅式编译内核,并勾选上⾃动加载(Automatic kernel module loading),新版内核如果选择了加载模块就默认了似乎,因为我也没找到这选项。⼀插上摄像头,uvc相关模块就⾃动加载了。如下:# lsmodModule Size Used by Not tainteduvcvideo 64611 0videobuf2_core 21211 1 uvcvideovideodev 85103 2 uvcvideo,videobuf2_corevideobuf2_vmalloc 2119 1 uvcvideovideobuf2_memops 1550 1 videobuf2_vmallocleds_s3c24xx 1193 0led_class 2321 1 leds_s3c24xxevbug 1594 0#和linux中加载模块有关的⼏个命令分别如下:depmod, modprobe, lsmod,insmoddepmod:在busybox这样如果有驱动不⾏,还可以修改编译后再试。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688593638a153179.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信