Introducción al controlador de clase de vídeo USB
Si va a proporcionar un controlador para una cámara web o una videocámara digital, considere la posibilidad de usar el controlador USB Video Class (UVC) suministrado por el sistema, Usbvideo.sys. El controlador USB Video Class (UVC) es un minidriver AVStream proporcionado por Microsoft que proporciona compatibilidad con controladores para dispositivos USB Video Class. Cuando el dispositivo usa UVC, no es necesario suministrar su propio controlador. En su lugar, el dispositivo funciona automáticamente con el controlador proporcionado por el sistema.
En el modelo de clase de vídeo USB, los proveedores no escriben controlador. En su lugar, los proveedores implementan hardware de streaming de vídeo según las directrices del documento Definición de clase de dispositivo de bus serie universal para dispositivos de vídeo ubicados en el sitio web del foro de implementadores USB . El controlador UVC consulta directamente el hardware para obtener sus funcionalidades y, a continuación, controla el dispositivo, sin que se requiera ningún controlador propietario.
Opcionalmente, puede ampliar la funcionalidad del controlador UVC para agregar procesamiento específico del proveedor.
En la tabla siguiente se muestra la compatibilidad con UVC en diferentes versiones de Windows:
Versión de UVC | Windows 7 | Windows 8 |
---|---|---|
Usb Video Class 1.5 (códec de vídeo H.264) | No compatible | Compatible |
Clase de vídeo USB 1.1 | Compatible | Compatible |
Clase de vídeo USB 1.0 | Compatible | Compatible |
A partir de Windows 8, se admite el códec de vídeo H.264 (codificador/descodificador). H.264 es un estándar abierto que permite técnicas de compresión de vídeo eficaces para reducir el uso del ancho de banda de red y el espacio de almacenamiento. Este enfoque conduce a una mayor calidad de vídeo para una velocidad de bits determinada. Para obtener más información, consulte Compatibilidad con cámaras de vídeo USB H.264. Consulte también Extensiones propuestas de Microsoft a la clase de vídeo USB para H.264.
En la lista siguiente se muestran algunas ventajas para usar el controlador Usbvideo.sys:
No se requiere ningún CD para la instalación
Sin costo de escritura de controladores
Sin costo de mantenimiento
Oportunidad para que los proveedores agreguen funcionalidad
Depuración más sencilla con símbolos públicos
Funciona con el comprobador de controladores
Funciona con compilaciones de sistema operativo comprobadas
Compatible con la administración de energía ACPI
Compatible con la administración selectiva de la energía de suspensión
Admite API multimedia en Media Foundation y DirectShow
El controlador de Usbvideo.sys proporcionado por el sistema admite las siguientes características uvC en diferentes versiones de Windows:
Característica UVC | Windows 7 | Windows 8 |
---|---|---|
Interfaz de control de vídeo único y una o varias interfaces de streaming de vídeo | Compatible | Compatible |
Unidades y terminales estándar, incluidas las unidades de extensión | Compatible | Compatible |
Compatibilidad con capturas de imágenes fijas para los tres métodos definidos en la especificación UVC | Compatible | Compatible |
Dispositivos masivos e isócronos | Compatible | Compatible |
Negociación de parámetros de streaming mediante controles de confirmación de sondeo | Compatible | Compatible |
Formatos comprimidos: MJPEG, DV | Compatible | Compatible |
Formatos sin comprimir: YUY2, NV12 | Compatible | Compatible |
Admite dispositivos de captura y representación | Compatible | Compatible |
Formato comprimido: MPEG2TS | No compatible | No compatible |
formatos basados en fotogramas y basados en Stream | Compatible | Compatible |
Códec de vídeo H.264 | No compatible | Compatible |
Personalización del controlador UVC
Puede personalizar la compatibilidad con UVC proporcionando un complemento de unidad de extensión. Las unidades de extensión proporcionan un canal de control privado entre el dispositivo y la aplicación proporcionada por el proveedor.
Otros recursos
Para probar la implementación de UVC, puede usar las siguientes herramientas:
GraphEdit
KsStudio
USBView
Para obtener más información sobre estas herramientas, vea AVStream Testing and Debugging.
Puede encontrar especificaciones para USB Video Class 1.1 en el sitio web del foro de implementadores USB .