2016-10-04 1 views
0

私は、USB2.0経由でMJPG圧縮を使用して1080p @ 30fpsをストリームするLogitechウェブカメラを持っています。この生ストリームをハードドライブに書き込むか、ネットワーク経由で送信する必要があります。私はそれを解凍する必要はありません。 OpenCVは私に圧縮解除されたフレームを与えるので、私はそれらを圧縮する必要があります。これにより、CPU使用率が大幅に低下します。それはカメラから来るように代わりに生のMJPEGストリームを取得する方法? (Windows 7、Visual Studio、C++)ウェブカムからraw mjpgストリームを取得する方法

+0

追加:私の場合、データはカーネル空間にとどまることができます。私はちょうどusb webcamドライバからfilesystem/network ioドライバに転送する必要があります。可能な限り低いCPUオーバーヘッドとレイテンシです。これは排他的なカメラアクセスを前提としています。これは以前にされていますか?いくつかの実例がありますか? – xakepp35

答えて

1

Windowsネイティブビデオキャプチャ関連API DirectShowとMedia Foundationを使用すると、Webカメラから元の形式でビデオをキャプチャできます。これらのAPIは自然な作業であり、簡単な方法で実行されます(具体的には、Webカメラがハードウェアで圧縮されたM-JPEGフィードを取得する場合は、プログラムでそれを取得できます)。

あなたは、その後のデータであなたがやりたいことが自由である:HTTPレスポンスのフィード上でモーションJPEGを構成、ネットワーク経由で送信、解凍など

関連する問題