DirectShowフィルタ開発

[:ja]DirectShowはメディアファイルやストリームをWindows環境で扱うためのマルチメディアフレームワークであり、USBカメラを用いて動画表示・録画・配信等を行うには必須のプラットフォームです。USBカメラに関わるDirectShowフィルタを開発するには、USB規格やCOM(Component Object Model)に精通している必要があります。当社では多くのDirectShowフィルタ開発実績があります。

UVC制御フィルタ開発

UVC対応USBカメラのExtension Unitを制御するには、専用のDirectShowフィルタが必要です。

実用例1

UVC1.1 H.264に対応するには、USBカメラファーム内にH.264用のExtension Unitと、それに対応するWindows上のDirectShowフィルタを開発しなくてはなりません。以下図では、DirectShowフィルタ構成を視覚的に構築できるMicrosoft社製ツールGraphEdit上にて、UVC H.264対応USBカメラ(ソースフィルタ)に当社製UVC H.264制御フィルタを接続し、その後ろにWindows標準のH.264デコードフィルタと表示用フィルタ(レンダラ)が繋がっています。

UVC H.264システムのデモです。

  1. DSFによる仮想UVC H.264カメラを起動します。
  2. この仮想UVC H.264カメラをコンフィグレーションします。
  3. DirectShowフィルタを接続します。
  4. DirectShowフィルタを実行します。仮想UVC H.264カメラが出力するH.264ビデオが再生されます。

実用例2

下図のように、USBカメラ内にデバッグ機能と繋がるExtension Unitと、USBホスト内にそのExtension Unitを制御するDirectShowフィルタ(Extension制御機能)を実装します。この構成では、Extension制御機能にアクセスすることでUSBカメラ内のデバッグが実現できます。一般的にカメラモジュールはI2C等汎用バスで接続されることが多く、Extension制御機能からこのI2C等汎用バスを制御できればUSBカメラのデバッグがスムーズに進みます。この場合、Extension制御機能が無くてもUSBカメラは動作可能なので、Extension制御機能を外してUSBカメラを出荷できます。

仮想カメラ開発

DirectShowを応用することで、仮想カメラを実現することができます。仮想カメラを用いて、Skype等のビデオコミュニケーションアプリに動画像を送信できます。また、仮想カメラが実カメラの動画像を取り込むことで、実カメラのプロパティを変更して実カメラ動画を表示することもできます。

実用例

以下図では、仮想カメラ(非圧縮ビデオ)をWindows標準のAVIデコンプレッサフィルタと表示用フィルタ(レンダラ)に接続しています。仮想カメラから送信される動画を表示できます。

[:en]

Background

UVC(USB Video Class) is a USB device class standard that describes USB devices that are capable of streaming video. Webcams are currently the most popular UVC devices. Video standards supporting UVC are uncompressed video, Motion-JPEG and so on. But uncompressed video or Motion-JPEG is not enough to support recent WEB services handling high definition video.
So, June 20, 2011, USB-IF(the non-profit USB Implementers Forum, Inc) released UVC H.264 standard. H.264 is a video compression standard, and is currently one of the most commonly used formats for the recording, compression, and distribution of high definition video. UVC H.264 is expected to spread new net services supporting high definition video like telephone and video
distribution services.

Our R&D results

We have been researching a DSF(Device Simulation Framework) technology that is a USB device simulation environment distributed by Microsoft.
In 2010, we have succeeded in simulating an UVC uncompressed video device by attempting DSF technologies. Moreover, July 2011, we have succeeded in simulating an UVC H.264 device.

But we could not play H.264 video that is streamed from the simulated UVC H.264 device, because Windows OS does not support UVC H.264. To play UVC H.264 video stream, special DirectShow filter is indispensable. DirectShow is a multimedia framework for Windows OS produced by Microsoft. So, we developed Infinitegra UVC H.264 Filter that control an UVC H.264 device. H.264 video from an UVC H.264 device streams into Windows OS standard H.264 decoder via Infinitegra UVC H.264 Filter.

DirectShow Filters for UVC H.264

You can play UVC H.264 by adopting Infinitegra UVC H.264 Filter.

Playing UVC H.264 video stream

Demonstration

This is a demonstration movie of UVC H.264.

(1) Run a virtual UVC H.264 camera by DSF.
(2) Configure this virtual camera.
(3) Connect DirectShow filters.
(4) Run DirectShow filters and play H.264 video streamed from a virtual UVC H.264 camera.

[:]