0

2 つのカスタム プッシュ フィルターを使用して、オーディオとビデオ (圧縮されていない RGB) を DirectShow グラフに挿入しています。私はビデオ キャプチャ アプリケーションを作成しているので、フレームを受信したときにエンコードしてファイルに保存したいと考えています。

これまで、ASF Writer を使用して入力を WMV ファイルにエンコードしていましたが、レンダラーが遅すぎて高解像度の入力 (1920x1200x32 など) を処理できないようです。少なくとも、FillBuffer()6 ~ 15 FPS 程度しか処理できないようですが、これは明らかに十分な速度ではありません。

cBuffersでカウントを増やしてみましたDecideBufferSize()が、もちろんそれは問題を後回しにするだけです。

プロセスをスピードアップするためのオプションは何ですか? DirectShow 経由でライブの高解像度エンコーディングを行う正しい方法は何ですか? 最終的には WMV ビデオを作成したいと考えていますが、それは後処理のステップである必要があるかもしれません。

4

1 に答える 1

1

あなたの質問に対する素晴らしい回答がここに投稿されています:高解像度のキャプチャとエンコードが遅すぎる. このタスクは、システムの CPU にとっては複雑すぎます。CPU は、動作するように設定した構成でリアルタイム ビデオ エンコーディングを実行するのに十分な速度ではありません。

于 2011-11-14T09:19:47.827 に答える