Hi, I implemented a similar solution before,
the idea was to simultaneously shoot up to 200 cameras at the same time,
the cameras CSI cameras connected to raspberry pi zero each, all the raspberry pis are connected to a router.
my solution was to make service that will be deployed on each of that pis, this service will intialize the camera and start a service discovery agent that will listen to broadcasted messages on a specific port.
on the server side i developed a Qt based application using Python to discover and grab the feed of the cameras.
the service discovery eliminate the need for static ip's.
I have a lot of experience dealing with cameras , ping me for more details if interested.