3

Microsoft Media Foundation のサンプル (MFCaptureToFile) を使用して、Web カメラから H264 フレームをキャプチャし、ファイルに書き込みました。

IMFTransform を使用して、キャプチャしたフレームをデコードし、下線付きの画像 (YUV、BMP など) を取得しようとしています。

ただし、ProcessInput メソッドは MF_E_NOTACCEPTING を返さず、ProcessOutput メソッドは常に MF_E_TRANSFORM_NEED_MORE_INPUT を返します。

私は基本的にすべてのフレームを読み取り、その上で ProcessInput を呼び出します。

何か案は?誰かが MFCaptureToFile サンプルを変更して、その方法を教えてもらえますか? 私はすべての処理を CCapture::OnReadSample の下で行っています。

どんな助けでも大歓迎です!

そうです

4

2 に答える 2

2

Microsoft H264 Decoder MFT はやや特殊です。多くのサンプルを内部的にバッファリングします。(これが、この内部バッファリングにより、常に約 1 秒の遅延が発生するため、ライブ シナリオでは使用できない理由です)。いくつかの出力サンプルを受け取るには、少なくとも完全な GOP をフィードする必要があると思います。試してみる

于 2011-04-29T10:58:28.437 に答える