
python小白,最近刚学opencv,在用代码读取视频文件并播放的过程中,遇到视频播放速度与理论速度不一致的问题
代码如下
import cv2
video = cv2.VideoCapture("11-10_HN6-2696166329_03.mp4")
while (video.isOpened()):
retval, image = video.read()
# 参数为0 自动调整大小
cv2.namedWindow("Video", 0)
cv2.resizeWindow("Video", 420, 300)
if retval == True:
cv2.imshow("Video", image)
else:
break
key = cv2.waitKey(17)
while key == 32:
a = cv2.waitKey()
if a == 32:
break
elif a == 27:
key = a
break
if key == 27:
break
video.release()
cv2.destroyAllWindows()
我读取一个帧速为60的视频文件,按理论来说只要我不按空格暂停,视频就会每隔0.017s播放一帧。
这个0.017s,我是根据计算,60帧的视频一帧要1/60秒,然后四舍五入0.017s得来的,但是当我播放视频的时候,视频明显被放慢,而当我把17改为5时,视频播放速度才与原视频接近。
不明白为什么会这样,希望有大佬帮我讲解下,非常感谢。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)