Member 14631177 Ответов: 2

Какие функции C++ могут помочь захватить размещенный на сервере видеопоток по требованию клиента в приложении видеонаблюдения?


Наша команда студентов-энтузиастов работает над приложением для видеонаблюдения, которое разрабатывается с нуля. Внутри есть определенно обычный рабочий процесс, поскольку мы должны расширить эту пошаговую функциональность:
1. необработанный видеопоток идет от камеры наблюдения через устройство кодирования HLS-conform к серверу, роль которого означает прием нескольких необработанных потоков (да, мы ищем дизайн приложения с несколькими камерами, чтобы предоставить пользователям быстрое переключение контекста, если им это нужно для просмотра какой-то другой сцены);
2. все потоки должны быть сжаты на хосте приемника перед запуском алгоритма диспетчеризации для распределения их между аналитическими серверами (приложение служит для доставки видеоконтента с различными аналитическими расширениями, такими как оценка движения, распознавание лиц и т.д. - Просто сейчас это не имеет значения);
3. Затем, как только пользователь выбирает конкретную камеру для наблюдения, клиентский терминал отправляет запрос только на клиентский сервер-и в этом как раз суть моего вопроса. Это потому, что я ищу любое предложение о том, как закодировать механизм, в котором сервер становится известным аналитическому серверу, который размещает поток в соответствии с запросом пользователя.

Что я уже пробовал:

Мы начали этот проект на C++ некоторое время назад, но до сих пор здесь не было создано никакого соответствующего кода. Тем не менее, мы ищем любую полезную информацию, чтобы продолжить кодирование. В частности, у меня есть свой интерес к этому механизму обнаружения хоста, освещенному ранее. Да, я понимаю, что это может быть слишком сложно, чтобы ответить без какой-либо строки кода в вопросе, но мое единственное предположение заключается в том, что кто-то, возможно, решил ту же или подобную проблему, чтобы дать представление о функциях, которые мне нужны. Конечно, было бы неплохо получить некоторые подсказки к коду.

2 Ответов

Рейтинг:
2

Greg Utas

Как сказал Ричард, тема слишком широка. Хотя я предпочитаю C++ для того, что я делаю, язык, который вы выбираете для этого, не так уж важен по сравнению с тем, что есть далеко вопросы проектирования более высокого уровня. Например, даже на более низком уровне вы можете решить использовать IP-протокол, такой как RTP, для ваших видеопотоков, но C++ даже не будет этого делать. иметь библиотека сокетов до C++20! Для этого вам придется использовать специфические для платформы (например, Windows, Linux) функции.


Рейтинг:
1

Richard MacCutchan

Это действительно исследовательский вопрос, и слишком широкая тема для быстрого технического форума ответов. Видеонаблюдение, анализ изображений и т. д.-Это большие темы, и о них много написано. Вашей отправной точкой должен быть Google, чтобы найти исследовательские работы и т. д. по этому вопросу.