This defiantly seems to be the problem.
It seems to get closer if you don't start the camera in the code. It can at least find the camera this way but, it has extraneous data.
Code:
VIDEOIO ERROR: V4L/V4L2: VIDIOC_S_CROP
VIDEOIO ERROR: V4L: setting property #16 is not supported
Corrupt JPEG data: 2 extraneous bytes before marker 0xd6
Corrupt JPEG data: 4 extraneous bytes before marker 0xd
How would we go about implementing such a solution?