C++ 视频的持续时间(OpenCV)

C++ 视频的持续时间(OpenCV),c++,opencv,C++,Opencv,我想获得视频的fps,但我不能使用属性CV_CAP_PROP_fps。我原以为有了视频的帧数和持续时间我就能得到它。问题是,我没有找到一些方法来给出持续时间。有人能帮我吗 谢谢 首先,在尝试获取/设置某些属性之前,至少从相机/视频中抓取一帧。有时不做也可以很好,但最好还是做吧。 如果无法解决您的问题,您可以尝试使用不同的属性: cv::VideoCapture camera("some_movie.avi"); cv::Mat img; camera >> img; std::cou

我想获得视频的fps,但我不能使用属性CV_CAP_PROP_fps。我原以为有了视频的帧数和持续时间我就能得到它。问题是,我没有找到一些方法来给出持续时间。有人能帮我吗


谢谢

首先,在尝试获取/设置某些属性之前,至少从相机/视频中抓取一帧。有时不做也可以很好,但最好还是做吧。
如果无法解决您的问题,您可以尝试使用不同的属性:

cv::VideoCapture camera("some_movie.avi");
cv::Mat img;
camera >> img;
std::cout << camera.get(CV_CAP_PROP_FPS) << std::endl;
std::cout << camera.get(CV_CAP_PROP_FRAME_COUNT) << std::endl;
std::cout << camera.get(CV_CAP_PROP_POS_AVI_RATIO) << std::endl;
std::cout << camera.get(CV_CAP_PROP_POS_FRAMES) << std::endl;
std::cout << camera.get(CV_CAP_PROP_POS_MSEC) << std::endl;
std::cout << "setting pos avi ratio to 1" << std::endl;
std::cout << camera.set(CV_CAP_PROP_POS_AVI_RATIO, 1.0) << std::endl;
std::cout << camera.get(CV_CAP_PROP_POS_AVI_RATIO) << std::endl; //i think it's not working - returns bad position(same as the first call of camera.get(CV_CAP_PROP_POS_AVI_RATIO)
std::cout << camera.get(CV_CAP_PROP_POS_FRAMES) << std::endl;
std::cout << camera.get(CV_CAP_PROP_POS_MSEC) << std::endl;
视频捕捉摄像机(“some_movie.avi”); cv::Mat img; 摄像机>>图像处理; 标准::cout