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