简体   繁体   中英

Distributed architecture for video surveillance system

I'm trying to design a distributed architecture for a video processing system. In this system there are multiple cameras, multiple processing stations (I named them slave nodes) and only one master node. One or more cameras are connected to one slave node and the client (end user) only knows the master's IP address.

My question is how can I make the slaves transparent from the client? For example the client may want to watch a camera's live stream. I want to watch it through the slave which the camera is connected to. Or the client may invoke a query (through the master node) and the result should be collected from multiple slaves.

Without knowing some specifics it is hard to answer but the following is one approach.

If the slave nodes are sending any kind of message to the master, such as "Hi I am alive", then the master is able to automatically capture their current IP address using socket level calls (exactly how depends on the language, in "C" use GetPeerName() on the inbound connected socket ) and keep a list of active/recent slave nodes.

Then when the client (end user) connects to the master, you could provide a number of hyperlinks on an overview page, which connect to the slave nodes. In this manner the master is working more as a directory, and the user connects to the slave to view the actual footage. (Assuming web type technologies)

An example of this is the website insecam.org which links you out to publically open cameras. In this case they are scanning for cameras to get the IP addresses, but the concept should be clear.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM