I am using a ub camera with raspberry pi. When I run v4l2-ctl --list-formats-xext, I get the max FPS is 15 with resolution of 2592x1944.

However when I run ffmpeg -t 5 -f v4l2 -framerate 15 -video_size 2592x1944 -i /dev/video0 1.avi I get a maximum FPS of 3.

Could someone help me how I can make the cam work at max FPS?

  • Not necessarily. I could use anything which helps me record videos at high FPS at full resolution
    – Rishabh
    Aug 21, 2018 at 9:14
  • So. raspivid is probably what you want Aug 21, 2018 at 9:20
  • No. Raspvid is for raspicam. I am using a USB camera
    – Rishabh
    Aug 21, 2018 at 12:27
  • @Jaromanda X, My apologies. I am very new to this and don't understand your suggestion fully. Could you please help me by elaborating? If I understand you rightly, what you suggest will help me capture it in mjpeg and then in post-processing I can decode it. Is this right?
    – Rishabh
    Aug 22, 2018 at 13:47
  • 15 FPS is the limit of your video device. Encoding 15 FPS video at those dimensions would require a more powerful CPU or hardware accelerated encoding. Try lowering frame height and width.
    – svin83
    Jan 24, 2022 at 17:42

1 Answer 1


I don't think you will be able to increase the FPS substantially with your current hardware. USB has significant CPU overhead, and encoding a video stream is CPU-intensive too.

You could either replace your webcam with a RPi camera module which saves you the USB overhead, get a webcam that does mjpg compression itself (eg known good with octoprint, look for those that does not require '-y'), or connect your webcam to a faster computer capable of handling the load.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.