I've always had low FPS with my webcam, between 5 and 10 on average. I've been running like this for months. Today, I decided to use the /dev/v4l/by-id/my-webcam-device-name instead of /dev/video0 and I suddenly got a steady 30 FPS! I thought that I finally had a solution, until I had a second look at the name of the device that I copy-pasted. I got the device name by executing ls /dev/v4l/by-id and copied everything without realizing that there were two devices, so I had this in my crowsnest.conf:
device: /dev/v4l/by-id/usb-EMEET_HD_Webcam_eMeet_C960_A231117000901624-video-index0 usb-EMEET_HD_Webcam_eMeet_C960_A231117000901624-video-index1
I removed the second device name and then boom, I was back to 5-10 FPS! I tried putting some garbage after the device name and FPS went up to 30! I thought I was crazy so I tried at least 15 times with different settings and the only way I could get 30 FPS was to add some garbage after the device name. It also works with /dev/video0 (as it should because it's only a symlink I think?)
This is so weird! What could cause this?!