【发布时间】:2014-03-14 05:19:38
【问题描述】:
我正在从我的计算机上查看和保存的 IP 摄像机获取 MJPEG 流。我如何做的代码可以在here 找到。答案解释了如何从流中提取图像并保存它们。
为了提取图像,我使用答案中列出的方法并保存它,我只是使用 OpenCV 将图像放入 avi 容器中。代码如下。
writer=cv.CreateVideoWriter("video1.avi", cv.CV_FOURCC('X', '2', '6', '4'), fps, (320,240))
cv_image = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.CV_LOAD_IMAGE_COLOR)bitmap=cv.CreateImageHeader((cv_image.shape[1], cv_image.shape[0]), cv.IPL_DEPTH_8U, 3)
cv.SetData(bitmap, cv_image.tostring(), cv_image.dtype.itemsize * 3 * cv_image.shape[1])
cv.WriteFrame(writer, bitmap)
这里的位图是我正在显示并放入 avi 容器中的图像。
由于图像来自 IP 摄像机,它必须有一些元数据,例如摄像机插入的时间戳。
问题:如何提取元数据?
我想到了两种方法:
- 从视频中提取帧,然后访问它们以访问时间戳。
- 从视频本身中提取时间戳。
我该如何进行?我使用哪种方法?我正在使用 Python 和 Opencv,并且正在使用 Windows 7。
我还阅读了 this 之类的与我正在尝试做的事情相关的内容。它没有解决我的问题。
【问题讨论】:
标签: python opencv video metadata ip-camera