这篇博客将介绍两种使用OpenCV和Python计算视频文件中帧数的方法。
-
超级快,它依靠OpenCV的视频属性功能,能够(几乎)立即确定视频文件中的帧数。但是由于依赖(安装的OpenCV +视频编解码器版本),此方法很容易出错,甚至可能返回无意义的结果。
在这种情况下,需要使用第二种方法:手动计算视频中的帧总数。
-
手动计算视频中的帧数。尽管速度极慢,但此方法具有100%准确的优点。
计算可参考 imutils 库中的count_frames函数。该函数将首先尝试方法1,如果失败,将自动恢复为方法2。
使用过程中如果更偏向准确性,则使用方法2,如果偏向近似值和速度,则使用方法1;
1. 效果图
opencv自带的高效计数如图所示:
python count_frames.py --video videos/jurassic_park_trailer.mp4<