0

The camera has several modes, but you can only turn on one.

v4l2-ctl --list-formats-ext -d 2 ioctl: VIDIOC_ENUM_FMT Type: Video Capture

[0]: 'MJPG' (Motion-JPEG, compressed)
    Size: Discrete 1920x1080
        Interval: Discrete 0.033s (30.000 fps)
        Interval: Discrete 0.040s (25.000 fps)
        Interval: Discrete 0.067s (15.000 fps)
        Interval: Discrete 0.033s (30.000 fps)
        Interval: Discrete 0.040s (25.000 fps)
        Interval: Discrete 0.067s (15.000 fps)
    Size: Discrete 1280x720
        Interval: Discrete 0.033s (30.000 fps) # I want this
        Interval: Discrete 0.040s (25.000 fps)
        Interval: Discrete 0.067s (15.000 fps) # But got only this

Piece of python code:

camUrl = 2
camRes = (1280, 720)
camFPS = 30

cap = cv2.VideoCapture(camUrl)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, int(camRes[0]))
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, int(camRes[1]))

cap.set(cv2.CAP_PROP_FPS, camFPS)
fps = cap.get(cv2.CAP_PROP_FPS)
print("fps set: ", fps) # Show me 'fps set: 15' 

fourcc = cv2.VideoWriter_fourcc(*'MJPG')
cap.set(cv2.CAP_PROP_FOURCC, fourcc)

Then I count fps and it is 15.

0 Answers0