-
on linux, either gstreamer or ffmpeg can be used to read video files (and none of them are mandatory)
(you can also use gstreamer with webcams, but normally it should use the V4l backend)
so, imho, you should not “roll back” anything. -
you can specify, which backend to use, like
VideoCapture(0, CAP_V4L)
-
you can set the OPENCV_VIDEOIO_DEBUG environment variable, to see, which backends are checked / selected
“not working” means ? it’s usually a bandwidth problem, a typical usb hub can process a single camera so so, but you might need to decrease the resolution for more than 1 camera on the same hub (or choose a different hub, if you have)