2

次のリンクでまったく同じ質問があります 。 DirectShow 外部の DirectShow フィルターを使用していますか? 私はショーを監督するのが新鮮で、そのスタックの2つの答えは私には十分に明確ではありません. また、著者に連絡して問題を解決したかどうかを尋ねる方法が見つかりません。これを行う方法はありますか?

または、これらの2つの答えについて、より詳細に説明できる人はいますか? 「「手で」さまざまなフィルターを呼び出す」ことと、「フィルターグラフ全体をラップする」ことについてはどういう意味ですか?

4

1 に答える 1

2

「手動」の方法についてコメントすることはできませんが (悪い考えです、IMO)、DirectShow を使用するための 1 つのオプションは、フィルター グラフ全体をメディア ファンデーション オブジェクトにラップすることです。そうです、メディア ファンデーション オブジェクトの内部には、関心のあるフィルターと共に、完全な directshow グラフがあります。

もちろん、これは些細なことではありません。directshow グラフの場合、いくつかの入力フィルターが必要であり、おそらくグラフからサンプルを取得するためのサンプル グラバー フィルターが必要です。グラフは次のようになります。

Source Filter -> Some DMO Decoder -> Sample Grabber -> Null Renderer

...そしてサンプル グラバーは、サンプルが通過するたびにコールバックを呼び出します。

デコーダ フィルタが DMO の場合は、はるかに簡単になります。DMO フィルターを使用していないと思いますか?

于 2011-06-07T23:37:37.427 に答える