Разработка клиента протокола национального стандарта GB28181 (1) общий выбор процесса и технологии
Разработка клиента протокола национального стандарта GB28181 (1) общий выбор процесса и технологии
Разработка клиента протокола национального стандарта GB28181 (1) общий выбор процесса и технологии
В этой серии статей будет представлен процесс разработки устройства национального стандарта протокола GB28181. Целью этой статьи является обсуждение общих вопросов проектирования и выбора технологий, чтобы предоставить разработчикам рекомендации и справочные материалы. В статье будет обсуждаться общая архитектура разработки на стороне устройства, процесс взаимодействия сигнализации, выбор ключевых технологий и т. д., чтобы помочь нуждающимся читателям понять и усвоить ключевые моменты разработки на стороне устройства протокола GB28181, а также освоить технологии, необходимые для разработать протокол GB28181 на стороне устройства и получить знания, чтобы заложить основу для разработки реальных проектов.
1. Знакомство с протоколом GB28181.
Полное название GB28181 — «Технические требования к передаче, обмену и управлению сетевыми системами видеонаблюдения общественной безопасности». Он определяет сетевой протокол связи между оборудованием видеонаблюдения и направлен на достижение взаимосвязи и унифицированного управления системами видеонаблюдения. В последние годы, в связи с быстрым развитием систем видеонаблюдения, GB28181 стал фактическим стандартным протоколом для различного оборудования наблюдения, такого как сетевые камеры IPC и сетевые записывающие устройства с жестким диском NVR.
Базовая архитектура:
Базовая архитектура протокола GB28181 включает в себя сторону устройства и сторону платформы. Сторона устройства включает в себя оборудование видеонаблюдения, такое как камеры, видеорегистраторы и т. д.; сторона платформы — это платформа управления системой видеонаблюдения, отвечающая за управление оборудованием, прием и хранение видеопотока и другие функции.
Сигнальное взаимодействие:
Протокол GB28181 использует механизм взаимодействия сигнализации на основе SIP (расширенный). Устройства отправляют сигналы SIP для установления сеансов связи и передачи управляющей информации. Обычно используемые SIP-сообщения включают регистрацию, контрольное сообщение, поиск устройства, запрос статуса устройства, управление устройством и т. д.
Передача данных:
Протокол GB28181 использует RTP для передачи аудио- и видеопотоков. Оборудование видеонаблюдения инкапсулирует аудио- и видеоданные в реальном времени в пакеты данных по протоколу RTP и передает их принимающей стороне через сеть.
Из вышеизложенного видно, что GB28181 очень похож на протокол SIP, но они ориентированы на разные области. Протокол GB28181 настроен и расширен на основе протокола SIP для области видеонаблюдения для удовлетворения потребностей видео. Необходимость сетевой связи между устройствами наблюдения. По сравнению с протоколом SIP протокол GB28181 больше ориентирован на потребности систем видеонаблюдения и предоставляет специфические функции и интерфейсы. Основные функции, включенные в протокол, следующие:
Управление регистрацией устройств
Запрос информации об оборудовании, запрос каталога, запрос статуса
Предварительный просмотр в реальном времени
Запрос видео, воспроизведение и загрузка
Управление оборудованием (управление PTZ, постановка/снятие с охраны, вспомогательный переключатель и т. д.)
Голосовое вещание и голосовая связь
Уведомление и рассылка тревожных событий
школьные часы
Подписки и уведомления
2. Общая архитектура устройства GB28181.
Сетевой уровень: отвечает за сетевое соединение и связь устройства.
Уровень управления управлением: обрабатывает инструкции по управлению устройством, запросы управления, хранение и извлечение видео.
Медиа-уровень: отвечает за кодирование аудио и видео, а также декодирование и анализ медиа-файлов.
3. Процесс работы устройства GB28181.
Запустите устройство: после запуска устройства подключитесь к сети и инициализируйте каждый модуль.
Установить сеть RTP/RTCP: устройству необходимо инициализировать сеть RTP/RTCP после запуска, чтобы установить медиаканал с платформой для передачи аудио- и видеопотоков.
Платформа регистрации: устройство отправляет запрос на регистрацию регистрации на назначенную платформу, включая идентификатор устройства SIP, IP-адрес, порт SIP и другую ключевую информацию. На платформе GB28181 будет проходить двукратный процесс регистрации для проверки пароля, о котором речь пойдет позже.
Поддержание активности пульса: устройство регулярно отправляет на платформу сообщения пульса для поддержания соединения с платформой.
Ответ на запросы управления платформой: устройство получает запросы управления от платформы, такие как запрос каталога устройства, статус, информацию и другие операции, а затем отвечает соответствующим образом в соответствии с запросом.
Предварительный просмотр в реальном времени: Устройство получает Предварительный с платформы GB28181 просмотр в реальном временипросить,Потоковая передача аудио и видео в реальном времени,Объединено в сообщение RTP,Отправлено запрашивающей стороне.
Хранение, запрос и воспроизведение видео: устройство сохраняет видео, разделяет и сохраняет видеоданные в соответствии с периодами времени. Когда платформа GB28181 отправляет запрос на воспроизведение видео, устройство объединяет видеоданные соответствующего периода времени в сообщение RTP в соответствии с запросом и отправляет его запрашивающей стороне для воспроизведения.
Обработка сигналов тревоги: устройство получает сигнал запуска тревоги и отправляет уведомление о тревоге на платформу GB28181. При получении запроса на обработку сигнала тревоги устройство может выполнить соответствующую обработку, например, включить звуковой сигнал тревоги, передачу видео и т. д.
Обслуживание сетевого соединения: устройству необходимо поддерживать стабильное сетевое соединение с платформой GB28181 и обрабатывать нештатные ситуации, такие как отключение и повторное подключение сети.
Выключение устройства: когда устройство получает команду выключения или активно отключается, ему необходимо отправить соответствующее прощальное сообщение SIP в текущий канал передачи данных RTP и освободить соответствующие ресурсы.
Среди них ключевыми этапами являются регистрация, контрольный сигнал, запрос каталога устройства, предварительный просмотр в реальном времени и обслуживание сетевого подключения. Только при достижении этих пунктов его можно рассматривать как базовое устройство GB28181.
4. Выбор технологии
Выбор правильной технологии имеет решающее значение для разработки устройства протокола GB28181. Ниже приведены некоторые предложения по выбору ключевых технологий:
Языки и фреймворки разработки. Разработка проекта обычно включает в себя выбор подходящих языков и фреймворков разработки на основе требований проекта и технического опыта команды разработчиков. В соответствии с требованиями этого проекта я использовал C++ для реализации базового процесса и QT для проектирования интерфейса.
Библиотека протоколов SIP: выберите стабильную и зрелую библиотеку протоколов SIP для обработки сигнальных взаимодействий. Распространенные варианты включают PJSIP, JAIN-SIP, oSIP, eXosip и т. д. Учитывая зрелость онлайн-информации, eXosip был выбран в качестве базовой библиотеки SIP. Конечно, поскольку сигнализация SIP представляет собой текстовый протокол, аналогичный HTTP, вы также можете рассмотреть возможность реализации его самостоятельно. Или используйте для этого Node.js. Поскольку я реализовал весь проект на C++, я выбрал eXosip.
Библиотека протокола RTP. Для реализации передачи аудио- и видеопотоков существует множество базовых библиотек, поддерживающих протокол RTP/RTCP, таких как JRTP, ortp и live555. Учитывая, что сам RTP не сложен и может быть реализован с помощью протокола RTP. сами, я здесь использовал последнее.
Медиа-библиотека: поскольку устройству GB28181 необходимо обеспечивать потоки видео/аудио, включая чтение, декодирование, кодирование и другие функции видеофайлов, использование ffmpeg является наиболее подходящим решением.