【发布时间】:2021-01-15 00:02:52
【问题描述】:
我正在尝试构建一个需要从流 url 读取视频的应用程序。 当 OpenCV 显示图像时,我看到了一些延迟,但是使用一个很棒的 url 来测试我的应用程序的视频,结果证明问题不是 OpenCV 速度太慢而是速度太快。
如果我尝试以下代码,我可以看到视频的再现速度至少比应有的速度快 3 倍。
我的代码:
import cv2
url="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
vcap = cv2.VideoCapture(url)
while(True):
# Capture frame-by-frame
ret, frame = vcap.read()
if frame is not None:
# Display the resulting frame
cv2.imshow('frame',frame)
# Press q to close the video windows before it ends if you want
if cv2.waitKey(22) & 0xFF == ord('q'):
break
else:
print("Frame is None")
break
# When everything done, release the capture
vcap.release()
cv2.destroyAllWindows()
print("Video stop")
结果
应该如何
你知道让openCV正确读取视频的方法吗,我的意思是,我想要和视频一样的速度。
提前致谢
【问题讨论】:
-
您可以使用
fps = video.get(cv2.CAP_PROP_FPS)获取视频帧速率,并让线程休眠所需的毫秒数 -
我必须在哪里设置 sleep 以及哪个值?