エンコーダー デバイス

エンコーダーは、入力として非圧縮データ ストリーム (ビデオやオーディオ) を受信し、ストリームを MPEG2 などの特定の形式にエンコードし、エンコードされたストリームを出力するデバイスです。 エンコーダ デバイスは、組み合わせテレビ チューナー/キャプチャ アダプタなど、別のデバイスの一部である場合もあれば、別個のデバイスである場合もあります。 たとえば、統合エンコーダーは、アナログ テレビ チューナ/デコーダーなどのキャプチャ デバイスからデータ ストリームを受信し、エンコードされたストリームを生成します。 スタンドアロン エンコーダーは、非圧縮ファイルから入力データを受信し、データを処理し、エンコードされたデータを出力することができます。

Microsoft では、DirectX 9.0 以降のハードウェア ベースのオーディオ/ビデオ エンコーダー デバイスをサポートしています。

オーディオ/ビデオ エンコーダー デバイスをサポートするには、カーネル ストリーミング フィルター ミニドライバーに Microsoft が定義したエンコーダー プロパティのサポートを実装する必要があります。 エンコーダー プロパティを実装することで、既存のストリーム クラスまたは AVStream ミニドライバーにサポートを追加できます。 あるいは、 (スタンドアロン エンコーダーまたは統合ミニドライバー用の) 新しいミニドライバーを作成する場合は、Microsoft は、ストリームクラスが廃止さ、れサポートされなくなったため、AVStream アーキテクチャに従うことを推奨しています。 AVStream 模擬ハードウェア サンプル ドライバー (Avshws)を開始点として使用できます。 Avshws ドライバーは、DMA 転送のサポートを実装するピン中心の AVStream の例です。

Note

ソフトウェア実装エンコーダーを作成する場合は、カーネル ストリーミング フィルターとして作成しないでください。 代わりに、このようなフィルターは、Microsoft DirectShow フィルターまたは DirectX メディア オブジェクトとして作成する必要があります。 ソフトウェア ベースのエンコーダーの詳細については、DirectShow SDK のトピック「エンコーダー API」を参照してください。

クライアントは、 ICodecAPI COM インターフェイスを介してエンコーダー機能にアクセスします。 ミニドライバーが実装するプロパティに応じて、KsProxy がドライバーの INF ファイルで公開するインターフェイスを指定します。 Microsoft が定義したカーネル ストリーミング プロパティとイベントの詳細については、「エンコーダーの実装とサポート」を参照してください。 実装方法の例については、「エンコーダー コードの例」を参照してください。 KsProxy が公開する COM インタフェースを指定する方法など、エンコーダー フィルターをインストールする方法については、「エンコーダーのインストールと登録」を参照してください。

エンコーダー デバイスは、すべてのデバイスをカバーする汎用ロゴ要件に加えて、Windows 認定プログラムで説明されているストリーミング メディアとブロードキャストの要件に準拠している必要があります。