This gives widthboth the heightfile or camera as a floating-point number (so you may have to convert to an integer)
But it always gives me 0.0 FPS.
import cv2
vcap = cv2.VideoCapture('video.avi') # 0=camera
if vcap.isOpened():
# get vcap property
width = vcap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH) # float
height = vcap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT) # float
# or
width = vcap.get(3) # float
height = vcap.get(4) # float
# it gives me 0.0 :/
fps = vcap.get(cv2.cv.CV_CAP_PROP_FPS)
It seems to work fps = vcap.get(7), but I checked this on only one file.
UPDATE 2019: Current cv2 uses slightly different names (but they have the same numbers: 3, 4, 5, 7)
import cv2
vcap = cv2.VideoCapture('video.avi')
if vcap.isOpened():
width = vcap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = vcap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print('width, height:', width, height)
fps = vcap.get(cv2.CAP_PROP_FPS)
print('fps:', fps)
fps = vcap.get(cv2.CAP_PROP_FRAME_COUNT)
print('frames count:', fps)
source
share