我用OpenCV和PyAutoGUI编写了一个Python脚本来录制我的屏幕。当我按下“Alt+F10”时,该程序以60 FPS的速度捕获屏幕并保存最后一分钟的镜头。然而,当我回放录制的视频时,它似乎以更快的速度播放,我用秒表计时,它比应该快了大约2倍。
下面是我的代码:the github repo
我已经尝试了,我期待其中一个使它正确播放
1:)使用H.264编解码器将编解码器和容器格式更改为MP4。(这使播放速度慢了大约五倍,但仍然太快)
2:)使用OpenCV记录捕获每帧的实际时间,并在写入视频文件时使用该信息。
1条答案
按热度按时间xuo3flqw1#
看起来你的视频播放太慢了。一个解决方案是在显示之前将所有帧保存在列表中来预加载视频。你可以通过video.get(
cv2.CAP_PROP_FPS
)(cv3.X)或video.get(cv2.cv.CV_CAP_PROP_FPS
)(cv2.X)来获取fps。另一个解决方案是使用waitKey(1/FPS)
而不是waitKey(0)
,它会等到按下一个键。