7

アナログカメラを備えたデバイスがあります。それをサンプリングしてデジタル化するカードがあります。これはすべて directx で行われます。現時点では、ハードウェアを交換することはできませんが、ハードウェアや基盤となるオペレーティング システムの変更が将来発生しても、このビデオ フィードをリアルタイムで表示できるようにコーディングする必要があります。

この方針に沿って、このカメラ フィードを表示するための GUI を実装するために Qt を選択しました。ただし、将来、Linux またはその他の組み込みプラットフォームに移行し、他のハードウェア (カメラ/ビデオ サンプラーが存在する物理デバイスを含む) を変更する場合は、カメラ表示ソフトウェアも変更する必要があります。 GUIに統合する必要があるため、面倒です。

私が提案したのは、データがソケット経由で GUI に送信され、ビデオがソケット ストリームから解析された後にライブで表示される、より抽象的なモデルに移行することでした。

まず、これは良いアイデアですか、それとも悪いアイデアですか?

第二に、そのようなことをどのように実装しますか? ビデオサンプラーは通常、どのように使用可能な出力を提供しますか? この出力をソケットにプッシュするにはどうすればよいですか? 受信側で出力を解析したら、出力をどう処理するか (出力をレンダリングする方法など) を知るにはどうすればよいですか? 私が考えることができる唯一のことは、各サンプルをファイルに書き込み、新しいサンプルが到着するたびにファイルの内容を表示することです. これがうまくいくとしても、これは非効率的な解決策のように思えます。

これをどのように処理することをお勧めしますか? そのようなことに利用できるクロスプラットフォームのライブラリはありますか?

ありがとうございました。

編集:上にリストされているものではなく、何か違う提案を喜んで受け入れます。

4

2 に答える 2

3

QVisionを見たことがありますか?これは、ビデオおよびビデオ処理を管理するための Qt ベースのフレームワークです。処理は必要ありませんが、希望どおりになると思います。

于 2009-09-25T15:33:01.750 に答える
2

ビデオ ストリームを複製すると、特に埋め込みスペースでパフォーマンスが低下します。ビデオのほとんどの状況では、ローカル ハードウェア アクセラレーションを使用して、ビデオを直接画面に表示する方がよいと思います。適切なカプセル化により、ビデオを囲む GUI に Qt を使用できるようになり、画面への実際のビデオ描画 (描画する場所、大きさなど) を制御するために使用するプラットフォーム固有のクラスを持つことができるようになります。 )。

編集:

Phonon ライブラリも参照してください。あまり見ていませんが、さまざまなソースから取得したビデオの表示をサポートしているようです。

于 2009-09-24T22:45:02.267 に答える