DVApp サンプル

説明

デジタルビデオ (DV) キャプチャアプリケーション。

このサンプルでは、DV ビデオカメラを制御するさまざまな種類のフィルターグラフを構築する方法を示します。 また、DV カムコーダーを使用してキャプチャ、プレビュー、送信、デバイスコントロールを実行する方法についても説明します。

使用法

DVApp アプリケーションは、次のモードをサポートしています。

  • Preview: ビデオカメラからビデオウィンドウに DV をレンダリングします。
  • DV to type-1 file: ビデオカメラからタイプ1の DV ファイルに DV データをキャプチャします。
  • 「-1 ファイルを DV に送信する: type-1 DV ファイルからカムコーダーにデータを転送します。
  • DV からタイプ2ファイルへ: dv データをビデオカメラからタイプ2の DV ファイルにキャプチャします。
  • 「-2 ファイルを DV に転送する: タイプ2の DV ファイルからカムコーダーにデータを転送します。

キャプチャモードと送信モードもプレビューを実行します。 これらのモードには、プレビューを無効にするプレビューオプションも ありません 。 プレビューを使用せずにキャプチャする方が効率的で、ドロップされたフレームの数を減らすことができます。

アプリケーションはプレビューモードで起動します。 別のモードを選択するには、[ Graph モード] メニューからモードを選択します。 各モードでは、DVApp はそのモードの機能をサポートするフィルターグラフを構築します。 グラフを graphedit (grf) ファイルとして保存するには、[ファイル] メニューの [ファイルに Graph を保存] を選択します。 GraphEdit でファイルを開く前に、DVApp を終了します。

ファイルにキャプチャするには、次のようにします。

  1. [ ファイル ] メニューの [ 出力ファイルの設定 ] をクリックし、ファイル名を入力します。
  2. [ Graph モード] メニューで、[ DV to File mode] を選択します (type 1 または type 2、またはプレビューなし)。
  3. [ レコード] をクリックします。
  4. カムコーダーが VTR モードの場合は、[ 再生] をクリックします。
  5. キャプチャを停止するには、[ 停止] をクリックします。

ファイルからカムコーダーに転送するには、次のようにします。

  1. [ ファイル ] メニューの [ 入力ファイルの設定 ] をクリックし、DV ファイルを選択します。 ファイルは選択したモード (type 1 または type 2) と一致している必要があります。
  2. [ Graph モード] メニューで、 DV モードにするファイル を選択します (種類1または種類2、プレビューの有無にかかわらず)。
  3. [再生] をクリックします。
  4. データをテープに記録するには、[ 記録] をクリックします。
  5. 送信を停止するには、[ 停止] をクリックします。

カムコーダーが VTR モードの場合、ユーザーは、アプリケーションの VCR スタイルのボタンを使用してトランスポート機構を制御できます。 テープをシークするには、ターゲットタイムコードを入力し、[シーク] ボタンをクリックします。

アプリケーションによってキャプチャされるデータの量を制限するには、[ファイル] メニューから [キャプチャサイズ] を選択します。

テープの形式 (NTSC または PAL) を確認するには、[オプション] メニューの [テープのチェック] をクリックします。

プレビューウィンドウのサイズを変更するには、[オプション] メニューの [デコードサイズの変更] をクリックします。

プログラミングに関する注意事項

このアプリケーションの主な目的は、さまざまな DV キャプチャと送信グラフを構築する方法を説明することです。

デバイスの到着と削除

アプリケーションは、2つの異なる方法を使用して、デバイスの到着と削除を処理します。 デバイスに到着すると、アプリケーションのメッセージループは、WM _ devicechange メッセージに応答します。 デバイスを削除すると、アプリケーションはフィルターグラフマネージャーからの EC _ デバイスの _ 失わ れたイベントに応答します。 どちらの方法も機能しますが、EC _ デバイス _ の紛失イベントはフィルターグラフにデバイスが存在することに依存します。

アプリケーションは、一度に1つのデバイスのみを処理します。 現在のデバイスが削除されると、アプリケーションはシステム上の別の DV デバイスを検索します。

一部の DV ビデオカメラでは、カメラモードと VTR モードの切り替え時にデバイスをシャットダウンする必要があります。これにより、デバイスが紛失したことを示すメッセージがトリガーされます。 アプリケーションは、適切なメニューコマンドを有効または無効にすることによって応答します。 ただし、ユーザーがモードをすばやく切り替えると、デバイスが紛失したというメッセージがカムコーダーによって生成されない場合があります。 メニューを強制的に更新するには、[オプション] メニューの [更新モード] を選択します。 一部の DV ビデオカメラでは、電源をオフにせずにモードを切り替えることができますが、デバイスが非表示になったときには、VTR モードに切り替えたときにのみ送信されます

デバイスの制御

[ 再生録画 ] ボタンの機能は、現在のモードによって異なります。

  • Preview: フィルターグラフは自動的に実行されます。 [ 再生 ] ボタンをクリックすると、トランスポートが開始されます。
  • ファイルへキャプチャ: [ レコード ] ボタンをクリックするとグラフが実行され、[ 再生 ] ボタンをクリックすると、トランスポートが開始されます。
  • デバイスへの転送: [ 再生 ] ボタンをクリックすると、グラフが実行され、[ レコード ] ボタンをクリックすると、トランスポートが開始されます。

このサンプルアプリケーションでは、フレームの正確なキャプチャは実行されません。 さまざまな時点で、アプリケーションは スリープ 関数を呼び出して、デバイスが応答するのを待ちます。 新しい DV ビデオカメラは、デバイスの状態が変化したときに通知を送信します。 古いデバイスは通知をサポートしていない可能性があります。サンプルの目的では、 スリープ の呼び出しがより簡単なソリューションになります。

サンプルをダウンロードしています

DirectShow SDK サンプルをダウンロードするには、 Windows SDKの最新バージョンをインストールします。

このサンプルは次のパスにインストールされています: [ SDK Root ] \ Samples \ マルチメディア \ DirectShow \ Capture \ dvapp。

DV カムコーダーの制御

DirectShow でのデジタルビデオ

DirectShowSamples