On 7/11/23 11:55 PM, Stuart Henderson wrote:
This is the message printed by CvCaptureCAM_V4L::requestBuffers when the ioctl fails with EINVAL.

For uvideo the backend to this is uvideo_reqbufs() in /sys/dev/USB/uvideo.c - this has several cases which return EINVAL. Did you get any kernel messages (dmesg, /var/log/messages) while it was reporting these "no support for memory mapping" errors?

If not, you can differentiate between some of these EINVAL by building a kernel with "#define UVIDEO_DEBUG" added to uvideo.c (before the #ifdef UVIDEO_DEBUG), which might give some clues about what your Python code is doing that didn't work with openbsd's v4l2 implementation.

But...if my quick calculations are right, reading and processing at that resolution in colour is about 6MByte per frame, so 5 channels at say 8fps would be in the region of ~240MByte/s (~2Gbit/s). Even if you can get the code working with openbsd, I really think you are going to struggle to read that from USB and run image processing on the data on a Pi 4 running openbsd (also openbsd's USB layer is not known for being particularly reliable). I think this task is better suited to running under Linux.

--
  Sent from a phone, apologies for poor formatting.


On 11 July 2023 22:12:37 Jeff Ross <jr...@openvistas.net> wrote:

Hi all,

Trying to run an OpenCV python script on a Raspberry Pi 4 with 7.3 and
4G of ram with a single 2K webcam.

Thanks as always Stuart.

I'll be stacking 20-30 half second exposures for the all sky cameras but I didn't know about the USB layer reliability issue.

The amd64 rig will be a better fit for this project.

Jeff

Reply via email to