Open mersadsh opened 9 months ago
Do you have those errors
?
The network code in this fork and aravis versions are different.
Thanks for your response. I am using the Fraunhofer code and aravis verion of 0.8.22
I also tried this fork with aravis version 0.8.29. Now the problem with higher MTU of 2000 for resolution of 2736x1824 is solved.
But still receiving the warning for the resolution of 5472x3648.
[ WARN] [1706877082.970255286]: (cam1 (and possibly subframes)) Frame error: ARV_BUFFER_STATUS_TIMEOUT
What framerate are you trying to run at?
Assuming:
5472 × 3648 × 2 BPP × 10 FPS ÷ 1024 ÷ 1024 × 8 ~= 3045.9375 Mbps
I am not sure if you are working with USB or GigEV camera
You would need 3 Gbps link to pull data. If using GigEthernet vision your link is most likely gigabit ethernet (1 Gbps)
If above assumptions are true your would be able to get at most 2-3 fps with uncompressed data using gigabit (1 Gbps) link.
3 fps may be already a stretch as 1 Gbps link speed is theoretical.
Try lowering FPS and and check if it helps.
Please also double check
sudo sysctl -w net.core.rmem_max=33554432
Also the network buffer sizes you are using may be too small
5472 × 3648 × 2 BPP = 39923712 which is greater than 33554432
This means that even single picture may be larger than the buffer size you set.
I am using GigEV camera, and the link speed as you said is 1 Gbps.
The weird thing is that I get this waning for any resolution more than (2736x1824)!
I have finally fixed the problem.
The problem stemmed from the fact that the two parameters, BinningVertical and BinningHorizontal, were set to 2x2. By changing them to 1x1, I have achieved image resolution of 5472x3648 and a frame rate of 6 FPS.
Now, I am able to open each camera separately in Rviz. However, when attempting to have all three cameras open simultaneously and display images in Rviz, I encounter the same buffer error. Despite this error, the images of all three cameras are still displayed correctly.
Also sometimes, I receive the message 'Control to aravis device lost.' I appreciate it if you could tell me that if it is normal due to the high amount of data being transferred by three cameras?
Thanks for your time.
Despite this error, the images of all three cameras are still displayed correctly
When you see this error you probably skip frame from camera due to errors
So may still have working system but some frames may be dropped
5472x3648*6=119771136 Bps ~= 114 MBps ~= 931 Mbps
So for 3 cameras at the same time you would be able to use at most 2 fps for each
Also you may easily exceed bandwidth this way sometimes (think of 3 cameras transmitting at Gb speed at the same time)
You may try setting interpacket delay through GigEV vision (I think it is GevSCPD) or use other tricks for devices to cooperate better.
Some random link that may point you in the right direction http://www.sanxo.eu/content/techtips/TechTip_GEV_BandwidthCtl_EN.pdf
You may get some idea of link problem errors using netstat
(I think I added some notes in readme)
Also larger MTU will help when pushing bandwidth to limits
So for 3 cameras you would be able to use at most 2 fps for each
Unless you are using setup like:
Hi I have the problem of "[ WARN] (cam1) Frame error: "ARV_BUFFER_STATUS_TIMEOUT". With MTU of 2000 and the resolution of 2736x1824, I have the images on Rviz but if I increase the resolution to (like 5472x3648) it throws the Buffer Warning and there is no image.
Things that I have tried until now:
Also the thing is, if I increase the MTU to higher than 2000, this resolution 2736x1824 also doesn't work anymore.
I appreciate it if you could help me.