Aravis in Docker Container on Windows

Hello/Bonjour,

I am trying to use aravis (0.8.28) in a docker container. We have a windows host. Otherwise the docker --network=host would probably fix our issue.

The issue is that we can connect to both cameras by their IP’s and open an acquisition stream but the UDP packets never make it into the container. We can tell this by using wireshark. Wireshark also tells
us that the aravis software is sending the image data back to the ip address of the docker container. We have done some tests and believe that if aravis could send the data back to the ip address of the windows host, this would work for us.

Can you suggest if there is a way of doing this or if we have to modify the code ourselves? If we have to modify the code ourselves, can you suggest what code should be modified and/or the best way of doing it please?

Thanks/Merci,
Adam

Hi,

You should be able to change the stream IP address destination by modifying the GevSCDA register (of if it is not exposed by your device, the Aravis defined one ArvGevSCDA), just after you have created the stream object (using arv_camera_create_stream for example).

This is where aravis is setting the default IP address: https://github.com/AravisProject/aravis/blob/5e88875141e954441e2302e20f221a52b9c4e2ef/src/arvgvstream.c#L1659-L1669

Emmanuel.

Merci beaucoup Emmanuel. That worked. Regards, Adam