如何从网络摄像头获取原始mjpg流

时间:2016-10-04 05:46:54

标签: c++ opencv winapi webcam video-capture

我有罗技网络摄像头,它通过USB2.0使用MJPG压缩来传输1080p @ 30fps。我需要将此原始流写入硬盘驱动器或通过网络发送。我不需要解压缩它。 OpenCV给我解压缩的帧,所以我需要压缩它们。这导致CPU利用率大量浪费。如何获得原始的MJPEG流,因为它来自相机? (Windows 7,Visual Studio,C ++)

1 个答案:

答案 0 :(得分:1)

Windows原生视频捕获相关API DirectShow和Media Foundation允许您以原始格式从网络摄像头捕获视频。这些API是一项自然的任务,并且以简单的方式完成(具体来说,如果网络摄像机获得硬件压缩的M-JPEG提要,您可以通过编程方式进行)。

您随后可以随意对数据做任何事情:解压缩,通过网络发送,通过HTTP响应提要撰写Motion JPEG等。