-
Notifications
You must be signed in to change notification settings - Fork 12
Description
We are trying to use this plugin to access GigE cameras from (ephemeral) Docker containers. Each docker container connects to a single camera, and we set up a gstreamer pipeline to archive video footage, and a few other things. We have some 20+ cameras, and we've noticed that when all Docker containers start at the same time they end up "fighting". What actually seems to be happening is even though we open pylonsrc
with a specific camera serial number, it still tries to connect to all cameras to enumerate properties. I'm aware that there's some caching stuff about building a map of all known properties for all known camera models, but our Docker containers are ephemeral with no persistent storage (though the video archiving goes to NFS so I can add more persistent storage if I really have to), which means whenever they start they go through this process. Even if the camera's don't "fight", it still drastically slows down the start up time.
Worse, we have some cameras that aren't used by these Docker containers at all, but by another system (these are cameras with a different purpose). Currently these Docker containers do briefly acquire these cameras that are completely off limits, causing other systems to degrade. We can fix this with more intricate networking (completely isolating Docker containers), but it's a rather big hammer (that may require actual physical changes).
Is there a way to use pylonsrc
to only open exactly the requested camera, and no other camera?