Microsoft DirectX 8.0

DirectShow でのデジタル ビデオ

このトピックでは、Microsoft® DirectShow® でのデジタル ビデオ (DV) の使用方法の概要について説明する。以下のセクションで構成される。

DV のシナリオ

DV を扱う場合、データはデバイスからコンピュータへ移動して、またデバイスに戻るというライフサイクルをたどるのが普通だ。DirectShow は、以下の表に示されるような各段階をサポートしている。

段階DirectShow のサポート参照
カメラからファイルへのビデオのキャプチャICaptureGraphBuilder2キャプチャ アプリケーションの書き方
ファイルの編集DirectShow 編集サービス 
ファイルの再生IGraphBuilder::RenderFileファイルの再生法
ファイルからテープへの送信WDM ビデオ キャプチャ フィルタのデバイス コントロール インターフェイス DV カムコーダの制御

type-1 ファイルと type-2 ファイル

DV カメラは、インターリーブされたオーディオ-ビデオを生成する。ビデオの各フレームには、オーディオ データも含まれている。DV データを AVI ファイルに保存する場合、以下のオプションがある。

ビデオ キャプチャの場合、最大のスループットが苦しい場面ではデータを type-1 として保存する方がよい。type-2 ファイルには冗長なデータが含まれるからだ。type-2 ファイルのビデオ ストリームには、まだオーディオ データが含まれているが、ストリームをビデオとしてラベル付けすることでオーディオ データは隠されている。また、インターリーブされたストリームを分割するために、ある程度のプロセッサ タイムが必要になる。

一方、type-1 フォーマットはリアルタイム編集の場合に問題がある。アプリケーションは、インターリーブされたストリームからオーディオ データを抽出し、編集してからもう一度データをインターリーブしなければならない。また、type-1 フォーマットは Microsoft® Video for Windows® (VfW) と互換性がない。DirectShow は、両方のタイプのファイルを扱うことができる。

DirectShow の DV フィルタ

DirectShow は、DV データの操作用に以下のフィルタを提供している。

これらのフィルタは、次の図に示すように対になって機能する。DV スプリッタが type-1 を type-2 に分割し、DV ビデオ デコーダが type-2 ビデオを非圧縮ビデオに変換する。

反対方向には、DV ビデオ エンコーダが非圧縮ビデオを type-2 ビデオに変換し、DV Muxer が type-2 ストリームを type-1 ストリームに結合する。

DV ビデオ エンコーダが公開する IDVEnc インターフェイスに、エンコード規格 (NTSC や PAL) を設定するためのメソッドが含まれている。DV ビデオ デコーダが公開する IIPDVDec インターフェイスには、デコード解像度を設定するためのメソッドが含まれている。

MSDV ドライバ

Microsoft® Windows® は、DV カムコーダ向け MSDV (Msdv.sys) という WDM ドライバを提供している。このドライバはアプリケーションに WDM ビデオ キャプチャ フィルタをエクスポートする。MSDV はそのフィルタの参照ページに記述されているインターフェイスのサブセットをサポートする。ユーザーのシステムで DV カムコーダが使用できる場合、システム デバイスを列挙すると、ビデオ キャプチャ ソース カテゴリ (CLSID_VideoInputDeviceCategory) にカムコーダが現れる。それはまたレンダリング デバイスとして表示される。そのフレンドリ名は、"Microsoft DV Camera and VCR." になる。詳細については、「デバイスとフィルタの列挙」を参照すること。

MSDV には出力ピンが 2 つある。1 つは、インターリーブされたオーディオ-ビデオ データを出力し、もう 1 つはオーディオを含まないビデオ データを出力する。MSDV には入力ピンが 1 つあり、このピンはデータをカムコーダに送信する。カムコーダはキャプチャと送信を同時に行えないので、MSDV が入出力を同時に接続することはない。

MSDV の使用上のヒント: