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条)