USB 视频类驱动程序概述
如果要为网络摄像头或数字摄像机提供驱动程序,请考虑使用系统提供的 USB 视频类 (UVC) 驱动程序,Usbvideo.sys。 USB 视频类 (UVC) 驱动程序是 Microsoft 提供的 AVStream 微型驱动程序,可为 USB 视频类设备提供驱动程序支持。 设备使用 UVC 时,无需提供自己的驱动程序。 相反,设备会自动使用系统提供的驱动程序。
在 USB 视频类模型中,供应商不编写驱动程序。 相反,供应商会根据 USB 实现者论坛网站上的视频设备通用串行总线设备类定义规范文档中的准则实现视频流硬件。 UVC 驱动程序直接查询硬件以获取其功能,然后驱动设备,无需专有驱动程序。
可以选择扩展 UVC 驱动程序功能以添加特定于供应商的处理。
下表显示了不同版本的 Windows 中对 UVC 的支持:
UVC 版本 | Windows 7 | Windows 8 |
---|---|---|
USB 视频类 1.5 (H.264 视频编解码器) | 不支持 | 支持 |
USB 视频类 1.1 | 支持 | 支持 |
USB 视频类 1.0 | 支持 | 支持 |
从Windows 8开始,支持 H.264 视频编解码器 (编码器/解码器) 。 H.264 是一种开放标准,允许使用有效的视频压缩技术来减少网络带宽和存储空间的使用。 此方法可提高给定比特率的视频质量。 有关详细信息,请参阅 USB H.264 视频摄像头支持。 另请参阅 适用于 H.264 的 USB 视频类的 Microsoft 建议扩展。
以下列表显示了使用 Usbvideo.sys 驱动程序的一些优点:
无需 CD 即可安装
无驱动程序编写成本
无维护成本
供应商添加功能的机会
使用公共符号更轻松地进行调试
使用驱动程序验证程序
适用于已检查的 OS 内部版本
符合 ACPI 电源管理
符合选择性挂起电源管理
支持 Media Foundation 和 DirectShow 中的多媒体 API
系统提供的 Usbvideo.sys 驱动程序支持不同版本的 Windows 中的以下 UVC 功能:
UVC 功能 | Windows 7 | Windows 8 |
---|---|---|
单个视频控制接口和一个或多个视频流式处理接口 | 支持 | 支持 |
标准单位和终端,包括扩展单元 | 支持 | 支持 |
对 UVC 规范中定义的所有三种方法的静态图像捕获支持 | 支持 | 支持 |
批量和常时等量设备 | 支持 | 支持 |
使用探测提交控件进行流式处理参数协商 | 支持 | 支持 |
压缩格式:MJPEG、DV | 支持 | 支持 |
未压缩格式:YUY2、NV12 | 支持 | 支持 |
支持捕获和呈现设备 | 支持 | 支持 |
压缩格式:MPEG2TS | 不支持 | 不支持 |
基于Stream和基于帧的格式 | 支持 | 支持 |
H.264 视频编解码器 | 不支持 | 支持 |
自定义 UVC 驱动程序
可以通过提供 扩展单元插件来自定义对 UVC 的支持。 扩展单元在设备和供应商提供的应用程序之间提供专用控制通道。
其他资源
若要测试 UVC 实现,可以使用以下工具:
GraphEdit
KsStudio
USBView
有关这些工具的详细信息,请参阅 AVStream 测试和调试。
可以在 USB 实现者论坛 网站上找到 USB 视频类 1.1 的规范。