USB ビデオ クラス ドライバーの概要

Web カメラまたはデジタル ビデオカメラ用のドライバーを提供する場合は、システム提供の USB ビデオ クラス (UVC) ドライバー、Usbvideo.sys の使用を検討してください。 USB ビデオ クラス (UVC) ドライバーは、USB ビデオ クラス デバイスのドライバーサポートを提供する Microsoft 提供の AVStream ミニドライバーです。 デバイスで UVC を使用する場合は、独自のドライバーを提供する必要はありません。 代わりに、デバイスはシステム提供のドライバーで自動的に動作します。

USB ビデオ クラス モデルでは、ベンダーはドライバーを記述しません。 代わりに、ベンダーは、USB 実装者フォーラムの Web サイトにあるビデオ デバイス仕様のユニバーサル シリアル バス デバイス クラス定義ドキュメントのガイドラインに従って、ビデオ ストリーミング ハードウェアを実装します。 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
1 つのビデオ コントロール インターフェイスと 1 つ以上のビデオ ストリーミング インターフェイス サポートされています サポートされています
拡張ユニットを含む標準ユニットとターミナル サポートされています サポートされています
UVC 仕様で定義されている 3 つの方法すべてに対する静止画像キャプチャのサポート サポートされています サポートされています
一括デバイスと等時性デバイス サポートされています サポートされています
プローブ コミット 制御を使用したストリーミング パラメーター ネゴシエーション サポートされています サポートされています
圧縮形式: MJPEG、DV サポートされています サポートされています
非圧縮形式: YUY2、NV12 サポートされています サポートされています
キャプチャ デバイスとレンダー デバイスの両方をサポート サポートされています サポートされています
圧縮形式: MPEG2TS サポートされていません サポートされていません
ストリームベースおよびフレームベースの形式 サポートされています サポートされています
H.264 ビデオ コーデック サポートされていません サポートされています

UVC ドライバーのカスタマイズ

拡張ユニット プラグインを提供することで、UVC のサポートをカスタマイズできます。 拡張ユニットは、デバイスとベンダーが提供するアプリケーションの間にプライベート制御チャネルを提供します。

その他のリソース

UVC 実装をテストするには、次のツールを使用できます。

  • GraphEdit

  • KsStudio

  • USBView

これらのツールの詳細については、AVStream のテストとデバッグを参照してください。

USB ビデオ クラス 1.1 の仕様については、USB 実装者フォーラムの Web サイトを参照してください。