キャプチャ ウィンドウを作成せずにビデオ キャプチャ ドライバに接続するにはどうすればよいですか。これは可能ですか?つまり、プレビュー ウィンドウを表示せずに、ユーザーの Web カメラからビデオをキャプチャしたいと考えています。
2 に答える
従来のVideoforWindowsAPIのみを含むウィンドウが必要です。DirectShowまたはMediaFoundationを使用すると、ビデオキャプチャにウィンドウは必要ありません。C#では、オープンソースのDirectShow.NETおよびMediaFoundation.NETライブラリを使用してこれらのAPIにインターフェイスできます。
参考:DirectShow.NETには、ビデオをファイルにキャプチャするC#のCapWMVサンプルが含まれています。
WM ASF Writerフィルターを使用してwmvファイルを作成する.NETサンプルアプリケーション基盤となるライブラリはLGPLでカバーされていますが、このサンプルはパブリックドメインとしてリリースされています。有用であることを期待して配布されていますが、いかなる保証もありません。商品性または特定目的への適合性の黙示の保証もありません。
VfW を使用して、(少なくとも) ビデオ/キャプチャ ウィンドウを作成する必要がありますが、null ウィンドウ ハンドルを親として指定し、非表示にすることができます。VfW ライブラリからのすべての通信は、StdCall コールバックを介して行われます。私は 100% ではありませんが、メッセージ ポンプを実行する必要もないと思います。
Roman が言うように、DirectShow は約 15 年前に VfW を廃止したため、DirectShow を検討する必要があります。