4

現在ビデオ キャプチャに DirectShow を使用しているプログラムの更新を検討しています。DirectShow はうまく機能しているように見えますが、調査すべきより強力な、または最新の SDK または API があるかどうか疑問に思っていました。役立ついくつかの機能は、次のようなものです。

  1. キャプチャ中に一貫したフレームレート (NTSC のフレーム間で 33ms) を提供します。
  2. DirectShow 互換のキャプチャ デバイスで作業します。
  3. お客様のPCに追加のライセンスをインストールする必要はありません。
  4. ビデオの同時プレビューとハードウェア エンコードを可能にします。
  5. C++/MFC アプリケーションに統合できる。

私はLeadTools Multimedia Capture SDKVisioForge Capture SDKMicrosoft Media Foundationを調べましたが、これらの代替手段の 1 つに時間やお金を投資する前に、他の人が何をうまく使用しているかを知りたかっただけです。これが商用製品かオープンソース製品かは気にしません。

編集: 特定の問題を解決しようとする試みには感謝していますが、この質問は DirectShow の代替案に関するものでした。そのため、特定の問題への参照をすべて削除しました。それを解決するには、別の質問を待つ必要があります。

4

6 に答える 6

1

DirectShow APIは非常に優れており、Windowsプラットフォームでこれほど優れたものは見つかりませんでした。DirectShowは、Vista(およびそれ以降)のオペレーティングシステムのみである MediaFoundationに取って代わられました。

人々がMediaFoundationを使用して大量開発を開始する前に、XPが終了するのを待つ必要があります...

DirectShowの代替を探している理由をお聞きします。これは非常によくサポートされているAPIであり、MSDNで十分に文書化されており、MSDNにはDirectShow開発のための非常に活発でフレンドリーなフォーラムがあります。

于 2010-10-12T23:08:13.890 に答える
1

ほとんどすべてのキャプチャ ボードには、独自のタイマーが付属しています。

ソース フィルターにクエリを実行してIReferenceClock、通常は PC のタイマーよりも正確な独自のタイマーを使用することができます。

コールバック関数を使用すると、Sample Grabber の入力ピンで呼び出された瞬間からマイクロ秒ISampleGrabberでコールバック関数が呼び出されます。ソース コードでは数行離れています。Receive

フレーム ソースのタイミングが不正確なようです ( で設定されたタイミングではなくIMediaSample、フレームが配信される実際のタイミング)。

フレームを生成するソース フィルターは何ですか?

于 2009-02-12T19:05:46.883 に答える
0

問題は、タイミングに使用している方法にある可能性があります。高性能タイマー APIを使用していますか?

于 2009-02-12T18:48:16.100 に答える
0

FFmpeg は directshow 入力を受け取って操作することができ、無料です。AviSynthも多分...

于 2012-10-17T16:22:10.710 に答える
0

LeadTools と VisioForge SDK は、DirectShow の単なるラッパー + それらからのいくつかのカスタム フィルターです! Windows PC でキャプチャするための DirectShow に代わるものはありません。多分MediaFoundationでWin8で?一部のハードウェア ベンダーには独自のキャプチャ プログラムがありますが、ほとんどのベンダーは DirectShow のみを使用しています。

あなたの問題は DirectShow ではないと思います。コールバックはどのくらい機能していますか? 画像の分析を行う場合、これを迅速に行う必要があるためです。重要なのはコールバックの時間ではなく、取得したメディアサンプルのプレゼンテーション時間です! これは、プレビュー サンプルから +33ms のはずです。

于 2012-06-08T13:42:55.453 に答える
0

VideoLan はあなたのためのオプションかもしれません.

于 2009-02-13T21:19:30.657 に答える