Multi-camera and reshuffle of memory.
I have plugged in a high-speed USB 2.0 hub in to an Omega2S (and +). Plugged into it are two Logitech 930C USB 2.0 web cams. I run the two commands:
mjpg_streamer -b -i "input_uvc.so -d /dev/video0 -r 1280x720 -f 30" -o "output_http.so -p 8080 -w /www/webcam"
mjpg_streamer -b -i "input_uvc.so -d /dev/video1 -r 800 x 600 -f 30" -o "output_http.so -p 8081 -w /www/webcam"
Camera #1 at 1280 x 720 and Camera #2 800 x 600, both at full frame rates ~30fps. The performance is inspiring over Wifi! But, if I bump up Camera #2 to the 1280 x 720, with no surprise, it fails:
uvcvideo: Failed to submit URB 0 (-28).
Unable to start capture: No space left on device
i: Error grabbing frames
So here is the question; I have worked with devices where RAM is split into partitions. On some of these, you can futz around with the mapping and steal from one partition allocation to add to another. Does the potential exist that I can re-map and maybe grab just enough RAM to allow both cameras to run at the 1280 * 720? Both the Onion2S and Onion2S+ have the same error which is strange since the 2S+ has 2x RAM (DDR2 DRAM 128MB vs 64MB) of the 2S but running the same OS image. Where has my 2X RAM gone?
luz last edited by
@lzerman The amount of RAM availabe is a definition in the linux device tree, which is baked into the firmware image at build time.
There are two different images for omega2(s) and omega2(s)+ for that reason. While the omega2 (non +) image also works on the plus, it will not use the extra RAM. So make sure you use a omega2(s)+ image on the 2S+.
In any case, the first output line of
cat /proc/meminfogives you the free memory the system thinks it has (around 59megs on a Omega2).
Thank you. That means there is a good chance it is possible.