What is the maximum number of hires cameras can be connect?
-
Hello,
I'm using VOXL2 on starling max.
I'd like to connect as many cameras as possible.
You can assume that compute power and storage is not an issue, since I'm gonna use very low fps.
What is the maximum number of cameras of 20MP and 12MP I can connect?For example:
Can I use 4 cameras with 20MP each at 5fps of stills photos (raw data) on each camera?Thanks, Leon
-
@Leon-Vaidman Hi Leon, right now QTY. 2 Hi-res should work with full ISP support (as there are 2 full ISPs). You may be able to get more using the RAW10 datapath, but it may not work. It is a lot of work for us to support new camera configurations.
-
@Leon-Vaidman , if you describe your desired configuration, I can try it.
- what board you are using (voxl2 or voxl2 mini). when you log in using adb, you should see
hw platform
, let me know what that is. - what cameras would you like to connect (Mxxxx part number)
- what resolution and FPS of each camera
- desired output mode of each camera (RAW10, YUV or h264/h265 output).
Some background:
- only two concurrent "processed" streams are supported. A processed stream is a data path that generates a YUV (which can then be either output as is or encoded with hardware encoder)
- there is no limit on number of RAW10 streams, so you could have 2 processed streams + other RAW sterams (as it is done with tracking cameras, stereo cameras, etc).
Alex
- what board you are using (voxl2 or voxl2 mini). when you log in using adb, you should see
-
@Alex-Kushleyev Hi Alex,
I'm using VOXL 2.
The preferred output is RAW data.
I'd like to understand if it's possible and what is the max fps for each configuration set:- 2 cameras - 12MP each.
- 2 cameras - 20MP each.
- 2 cameras - 48MP each.
Thanks, Leon
-
Hi @Leon-Vaidman ,
We offer several high resolution cameras:
- IMX214 (4208x3120) : 13Mpix
- IMX412 (4056x3040) : 12Mpix
- IMX678 (3840x2160) : 8Mpix
We are looking into supporting a 64Mpix camera, but it is not yet available.
There is no problem getting RAW10 frames at 30fps from 2 cameras. I believe the limitation will come from saving the frames to VOXL2 storage (which may not be an issue if your target FPS is very low). Each 4056x3040 frame is 4056 * 3040 * 1.2= 14.8MB, so 30FPS would be around 440MB/s.
I have set up a test where i connected two IMX214 cameras and two IMX412 cameras and configured for maximum resolution and the system is able to grab 30fps from each camera using
voxl-inspect-cam
, however streaming all this data to the inspect tool puts too much stress on the system and is only possible for a short period of time.| Pipe Name | bytes | wide | hgt |exp(ms)| gain | frame id |latency(ms)| fps | mbps | format | hires0_bayer |18534400 | 4056 | 3040 | 14.34 | 1330 | 73 | 70.6 | 30.1 | 4462.2 | RAW10 | hires1_bayer |19722240 | 4208 | 3120 | 33.00 | 800 | 74 | 104.8 | 30.3 | 4781.1 | RAW10 | hires2_bayer |18534400 | 4056 | 3040 | 17.20 | 1442 | 74 | 76.5 | 30.1 | 4466.4 | RAW10 | hires3_bayer |19722240 | 4208 | 3120 | 33.00 | 800 | 73 | 130.5 | 30.3 | 4780.8 | RAW10
Interacting with RAW frames of this resolution at high rate is not practical because even sending them from one process to another takes substantial cpu time. It seems that in your case the FPS will be very low, so that should not be an issue. if you wanted to save a few FPS RAW10 data from 2 cameras.
I have described, more or less, the current limit of VOXL2 capabilities in terms of getting RAW images. Please keep in mind if you wanted processed images (YUV or video), you can currently only get that for two cameras.
With this in mind, let me know please let me know what else you need to know or if you are ready to start testing, i can help you set this up. For low enough FPS, you may be able to use
voxl-logger
orvoxl-record-raw-image
tools or may need to modify them depending on your needs (I can help you with that).Alex