I'm getting very low FPS on a USB webcam with the Raspberry Pi. Oddly,
top shows only about 10% CPU usage. As far as I know, the webcam forces 30fps. But I've tried various apps and I can't get more than a few FPS out of them. (motion, ffserver, uvccapture, ...)
My question: Where might this bottleneck be, and how could I go about establishing it?
Add-on questions, for huge appreciation! Fixing the bottleneck...
Ultimately, what I want to be able to do is have the OS ignore some of those raw incoming FPS so it can process more than the 1 or 2 FPS it is at the moment. I don't know if this is possible? My fear is that 1) it's not possible, or 2) I'll have to make my own driver!
Sadly I've established that the UVC driver (standard USB video class driver) for V4L2 does not currently implement the snapshot feature: if you want to sample snapshots, you have to extract them from the stream. For one, this means also that if a webcam offers higher resolution for snapshots than for video, there is no way in linux to get access to that higher resolution.