Skip to content

Disable camera enumeration #138

@ocharles

Description

@ocharles

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions