如何使用 OpenCV 以固定帧速率 (fps) 播放任何视频

How to play any video with a fixed frame rate (fps) using OpenCV?

本文关键字:fps 播放 任何 视频 帧速率 OpenCV 何使用      更新时间:2023-10-16

OpenCV中是否有任何方法或功能可以让我们以固定帧速率(fps)播放任何视频?不同的视频可能有不同的帧速率,但是通过使用OpenCV库,我们可以按照我们定义的固定帧速率播放它们吗?

提前谢谢。

看看这篇文章。它展示了如何使用OpenCV播放AVI文件。在这里,帧速率是使用

int fps = ( int ) cvGetCaptureProperty( capture, CV_CAP_PROP_FPS );

并且延迟是通过

key = cvWaitKey( 1000 / fps );

因此,通过控制fps变量,您可以获得所需的播放速率。

int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
int delay = 1000 / fps;
while (true) {
    clock_t startTime = clock();
    capture.read(frame);
    process();
    imshow("video", frame);
    while (clock() - startTime < delay) {
        waitKey(1);
    }
}