(1)
缺少处理视频文件需要的dll,把opencv文件夹中的 \3rdparty\ffmpeg里的opecv_ffmpeg.dll文件复制到bin目录下。
具体的代码,网上有很多,可以参考https://blog.csdn.net/qq_34793133/article/details/83929612。
(2)使用opencv中的函数获取的视频总帧数比解析出来的照片多一些,主要是因为opencv使用的ffmpeg读取的是关键帧,有一些图像帧解析不出来,可以直接使用ffmpeg.exe和ffprobe.exe进行解析,,如下所示:
ffmpeg.exe -i Recording_2021-05-18-10-01-07.avi -s 4096x2160 E://0.tmp/Img/img%03d.jpg
ffprobe -show_frames -select_streams v -of xml Recording_2021-05-18-10-01-07.avi > info.txt
-
// 获取视频总帧数
-
long totalFrameNumber = cap.get(CV_CAP_PROP_FRAME_COUNT);