Python OpenCV video.get(cv2.CAP_PROP_FPS) returns 0.0 FPS

Tasos picture Tasos · Feb 28, 2018 · Viewed 19.2k times · Source

This is my video

enter image description here

This is the script to find fps:

import cv2
if __name__ == '__main__' :

    video = cv2.VideoCapture("test.mp4");

    # Find OpenCV version
    (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')

    if int(major_ver)  < 3 :
        fps = video.get(cv2.cv.CV_CAP_PROP_FPS)
        print "Frames per second using video.get(cv2.cv.CV_CAP_PROP_FPS): {0}".format(fps)
    else :
        fps = video.get(cv2.CAP_PROP_FPS)
        print "Frames per second using video.get(cv2.CAP_PROP_FPS) : {0}".format(fps)

    video.release(); 

This is the output of the script for this video: Frames per second using video.get(cv2.CAP_PROP_FPS) : 0.0

Why is it returning 0.0? The FPS is 14.0

Answer

Tasos picture Tasos · Feb 28, 2018

Performing pip install python-opencv fixed the problem and the FPS is correctly detected.

EDIT: tested with python 3.8 and indeed it is pip install opencv-python. Cannot remember two years ago what python I was using.