使用OpenCV的VideoCapture方法进行有效的链接处理? {编辑}

时间:2019-11-20 19:03:45

标签: python opencv urllib

我在OpenCV中使用python。我正在将MP4链接传递给VideoCapture,但是如果我先使用urllib.request下载视频文件,然后将文件名传递给VideoCapture,则我的代码运行速度将提高约10倍(包括urllib下载时间)。

我的问题是,是否有一种方法可以将视频剪辑(受我机器的硬件{和软件}约束)下载到捕获对象中,然后在我处于正常状态时将其与普通的python垃圾回收器一起处理掉。完成了吗?

与仅将视频文件加载到内存相比,将视频文件保存到磁盘的速度较慢。关于如何使用Internet文件执行此操作的任何建议?

1 个答案:

答案 0 :(得分:2)

urllib不必将下载的对象保存到磁盘,因此我要做的就是:

import urllib.request
url = 'https://previews.customer.envatousercontent.com/h264-video-previews/f331148f-3aa1-42ff-ae89-1a67274f2bd6/2009010.mp4'
video, http = urllib.request.urlretrieve(url)
cap = cv2.VideoCapture(video)