Click here to Skip to main content
15,742,973 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Our student enthusiast team are working on video surveillance app which is being developed from scratch. There is a definitely conventional workflow inside as we have to empower this step-by-step functionality:
1. Raw video stream goes from a surveillance camera via HLS-conform encoding device to server which role means receiving multiple raw streams (yes, we look for multi-camera app design to provide users with quick context switching onve they need that to watch some other scene);
2. All streams to be compressed at receiver host before dispatching algorithm runs to distribute them among analytics servers (the app serves to deliver video content with different analytics extensions like motion estimation, face recognition etc. - just doesn't matter right now);
3. Then, once user chose a specific camera to observe, the client terminal sends a request to an only client-side server - and there is just an essence of my question. It's because I seek for any suggestion how to code a mechanism in which the server gets known an analytics server that hosts the stream in correspondence with user's demand.

What I have tried:

We started this project in C++ a while ago, so far no relevant code stuff has been created here. However, we're searching for any useful information to go ahead with coding. Particularly I have my interest for that host detection mechanism spotlighted earlier. Yes, I realize it may be too complex to response without any line of code in the question, but my only suggestion is that somebody might have solved same or similar problem to give insight into functions I need. Sure, it would be fine to get some clues to code.
Updated 16-Mar-20 15:10pm

This is really a research question, and far too broad a subject for a Quick Answers technical forum. Video surveillance, image analysis etc., are large subjects and much has been written about them. Your starting point should be Google, to find research papers etc on the subject.
Share this answer
Like Richard said, the topic is too broad. Although I favor C++ for what I do, the language that you choose for this isn't that important compared to what are far higher-level design issues. For example, even at a lower level you might decide to use an IP protocol like RTP for your video streams, but C++ won't even have a socket library until C++20! For that, you'll have to use platform-specific (e.g. Windows, Linux) functions.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900