摄像头驱动vidpid大全
教你如何了解监控摄像头DSP与CMOS方案
教你如何了解监控摄像头DSP与CMOS方案尽管不同方案的监控摄影头可使用不同款式的外壳,但驱动程序必须配套使用,这为区分产品提供了可靠依据。
监控摄像头的驱动程序通常可分为设备识别文件和设备驱动文件两大部分,核心识别主要从设备识别文件入手。
用于Windows 98的驱动程序多采用SYS 文件,由于无法用记事本打开,我们主要查看用于Windows 2000/XP的INF驱动文件。
INF 文件包括设备识别、文件拷贝、注册表修改等几大部分,无论厂商如何“伪装”其INF中的识别字段都无法完全隐藏真正的核心名称。
凌扬561系列方案的文件比较多,其设备识别INF 文件大小在10KB左右(公版驱动的文件名为“spca561.inf”)。
打开后可看到设备识别字段为“%CA561.DeviceDesc%=CA561.Device,USB\VID_04fc&PID_0561”。
与其它产品的驱动类似,在整个INF文件中也多次出现“561”关键字。
例如中星微ZC0301系列芯片的驱动一般由12个文件组成,但最重要的INF文件中通常包含以下字段:[VM.NT]%USB\VID_0AC8&PID_0302.DeviceDesc%=BDCam302.XP,USB\VID_0AC8&PID_301B[VM]%USB\VID_0AC8&PID_0302.DeviceDesc%=BDCam302,USB\VID_0AC8&PID_301B这便是ZC0301方案的主要特征,即便“BDCam302.XP,USB”这些字段可能有所不同,但整个INF文件中多次出现关键字“301”。
就算厂商把这个识别字段改变,相应的注册表字段也很难修改。
客观地讲,通过驱动程序识别网络监控摄像头核心的方法并不绝对准确,但足以让绝大部分产品原形毕露。
有一点需注意,同一种芯片可能有多种版本,各版本驱动不能互换,如ZC0301系列就有301B、301L和301P等多种,因此利用公版驱动可能无法判断具体的版本号。
WindowsCE下USB摄像头驱动开发以OV511为例附带全部源代码以及讲解
这部分讲解如何在Windows 下实现 一样的功能。
Windows 的控制传输
查看MSDN,IssueControlTransfer和 IssueVendorTransfer是用来进行控制传输的,但两个函数 有什么区别呢? 看MSDN,IssueControlTransfer的第一个参数是 hPipe,就是说,在使用IssueControlTransfer之前,必须 用OpenPipe打开管道。 OpenPipe函数需要端点描述作为参数。但是,端点0是 没有这个描述可以用的(MSDN: However, endpoint zero (0) never has a USB_ENDPOINT structure)。 我没测试自己指定描述是否可以,但是, IssueVendorTransfer提供了更为方便的途径。这个函数默 认从端点0进行控制传输。 如果是其他端点的控制传输,是要用 IssueControlTransfer的。
Windows 下 流接口USB驱动程序加载的流程
6.接着CAM_Init函数被调用,参数就是ActiveDevice函数的 参数1,然后依据这个参数,在注册表中找到USB驱动程序的上下 文,并返回,这样对该流接口驱动的操作,就可以找到USB驱动 的上下文,并且交换数据。 以上这些工作完成之后,USB设备的信息被保存,并且USB 驱动程序上下文也被流接口驱动所记载。流接口USB驱动的加载 完成。我们就看见那个输入驱动程序名称的对话框消失了。如果前 面6个步骤中任何一步不成功,将不会使用这个驱动程序,会反复 弹出这个对话框,提示输入驱动程序名称,直到这些过程全部正确 完成。
HKEY_LOCAL_MACHINE\Drivers\Active中的项目。 注意:USB驱动程序不通过注册表API来操作注册表,而是通过 USBD提供的函数。
Linux视频设备驱动编程(v4l2编程)
Linux视频设备驱动编程(v4l2编程)一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。
在Linux 中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。
二、一般操作流程(视频设备):1. 打开设备文件。
int fd=open(”/dev/video0″,O_RDWR);2. 取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。
VIDIOC_QUERYCAP,struct v4l2_capability3. 选择视频输入,一个视频设备可以有多个视频输入。
VIDIOC_S_INPUT,struct v4l2_input4. 设置视频的制式和帧格式,制式包括PAL,NTSC,帧的格式个包括宽度和高度等。
VIDIOC_S_STD,VIDIOC_S_FMT,struct v4l2_std_id,struct v4l2_format5. 向驱动申请帧缓冲,一般不超过5个。
struct v4l2_requestbuffers6. 将申请到的帧缓冲映射到用户空间,这样就可以直接操作采集到的帧了,而不必去复制。
mmap7. 将申请到的帧缓冲全部入队列,以便存放采集到的数据.VIDIOC_QBUF,struct v4l2_buffer8. 开始视频的采集。
VIDIOC_STREAMON9. 出队列以取得已采集数据的帧缓冲,取得原始采集数据。
VIDIOC_DQBUF10. 将缓冲重新入队列尾,这样可以循环采集。
VIDIOC_QBUF11. 停止视频的采集。
VIDIOC_STREAMOFF12. 关闭视频设备。
close(fd);三、常用的结构体(参见/usr/include/linux/videodev2.h):struct v4l2_requestbuffers reqbufs;//向驱动申请帧缓冲的请求,里面包含申请的个数struct v4l2_capability cap;//这个设备的功能,比如是否是视频输入设备struct v4l2_input input; //视频输入struct v4l2_standard std;//视频的制式,比如PAL,NTSCstruct v4l2_format fmt;//帧的格式,比如宽度,高度等struct v4l2_buffer buf;//代表驱动中的一帧v4l2_std_id stdid;//视频制式,例如:V4L2_STD_PAL_Bstruct v4l2_queryctrl query;//查询的控制struct v4l2_control control;//具体控制的值下面具体说明开发流程(网上找的啦,也在学习么)打开视频设备在V4L2中,视频设备被看做一个文件。
参考摄像头驱动vidpid大全
最常见的摄像头硬件ID:VID_0AC8&PID_0302 VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案USB\VID_0AC8&PID_301B 301B方案USB\VID_0AC8&PID_305B 305B方案USB\VID_0AC8&PID_307B ZS211方案USB\VID_0ac8&PID_0321 VC0321USB\VID_0ac8&PID_0323 VC0323USB\VID_0ac8&PID_0323 ZC0323PUSB\VID_0ac8&PID_0328USB\VID_0ac8&PID_0326 ZC0326中星微无驱方案摄像头1支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410USB\VID_0ac8&PID_3420USB\VID_0ac8&PID_3430USB\VID_0ac8&PID_3440USB\VID_0ac8&PID_3000中星微无驱方案2支持硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3370USB\VID_0ac8&PID_3380USB\VID_0ac8&PID_3410USB\VID_0ac8&PID_3420USB\VID_0ac8&PID_3430USB\VID_0ac8&PID_3440USB\VID_0ac8&PID_3450USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
华硕摄像头PID
HardwareID9=USBVid_04f2&Pid_b13a&MI_00
HardwareID10=USBVid_04f2&Pid_b16B&MI_00
HardwareID11=USBVid_04f2&Pid_b16E&MI_00
HardwareID12=USBVid_04f2&Pid_b189&MI_00
HardwareID5=USBVid_064e&Pid_f115&MI_00
HardwareID6=USBVid_064e&Pid_a115&MI_00
HardwareID7=USBVid_064e&Pid_a122&MI_00
HardwareID8=USBVid_064e&Pid_a124&MI_00
HardwareID9=USBVid_064e&Pid_a136&MI_00
下载地址:/pub/ASUS/nb/Drivers/CMOS_Camera/Camera_Suyin_WIN7_32_6585377014.zip
8设备ID
2:设备ID
HardwareID=USBVid_04f2&Pid_b033&MI_00
下载地址:/pub/ASUS/nb/Drivers/CMOS_Camera/Camera_Chicony_Win7_32_61533132.zip
HardwareID6=USBVid_04f2&Pid_b106&MI_00
HardwareID7=USBVid_04f2&Pid_b141&MI_00
摄像头驱动vid pid大全
最常见的摄像头硬件ID:VID_0AC8&PID_0302 VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案USB\VID_0AC8&PID_301B 301B方案USB\VID_0AC8&PID_305B 305B方案USB\VID_0AC8&PID_307B ZS211方案USB\VID_0ac8&PID_0321 VC0321 0321.htm USB\VID_0ac8&PID_0323 VC0323USB\VID_0ac8&PID_0323 ZC0323PUSB\VID_0ac8&PID_0328USB\VID_0ac8&PID_0326 ZC0326中星微无驱方案摄像头1支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3000中星微无驱方案2支持硬件ID:USB\VID_0ac8&PID_3313 USB\VID_0ac8&PID_0331 USB\VID_0ac8&PID_331B USB\VID_0ac8&PID_0332 USB\VID_0ac8&PID_332D USB\VID_0ac8&PID_3330 USB\VID_0ac8&PID_3332 USB\VID_0ac8&PID_3333 USB\VID_0ac8&PID_3340 USB\VID_0ac8&PID_3342 USB\VID_0ac8&PID_3343 USB\VID_0ac8&PID_336D USB\VID_0ac8&PID_3370 USB\VID_0ac8&PID_3380 USB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3450 USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
USB摄像头驱动之分析描述符
USB摄像头驱动之分析描述符USB摄像头驱动是用于支持和管理USB摄像头设备的软件程序。
在开发USB摄像头驱动时,分析描述符是一个重要的步骤,以确保驱动程序正确地识别和使用USB摄像头设备。
本文将详细介绍USB摄像头驱动中的分析描述符。
在USB设备中,描述符是用于描述设备和接口功能的数据结构。
描述符包含有关设备的各种信息,例如设备的供应商ID、产品ID、版本号等。
在USB摄像头驱动中,分析描述符主要用于识别和配置摄像头设备。
1. 设备描述符(Device Descriptor):设备描述符用于描述USB设备的基本信息。
它包含有关供应商ID、产品ID、设备版本、USB规范版本等信息。
通过设备描述符,USB摄像头驱动可以识别相应的设备,从而进行后续的配置和驱动加载。
2. 配置描述符(Config Descriptor):配置描述符用于描述USB设备的配置信息。
它包含有关设备的功率要求、接口数目、接口描述符等信息。
USB摄像头驱动通过配置描述符确定设备的配置,并为设备选择合适的接口进行通信。
3. 接口描述符(Interface Descriptor):接口描述符用于描述USB设备的接口信息。
它包含有关接口的类别、子类别、协议等信息。
USB摄像头驱动通过接口描述符确定设备的接口特性,并与设备进行通信。
通过分析描述符,USB摄像头驱动可以识别摄像头设备的详细信息,并根据设备的描述配置和加载相应的驱动程序。
此外,USB摄像头驱动还包括其他重要的功能,如设备初始化、数据传输和控制命令处理等。
驱动程序通过与USB摄像头设备的通信,实现视频流的采集和传输,以及对摄像头参数的设置和控制。
总结起来,USB摄像头驱动中的分析描述符是用于识别和配置USB摄像头设备的关键部分。
分析描述符包括设备描述符、配置描述符和接口描述符等,通过这些描述符,驱动程序可以正确地识别设备并进行相应的配置和加载。
在开发USB摄像头驱动时,合理分析和使用描述符是确保驱动程序正常工作的重要步骤。
摄像头驱动vidpid大全
最常见的摄像头硬件ID:VID_0AC8&PID_0302VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案/301plh.htm USB\VID_0AC8&PID_301B 301B方案/301B.htm USB\VID_0AC8&PID_305B 305B方案/305B.htmUSB\VID_0AC8&PID_307B ZS211方案/ZS211.htm USB\VID_0ac8&PID_0321 VC0321 /VC0321.htm USB\VID_0ac8&PID_0323 VC0323 /VC0323.htm USB\VID_0ac8&PID_0323 ZC0323P /ZC0323P.htm USB\VID_0ac8&PID_0328 /ZC0326.htm USB\VID_0ac8&PID_0326 ZC0326 /ZC0326.htm中星微无驱方案摄像头1/VM332.htm支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3000中星微无驱方案2/Vimicro_UVC.htm支持硬件ID:USB\VID_0ac8&PID_3313 USB\VID_0ac8&PID_0331 USB\VID_0ac8&PID_331B USB\VID_0ac8&PID_0332 USB\VID_0ac8&PID_332D USB\VID_0ac8&PID_3330 USB\VID_0ac8&PID_3332 USB\VID_0ac8&PID_3333 USB\VID_0ac8&PID_3340 USB\VID_0ac8&PID_3342 USB\VID_0ac8&PID_3343 USB\VID_0ac8&PID_336D USB\VID_0ac8&PID_3370 USB\VID_0ac8&PID_3380 USB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3450 USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
教你如何让识别摄像头型号
教你如何让识别摄像头型号问:摄像头驱动难找吗?答:难找问:为什么难找?答:山寨品牌多如牛毛,无主页,不提供驱动下载,一年半载的还可能倒闭,售后服务无从谈起。
当前还没有通用的检测摄像头主控芯片的软件,不能通过主控芯片查找驱动。
问:没办法了吗?答:当然不是,可以通过查询硬件ID间接获知摄像头的硬件厂商、产品型号,安装公版驱动。
下面介绍什么是硬件ID,如何获取硬件ID以及如何依据硬件ID查找摄像头驱动。
(如果你想暴力拆解摄像头,直观的看到摄像头主控芯片,那么下面这篇文章您可以不看,直接去找驱动好了)通过硬件ID精确找到你要的驱动或寻求帮助。
什么是硬件ID呢?硬件ID是电脑所有硬件的一个编号,所有设备都有如下编号:VEN_1106&DEV_3038,VEN 代表硬件厂商,DEV代表产品编号。
USB设备会有如下编号:VID_045E&PID_0039,道理跟上面的是一样的。
所有的测试软件都有可能会出错,只有硬件ID是最可靠的,各位只要确认下INF文件包含需要的硬件ID,就保证是可以用的。
具体到摄像头,我们需要知道VID 和PID。
VID/PID是全球USB组织统一分配的代码,VID是代表厂家,PID是代表产品型号,任何一个USB设备生产商必须注册此两个号码,且注册后不能修改,因此该代码可以作为判断的依据。
如何获得摄像头硬件ID?方法1:最简单的方法是直接在设备管理器中查看。
右键“我的电脑”---管理----“设备管理器”---“图像处理设备”选择任意一个摄像头设备双击,在“详细信息”一栏即可看到相关信息:代码表示的意思是:其中VID_0C45代表松瀚,PID_62C0代表芯片288方法2:使用USBVIEW软件查询下载地址:h ttp:///soft/287.htm下面是目前主流摄像头芯片厂家的代码,仅供参考:VID(厂家代号)PID(芯片代号)厂家与芯片型号VID_0C45PID_62C0台湾松瀚288,其中288与288P是同一个代号USB2.0免驱VID_0AC8PID_303B中星微301H,即303,USB1.1,需要安装驱动VID_0AC8PID_3340中星微334,USB2.0免驱VID_1781PID_0306台湾嘉映308H USB2.0免驱附VID、PID查询网站h ttp:///usb.ids获取VID、PID后,据此下载驱动,然后打开驱动的INF文件,可以找到里面对应设备管理器的硬件ID即可判断驱动是否正确。
摄像头id大全
摄像头id大全摄像头id,又称为摄像头设备id,是指摄像头设备在系统中的唯一标识符。
在实际应用中,摄像头id的作用非常重要,它可以用于监控系统中对摄像头的管理、控制和数据传输等操作。
因此,摄像头id的准确获取和使用对于监控系统的正常运行至关重要。
一、摄像头id的获取方法。
1. 在Windows系统中,可以通过设备管理器来查看摄像头id。
首先,打开设备管理器,展开“图像设备”选项,找到相应的摄像头设备,右键点击属性,选择详细信息,即可看到摄像头id的信息。
2. 在Linux系统中,可以通过命令行工具来查看摄像头id。
使用命令“lsusb”可以列出所有USB设备的信息,其中包括摄像头设备的id。
另外,也可以通过“dmesg”命令查看摄像头设备的插拔信息,从而获取摄像头id。
3. 在移动设备(如手机、平板)中,可以在系统设置中找到摄像头信息,一般会显示摄像头id或者设备序列号。
二、摄像头id的作用。
1. 摄像头id可以用于监控系统中的摄像头管理。
通过摄像头id,可以对不同摄像头进行识别和管理,包括配置参数、调整画面、录制视频等操作。
2. 摄像头id可以用于监控系统中的数据传输。
在监控系统中,摄像头id可以作为数据传输的标识符,用于指定数据来源和目的地,确保数据的准确传输和处理。
3. 摄像头id可以用于监控系统中的远程控制。
通过摄像头id,可以实现对远程摄像头的控制和操作,包括远程观看、远程录制、远程调整参数等功能。
三、摄像头id的注意事项。
1. 摄像头id一般为系统自动生成的唯一标识符,不建议手动修改或删除摄像头id,以免影响系统正常运行。
2. 在使用摄像头id进行管理和操作时,应当注意保护摄像头id的安全,避免泄露给未授权的用户或系统。
3. 在监控系统中,摄像头id的管理和使用应当符合相关法律法规和隐私保护要求,保障用户的合法权益。
四、总结。
摄像头id是监控系统中的重要标识符,它对于摄像头设备的管理、控制和数据传输等操作起着关键作用。
USB的VID和PID以及分类
USB的VID和PID,以及分类(Class,
SubClass,Protocol)
USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB 设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)。
VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请。
每个供应商的VID是唯一的,PID由供应商自行决定。
主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。
VID和PID的长度都是两个字节的。
常见的各大供应商的VID和PID,可以在这里查询到:/usb.ids
USB定义了种类代码信息,它被用来识别设备的功能,根据这些功能,以加载设备驱动。
这种信息包含在名为基类,子类和协议的3个字节里(注意:“基类”在本文中,用来标识三个字节的种类代码的的首字节;在USB规范中没有使用这个术语)。
设备中有两个地方可以存放种类代码信息,一个是设备描述符,另一个是接口描述符。
已经定义的种类代码,有些只能用在设备描述符里,有些只能用在接口描述符里,有些两种描述符里都可用。
下表给出现在已经定了的基类的值的集合,通常用法是什么,基类用在什么场合(设备描述符或接口描述符)。
其具体定义参见USB官方网址:/developers/defined_class
各种类的定义参见:/developers/devclass_docs。
Linux设备PID VID详细说明
一、VID和PIDPID/VID唯一标识一个设备,HardwareID是为了给系统识别的,他是根据PID/VID而生成的。
这个与序列号没什么关系,序列号一般都是厂家固化到芯片中的信息而已。
GUID只是为了标志你安装的设备是属于一个什么类当中,这个类可以显示再设备管理器中。
比如:你可以定义一个类,当然这个类有与系统中任何类都不同的GUID,然后选择一个图标和类名,就可以同网卡等其他设备一起显示在设备管理器下的根目录中了根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备。
VID和PID通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode 中;第二种是设备生产商的VID和PID,该VID和PID存储在主控外部的非易失性存储设备中(EEPROM或Flash)的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。
所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。
由于VID和PID重复并不会对产品的使用带来严重影响,很多USB设备生产商(山寨厂居多)为了方便,并不会向USB执行论坛申请自己的VID,而是依然沿用主控生产商的VID或随便向产品写入VID和PID;同时,正规厂家只需要申请VID,PID由厂家自行确定,所以存在相同型号的产品,可能采用了不同的主控(商业需要,很正常),而他们的PID是一样的,基于上述原因通过VID和PID就不能准确识别USB设备的主控型号,这个问题大家在使用USB设备的过程中需要注意。
USB摄像头驱动之分析描述符
USB摄像头驱动之分析描述符设备描述符是USB设备上的一个数据结构,用于提供有关设备的基本信息。
它包含了设备的各种参数和功能,如设备的厂商ID、产品ID、设备版本等。
设备描述符的结构由USB规范定义,它有几个重要的字段,我们将逐一进行分析。
1. bLength:这是一个1字节的字段,表示设备描述符的长度,包括该字段本身。
2. bDescriptorType:这也是一个1字节的字段,表示描述符的类型,对于设备描述符,它的值是0x013. bcdUSB:这是一个2字节的字段,表示USB规范的版本号,例如0x0200表示USB 2.0。
4. bDeviceClass:这是一个1字节的字段,表示设备的类别。
对于摄像头,通常它的值是0xEF,表示视频类设备。
5. bDeviceSubClass:这是一个1字节的字段,表示设备的子类别。
对于摄像头,通常它的值是0x02,表示视频流。
6. bDeviceProtocol:这是一个1字节的字段,表示设备的协议。
对于摄像头,通常它的值是0x01,表示基于流传输模式的视频设备。
7. bMaxPacketSize0:这是一个1字节的字段,表示设备的0号端点的最大数据包大小。
对于USB 2.0设备,通常它的值是64字节。
8. idVendor和idProduct:这是一个2字节的字段,分别表示设备的厂商ID和产品ID。
每个设备都有唯一的ID,用于在系统中进行设备的识别和驱动的匹配。
9. bNumConfigurations:这是一个1字节的字段,表示设备支持的配置数目。
一个设备可以有多个配置,每个配置定义了设备的特定功能和参数。
设备描述符作为USB设备的基本信息,为操作系统提供了对设备的识别和初始化。
操作系统在发现新设备时,首先读取设备描述符并解析其中的字段,然后根据设备的类别和ID匹配相应的驱动程序。
驱动程序通过解析设备描述符中的其它字段,如配置描述符和接口描述符,来了解设备的详细功能和传输模式,并进行相应的初始化和控制。
视频驱动和直流驱动
视频驱动和直流驱动
视频驱动(Video Driver,简称VD)方式是指摄像机将视频信号电平输出到自动光圈镜头的内部,再由其内部的驱动电路输出控制电压,使镜头光圈调整电动机转动;直流驱动(DC Driver,简称DD)方式则是指摄像机内部增加了镜头光圈电动机的驱动电路,可以直接输出直流控制电压到镜头内的光圈电动机并使其转动,因此,具有直流驱动接口的摄像机的成本就稍许高一些(因为增加了一部分电路),但所选配的自动光圈镜头则因其内部不含有驱动电路而体积稍小一些,价格也就低一些。
不同品牌及型号的摄像机所带自动光圈接口的位置及形式是不完全一样。
一般摄像机的自动光圈接口设置在机身的后面板上,但也有一些则设在机身的侧面。
几种不同形式的自动光圈的接口,其中阴式方四孔接口最为常见,但不同摄像机对其各针脚的定义又不完全相同。
一般视频驱动自动光圈接口使用3个针,即电源、视频、接地;而直流驱动自动光圈接口使用4个针,即阻尼正、阻尼负、驱动正、驱动负。
若同时具有两种光圈驱动方式,则具体将该接口定义为VD还是DD驱动方式,须由另外的拨动开关来选择,也有的由摄像机盖板内视频处理板上不同的插座位置来选择,并在出厂前设定一种方式,还有的干脆在摄像机机身侧面及后面板上直接设定两个不同的自动光圈接口。
电子快门(Electronic Shutter)是比照照相机的机械快门功能提出一个术语,它相当于控制CCD图像传感器的感光时间。
由于CCD感光的实质是信号电荷的积累,则感光时间越长,信号电荷的积累时间就越长,输出信号电流的幅值也就越大。
通过调整光生信号电荷的积累时间(即调整时钟脉冲的宽度),即可实现控制CCD感光时间的功能。
摄像头驱动对应图及驱动安装方式
摄像头驱动使用文件对照
图片一型号:魔速507摄像头驱动使用:2700 RGB driver V1.0.0.2
图片二型号:魔速一代高杆摄像头驱动使用:魔速一代高杆摄像头S5HVTV1P208
图片三型号:魔速二代丝印LOG 摄像头驱动使用:魔速二代丝印LOG 摄像头driver
win2000系统下507驱动安装方式
系统未优化时需先安装direct插件
1.运行2700 RGB driver V1.0.0.2 setup.exe文件。
下一步至完成。
2.连接摄像头,系统提示发现新硬件,待自完成找到新硬件向导后点击完成按钮。
3.点击开始菜单选择程序-spca2700 driver- amcap 此时即可使用。
4.如果未能使用,右键点击桌面我的电脑图标属性,硬件标签,点击设备管理器,
右键选择图
像处理设备-usb2.0webcam属性-驱动程序-更新驱动程序-下一步,选择显示已知设备驱动程序列表,点选usb2.0webcam,点击从磁盘安装按钮,厂商文件复制来源选浏览按钮,默认路径为,我的电脑-c盘,Program Files文件夹,进入spca2700文件夹,点选spuvcb 文件选择打开按钮,然后点击确定按钮。
选中usbweb2.0 然后点击下一步至完成。
-
另外,WIN2000系统版本较多,有些win2000系统建议先安装directx 9 加速软件,之后再运行相应的摄像头驱动程序。
从零写一个摄像头驱动(四)
从零写⼀个摄像头驱动(四)1、装载驱动时发现,模块缺少依赖解决⽅法: 1、先安装Ubantu⾥⾯⾃带的vivi程序,它会把它所依赖的驱动程序安装进来/ 2、sudo rmmod vivi.ko 3、ls /dev/video* 4、xawtv -c /dev/video* 我写的myvivi.ko编译出来之后,对应的是video1/*APP在调⽤ioctl VIDIOC_QBUF时导致此函数被调⽤*它会填充Video_buffer结构体(头部),并调⽤videobuf_iolock来分配内存*实际上是⽤mmap函数分配内存的*/static intmyvivi_buffer_prepare(struct videobuf_queue *vq, struct videobuf_buffer *vb,enum v4l2_field field){/* 1.做些准备⼯作 */#if 0/* 2.调⽤videobuf_iolock为类型为V4L2_MEMORY_USERPTR的videobuf分配内存 */if (VIDEOBUF_NEEDS_INIT == buf->vb.state) {rc = videobuf_iolock(vq, &buf->vb, NULL);if (rc < 0)goto fail;}#endif队列的内存实际上是调⽤ fops中的mmap函数分配的,加⼊mmap,并实现myvivi_mmap编译加载后,运⾏,原来的错误信息消失了,现在请求buf,分配buf, 队列操作等函数已经实现,现在缺少的是:怎么构造⽣产数据?再次根据系统提⽰的信息修改代码加⼊摄像头启动/关闭函数加⼊v4l2_poll函数(select)来查询数据运⾏后发现,⽆法退出界⾯,是因为如果poll没有查询到数据则在队列buf->done上休眠,下⼀步构造数据唤醒进程。
在vivi.c中,实际上是创建了⼀个内核线程,线程平时是休眠的。
老鸟教你怎样安装摄像头驱动
老鸟教你怎样安装摄像头驱动(图解)现在大部分人都是USB免驱摄像头,但是还是有需要自己安装摄像头驱动,下面马鞍山电脑手把手教你手动安装摄像头驱动.步骤/方法1. 第一步:在“我的电脑”上点击鼠标右键,出来下图:2. 第二步,点击“管理”,出来下图:3. 第三步:找到带感叹号的设备,即你刚插上的摄像头设备。
在上面鼠标右键,出来如上图所示4. 第四步:点击”更新驱动程序,出来如下图:5. 第五步:选择“否,暂时不” 再点“下一步”出来如下图:6. 第六步:选择“从列表或指定位置安装”然后点“下一步”出来如下图:7. 第七步:将“在搜索中包括这个位置(o):”前面的“勾”打上,然后通过“浏览”找到你摄像头在电脑里的本地位置,如:在D:\摄像头驱动。
然后点“下一步”,一直完成安装。
(注:1 你指定的这个文件目录下,一定要含有*.inf文件,否则会出现如下图的向导2 当然,如果你的驱动与你的摄像不对应,也可能会出现下面的向导。
)8. 另外,一般从网上下载的驱动,常常是EXE的执行文件,其实执行文件也会在你安装的时候,将驱动文件放到电脑的某个位置的,如C盘,某文件下,注意观察了。
整个安装过程就是这样了,其实安装别的显卡,网卡,声卡等驱动也可以一样的手动安装,简单吧,祝你成功!注意事项马鞍山电脑网提醒你注意:很多摄像头要求先安装驱动程序,安装完成后(要求重启的话必须重启)才能连接摄像头。
如果不按照这个步骤操作,就会出问题。
如果你安装时没有依照这个步骤,需要先卸载驱动程序,然后重启电脑后再安装一遍驱动程序建议到有质量保证和有售后服务可以到大型店铺买,网上也可以买,例如中国最大的网店京东商城(点击进入购买)现在正进行限时大促销,还免邮费。
也可以到淘宝摄像头专区,毕竟淘宝的东西价廉物美,适合广大消费者.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最常见的摄像头硬件ID:VID_0AC8&PID_0302VID_0AC8是中芯微的代码,常见方案如下:USB\VID_0AC8&PID_303B 301PLH方案/301plh.htm USB\VID_0AC8&PID_301B 301B方案/301B.htm USB\VID_0AC8&PID_305B 305B方案/305B.htmUSB\VID_0AC8&PID_307B ZS211方案/ZS211.htm USB\VID_0ac8&PID_0321 VC0321 /VC0321.htm USB\VID_0ac8&PID_0323 VC0323 /VC0323.htm USB\VID_0ac8&PID_0323 ZC0323P /ZC0323P.htm USB\VID_0ac8&PID_0328 /ZC0326.htm USB\VID_0ac8&PID_0326 ZC0326 /ZC0326.htm中星微无驱方案摄像头1/VM332.htm支持下列硬件ID:USB\VID_0ac8&PID_3313USB\VID_0ac8&PID_0331USB\VID_0ac8&PID_331BUSB\VID_0ac8&PID_0332USB\VID_0ac8&PID_332DUSB\VID_0ac8&PID_3330USB\VID_0ac8&PID_3332USB\VID_0ac8&PID_3333USB\VID_0ac8&PID_3340USB\VID_0ac8&PID_3342USB\VID_0ac8&PID_3343USB\VID_0ac8&PID_0336USB\VID_0ac8&PID_336DUSB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3000中星微无驱方案2/Vimicro_UVC.htm支持硬件ID:USB\VID_0ac8&PID_3313 USB\VID_0ac8&PID_0331 USB\VID_0ac8&PID_331B USB\VID_0ac8&PID_0332 USB\VID_0ac8&PID_332D USB\VID_0ac8&PID_3330 USB\VID_0ac8&PID_3332 USB\VID_0ac8&PID_3333 USB\VID_0ac8&PID_3340 USB\VID_0ac8&PID_3342 USB\VID_0ac8&PID_3343 USB\VID_0ac8&PID_336D USB\VID_0ac8&PID_3370 USB\VID_0ac8&PID_3380 USB\VID_0ac8&PID_3410 USB\VID_0ac8&PID_3420 USB\VID_0ac8&PID_3430 USB\VID_0ac8&PID_3440 USB\VID_0ac8&PID_3450 USB\VID_0ac8&PID_3460USB\VID_0ac8&PID_3470USB\VID_0ac8&PID_3480USB\VID_0ac8&PID_3490USB\VID_0ac8&PID_3610USB\VID_0ac8&PID_3016USB\VID_0ac8&PID_3000USB\VID_0ac8&PID_3630VID_0C45是台湾松翰电子Sonix出的。
【更新几个比较少见的OEM松瀚方案】USB\VID_0c46&PID_605a /Ontop007.htmUSB\VID_0c45&PID_8008 /8008_VGA.htmUSB\VID_0C45&PID_600D /DC-2110.htm【SN9C101方案】下载地址:/SN9C101.htmUSB\VID_0c45&PID_603f ; SN9C101 + CISVF10 USB\VID_0c45&PID_602a ; SN9C101 + HV7131 D/E USB\VID_0c45&PID_602d ; SN9C101 + HV7131 R USB\VID_0c45&PID_6009 ; SN9C101 + PAS106 USB\VID_0c45&PID_6005 ; SN9C101 + TAS5110 USB\VID_0c45&PID_6019 ; SN9C101 + OV7630 USB\VID_0c45&PID_6011 ; SN9C101 + OV6650 USB\VID_0c45&PID_6007 ; SN9C101 + TAS5110D【SN9C102方案】下载地址:/SN9C102.htmUSB\VID_0c45&PID_602c ; SN9C102 + OV7630USB\VID_0c45&PID_6030 ; SN9C102 + MI0343 MI0360 MI0330 USB\VID_0c45&PID_6024 ; SN9C102 + TAS5130USB\VID_0c45&PID_6025 ; SN9C102 + TAS5130USB\VID_0c45&PID_6028 ; SN9C102 + PAS202USB\VID_0c45&PID_6029 ; SN9C102 + PAS106【SN9C102P方案】下载地址:/SN9C102P.htmUSB\VID_0c45&PID_6040 ; SN9C102P + MI0360USB\VID_0c45&PID_607a ; SN9C102P + OV7648USB\VID_0c45&PID_607c ; SN9C102P + HV7131RUSB\VID_0c45&PID_607e ; SN9C102P + OV7630USB\VID_0c45&PID_607b ; SN9C102P + OV7660【SN9C103方案】下载地址:/SN9C103.htmUSB\VID_0c45&PID_608e ;CISVF10USB\VID_0c45&PID_6083 ;HY7131D/EUSB\VID_0c45&PID_608c ;HY7131/RUSB\VID_0c45&PID_608f ;OV7630USB\VID_0c45&PID_60af ;PAS202USB\VID_0c45&PID_60a8 ;PAS106USB\VID_0c45&PID_6082 ;MI0343,MI0360USB\VID_0c45&PID_60aa ;TAS5130USB\VID_0c45&PID_6025 ;TAS5130【SN9C105方案】下载地址:/SN9C105.htmUSB\VID_0c45&PID_60c0&MI_00 ; SN9C105 + MI0360USB\VID_0c45&PID_60fa&MI_00 ; SN9C105 + OV7648USB\VID_0c45&PID_60fc&MI_00 ; SN9C105 + HV7131RUSB\VID_0c45&PID_60fe&MI_00 ; SN9C105 + OV7630USB\VID_0c45&PID_60fb&MI_00 ; SN9C105 + OV7660USB\VID_0c45&PID_60f2&MI_00 ; SN9C105 + OV7670USB\VID_0c45&PID_60ef&MI_00 ; SN9C105 + ICM105CUSB\VID_0c45&PID_60cc&MI_00 ; SN9C105 + HV7131GP USB\VID_0c45&PID_60ec&MI_00 ; SN9C105 + MO4000USB\VID_0c45&PID_60c8&MI_00 ; SN9C105 + OM6802USB\VID_0c45&PID_60c2&MI_00 ; SN9C105 + P1030xCUSB\VID_0c45&PID_60ce&MI_00 ; SN9C105 + SP80708【SN9C110方案】下载地址:/SN9C110.htmUSB\VID_0c45&PID_612e ; SN9C110 + OV7630USB\VID_0c45&PID_612f ; SN9C110 + ICM105CUSB\VID_0c45&PID_6122 ; SN9C110 + ICM105CUSB\VID_0c45&PID_612a ; SN9C110 + OV7648USB\VID_0c45&PID_6123 ; SN9C110 + SanyoCCDUSB\VID_0c45&PID_612c ; SN9C110 + MO4000【SN9C120方案】下载地址:/SN9C120.htmUSB\VID_0c45&PID_6130 ; 120+MI0360/MT9V111/MI0360B USB\VID_0c45&PID_613a ; SN9C120 + OV7648USB\VID_0c45&PID_613c ; SN9C120 + HV7131RUSB\VID_0c45&PID_613e ; SN9C120 + OV7630USB\VID_0c45&PID_6132 ; SN9C120 /SN9C120B+ OV7670 USB\VID_0c45&PID_613b ; SN9C120 + OV7660USB\VID_0c45&PID_6138 ; SN9C120 + MO4000USB\VID_0c45&PID_6108 ; SN9C120 + OM6802USB\VID_0c45&PID_6148 ; SN9C120B + OM6802USB\VID_0c45&PID_6102 ; SN9C120 + PO2030N/GC0305 USB\VID_0c45&PID_6142 ; SN9C120B + PO2030N/GC0305 USB\VID_0c45&PID_6143 ; SN9C120B + SP80708USB\VID_0c45&PID_614c ; SN9C120B + GC0306【SN9C128方案】下载地址:/SN9C128.htmUSB\VID_0c45&PID_6100 ; MI0360 / MT9V111 / MI0360BUSB\VID_0c45&PID_610a ; OV7648USB\VID_0c45&PID_610c ; HV7131RUSB\VID_0c45&PID_610e ; OV7630USB\VID_0c45&PID_610b ; OV7660【SN9C201方案】下载地址:/SN9C201.htmUSB\VID_0c45&PID_6240 ; SN9C201 + MI1300USB\VID_0c45&PID_6242 ; SN9C201 + MI1310USB\VID_0c45&PID_624e ; SN9C201 + SOI968USB\VID_0c45&PID_624f ; SN9C201 + OV9650USB\VID_0c45&PID_6243 ; SN9C201 + S5K4AAFXUSB\VID_0c45&PID_624b ; SN9C201 + CX1332USB\VID_0c45&PID_627f ; EEPROMUSB\VID_0c45&PID_6248 ; SN9C201 + OV9655USB\VID_0c45&PID_624c ; SN9C201 + MI1320USB\VID_0c45&PID_6270 ; SN9C201 + MI0360\MT9V111 USB\VID_0c45&PID_627c ; SN9C201 + HV7131RUSB\VID_0c45&PID_627b ; SN9C201 + OV7660USB\VID_0c45&PID_627a ; SN9C201 + S5K53BEBUSB\VID_0c45&PID_6260 ; SN9C201 + OV7670ISPUSB\VID_0c45&PID_6262 ; SN9C201 + OM6802【SN9C202方案】下载地址:/SN9C202.htmUSB\VID_0c45&PID_6280&MI_00 ; SN9C202 + MI1300USB\VID_0c45&PID_6282&MI_00 ; SN9C202 + MI1310USB\VID_0c45&PID_628e&MI_00 ; SN9C202 + SOI968USB\VID_0c45&PID_628f&MI_00 ; SN9C202 + OV9650USB\VID_0c45&PID_6288&MI_00 ; SN9C202 + OV9655USB\VID_0c45&PID_628a&MI_00 ; SN9C202 + ICM107USB\VID_0c45&PID_628c&MI_00 ; SN9C202 + MI1320USB\VID_0c45&PID_62b0&MI_00 ; SN9C202 + MI0360\MT9V111USB\VID_0c45&PID_62bc&MI_00 ; SN9C202 + HV7131RUSB\VID_0c45&PID_62bb&MI_00 ; SN9C202 + Ov7660USB\VID_0c45&PID_62ba&MI_00 ; SN9C202 + S5K53BEBUSB\VID_0c45&PID_628b&MI_00 ; SN9C202 + CX1332USB\VID_0c45&PID_6283&MI_00 ; SN9C202 + S5K4AAFXUSB\VID_0c45&PID_62a0&MI_00 ; SN9C202 + Ov7670ISPUSB\VID_0c45&PID_62a2&MI_00 ; SN9C202 + OM6802【SN9C255方案】下载地址:/SN9C255.htmUSB\VID_0C45&PID_62C0USB\VID_0C45&PID_62C1USB\VID_0C45&PID_62E0【SN9C325方案】下载地址:/SN9C325.htmUSB\VID_0c45&PID_612a ; SN9C325 + OV7648 + POx1030xC + SOI768 + PO203 0N + OV7660 + OV7670 + HV7131RUSB\VID_0c45&PID_6128 ; SN9C325 + OM6802应论坛上的朋友提醒,增加一个松瀚电子出的免驱摄像头方案。