2017-04-14 5 views
1

Alax.Info IP camera source filterをキャプチャーとプレビューレンダラーに接続しようとしています。C#directshow.netティーフィルターレンダリングが失敗する

ソースフィルタをグラフに追加し、ピンをレンダリングします。これにより、VMRに直接接続され、動作します。 GraphEditは、カメラフィルタの出力ピンタイプがRGB32であることを示しています。

Iは、ティー(Smart Teeフィルタ、又はInfinite Teeフィルタのいずれか)にカメラソースフィルタの出力を接続すると、ティーからの出力をレンダリングするティーとVMRの間に挿入されるAVI Decompressorフィルタを引き起こします。 MS GraphEditアプリケーションでは、1フレームのビデオが得られます。 GraphEditPlusでは、黒のレンダリングウィンドウが表示されます。

Null RendererSmart TeeのプレビューピンとInfinite Teeの2番目のピンに接続しようとしましたが、これは違いはありませんでした。

カメラのフィルタがティーに接続されている場合、GraphEditは出力ピンタイプがYUY2, 16 bitsに変更されたことを報告します。 I 強くこれは問題の根本原因と思われます。

何が起こっているのか把握するためのログがありますか?

これらの「ツール」アプリケーションでカメラの出力ピンの種類を制御し、それによって下流のフィルタを選択する方法はありますか?

RGB32の動画が必要な別のタイプのティーフィルターを使用する必要がありますか?

答えて

2

可能性のある問題は、ビデオレンダラに接続する試みが、ビデオレンダラに適したメディアタイプの再ネゴシエーションを含むことである。このようなメディアタイプを調整することができないので、上流の接続を再ネゴシエートしたり、変換フィルタを供給しようとすると、最終的にパイプラインが構築されます。特定のフォーマットや解像度では不一致があり、実際のビデオフレームは途中でドロップされます。

このIPソースフィルタに固有の問題は、特定のデコーダに限定されており、実際のM-JPEGフィードを知らずにストリーミング中にフォーマットを解決することが予想されるためです。

フィルタグラフを対話形式で作成する場合は、メディアの種類を確認して、解像度とピクセル形式が適切かどうかを確認してください。グラフをプログラムで作成するときは、パイプラインを構築して接続メディアの種類を順番に知っていることを確認してください(GraphStudioNextでCtrl + Shift + Mを押すと、特定のメディアタイプを使用するように各接続を促すことができます)必要に応じて明示的に表示されます(Teeの出力はビデオレンダラーに接続されませんので、Intelligent Connectを使用することを期待しないでColor Space Converterなどを挿入してください)。

ピン接続のプロパティが一致した場合、ビデオは例えば、通過します:

enter image description here

または

enter image description here

+0

を '色空間Converter'と' AVI Decompressor'が作ったの交換グラフが実行されます。私が理解できないのは、 'CSC 'の入力と出力の両方が' RGB32'で、 'AVI Decompressor'の自動挿入された入出力が' CSCを削除すると 'YUY2,16ビット ' 'を選択して、*スマートティーの* Render Pin *を選択します。 – FKEinternet

+0

私が使用するデコーダはRGB32でネイティブ出力を持っていますが、YUY2やその他のピクセル形式にも変換できます。何らかの理由でAVIデコンプレッサーがRGB32を好きではないかもしれないので、別の形式の別の試みがあります。 –

関連する問題