0

DirectShow とISampleGrabberインターフェイスを使用して、Web カメラからビデオ ストリームをキャプチャしようとしています。取得したすべてのフレームのタイムスタンプを取得したいと思います。ただしSampleTime、メソッドのパラメーターSampleCB(double SampleTime, IMediaSample *pSample)は常にゼロです。

なぜゼロにできるのですか?この値は、カメラ ドライバーの実装などに依存しますか? 取得したフレームのタイムスタンプを取得する他の方法はありますか?

4

1 に答える 1

1

プレビュー ピンからキャプチャした場合、またはスマート ティー フィルターを介してカメラから取得した脚をプレビューした場合、タイム スタンプがゼロになることがあります。タイム スタンプがゼロではなく、フレームにタイム スタンプが付けられていないだけで、Sample Grabber フィルタでは 2 つのシナリオを区別する方法がありません。

GraphStudioNextの Analyzer Filter またはDumpMediaSamplesを使用して、タイム スタンプを簡単に確認できます。

アプリケーションでは、まずグラフの正確なトポロジー、Sample Grabber の上流に接続されているフィルターに関心があります。ほとんどの場合、プレビューを使用しないようにコードを更新する必要があります。

于 2016-03-22T07:50:45.463 に答える