私がやろうとしていること
VS2008 を使用して VC++ 言語で DirectShow フレームワークを使用して、サンプル USB カメラ ストリーミング アプリケーション (多かれ少なかれ amcap のストリップ バージョンに似ています) を作成しようとしています。以下は、作成に使用するフィルター グラフ情報です。
フィルタ グラフ
Web カメラ (キャプチャ ピン) - スマート ティー (プレビュー ピン) - モノクロ Y8 を YUY2 に変換する変換フィルター - ビデオ ミキシング レンダリング。
追加情報
- Web カメラは 640x480、Y8 @ 30FPS でストリーミングします。
- Windows 7 Professional、Intel i3 でテスト済み - 正常に動作し、VGA @ 30FPS をストリーミングできます。
- ビデオ キャプチャ フィルタで使用できるプレビュー ピンがありません。
問題
同じフィルター グラフのセットアップで、Windows 8 Intel i3 PC で問題に直面しています。しかし、Smart Tee フィルターを Microsoft SDK で提供されている Infinte Tee サンプルに置き換えると、うまく機能します。Windows 8 でスマート ティー フィルターが機能しないのはなぜですか?
編集:問題は、Windows 8 ではビデオ キャプチャ フィルターをスマート ティー フィルターに接続できないが、Windows 7 では接続できることです。graphedit ツールを試してみました。Windows 8 は、Y8 メディア サブタイプの次のグラフを作成しようとしています (YUY2 は正常に動作しています)。
Web カメラ (キャプチャ ピン) - モノクロ Y8 を YUY2 に変換する変換フィルター - スマート ティー (プレビュー ピン) - ビデオ ミキシング レンダリング。
グラフを実行すると、graphedit が例外で終了します。
変換フィルターを登録しないと、Capture フィルターをスマート ティーに接続するときにこのエラーが表示されます。 'これらのフィルターは接続に同意できません。入力ピンと出力ピンのタイプの互換性を確認します。接続する中間フィルターの組み合わせが見つかりませんでした。(リターン コード = 0x80040217)' .
また、Infinte ティー フィルターを使用すると、数分ごとにフレーム レートが低下します。Windows 7 と Windows 8 のスマート ティー フィルターの違いは何ですか? スマートティーの代替として何を使用できますか?
よろしくお願いします。