【发布时间】:2018-10-15 13:47:23
【问题描述】:
我有一个视频文件(即https://www.example.com/myvideo.mp4),需要用 OpenCV 加载它。
用一张图片做同样的事情是相当简单的:
imgReq = requests.get("https://www.example.com/myimage.jpg")
imageBytes = np.asarray(bytearray(data), dtype=np.uint8)
loadedImage = cv2.imdecode(image, cv2.IMREAD_COLOR)
我想做类似于以下的事情(loadedVideo 将类似于 OpenCV 从 cv2.VideoCapture 返回的内容):
videoReq = requests.get("https://www.example.com/myimage.mp4")
videoBytes = np.asarray(bytearray(data), dtype=np.uint8)
loadedVideo = cv2.videodecode(image, cv2.IMREAD_COLOR)
但是cv2.videodecode 不存在。有什么想法吗?
编辑:鉴于这可能是仅使用 OpenCV 的死胡同,我愿意接受在加载到 OpenCV 之前结合其他成像库的解决方案……如果存在这样的解决方案。 p>
【问题讨论】:
-
如果您将视频下载到硬盘并在那里尝试 VideoCapture,它是否有效?
-
是的,但我无法想象这是最有效的方法,因为它将磁盘 IO 引入了问题,而不是将所有内容都保存在内存中。我正在寻找尽可能低的延迟。
-
不,这只是一个减少错误源的测试(如 mossing 编解码器)
-
您想将整个视频保存在内存中还是将其用作流式视频?
-
我想将整个视频保存在内存中。
标签: python python-3.x opencv video