首页 > 编程语言 >使用C++实现GB28181信令服务中心

使用C++实现GB28181信令服务中心

时间:2024-08-03 13:39:33浏览次数:15  
标签:信令 GB28181 C++ 自研 实现 录像

一。背景:

     参照开源的GB28181信令服务wvp,准备使用C++实现一套自研的轻量级GB信令服务中心。因此对GB28181协议进行了梳理并且编写了Demo验证,现在把过程整理下来。

     希望将来能够实现一套完整的GB28181信令服务。使用了eXosip库。

二。GB28181协议栈:

三。GB28181信令交互流程:

四。预研实现功能列表:

  • 设备注册
  • 通道查询
  • 云台控制
  • 预置点查询
  • 预置点设置
  • 实时播放
  • 录像查询
  • 录像回放
  • 录像控制(倍速、暂停、恢复)
  • 录像下载
  • 语言对讲
  • 国标级联

五。系统架构:

 六。实时播放流程:

 七。录像回放流程:

 八。预研结论:

  1. GB28181协议栈较为繁琐复杂,需要仔细梳理其业务流程。
  2. GB28181协议交互很多都是异步方式,因此造成自研实现的程序逻辑复杂度会比较高。
  3. 实现视频播放的功能时需要借助流媒体服务。
  4. 目前已经能够验证了GB28181协议最常用的几项功能的技术可行性。
  5. 实现一套自研的GB28181平台并不容易,还有大量的技术细节和异常处理等需要去完善。

标签:信令,GB28181,C++,自研,实现,录像
From: https://www.cnblogs.com/feixiang-energy/p/18340370

相关文章

  • c++中的标准库
    前言hello,我是文宇。正文C++标准库是C++编程语言的基本组成部分之一,它为开发人员提供了一套丰富和强大的工具和功能,以便快速开发高效、可靠和可移植的应用程序。C++标准库由两个主要部分组成:STL(StandardTemplateLibrary)和非STL部分。STL(标准模板库)是C++标准库的核心部分,......
  • 速通c++(周六)
    前言hello大家好,我是文宇。今天是速通c++的最后一天。(周日是愉快的玩耍,学个毛线)今天是一些用循环写的骚操作(娱乐)正文以下是一些在C++中使用循环进行的有趣和骚操作的例子:打印三角形:intn=5;for(inti=0;i<n;i++){for(intj=0;j<=i;j++){cout......
  • 基础算法:离散化(C++实现)
    文章目录1.离散化的定义2.离散化例题2.1离散化+二分2.2离散化+哈希表1.离散化的定义离散化是一种在程序设计和算法优化中常用的技术,其核心思想是将无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。具体来说,离散化是在不改变数据相对大小的条......
  • C++学习笔记之指针高阶
    数组名数组名字是数组的首元素地址。一个指针变量保存了数组元素的地址。我们就称之为数组元素指针,及数组指针。数组指针的本质是指针,指向数组中的某个元素的地址。 由于数组名可以代表数组收元素地址,数组元素是可以通过 数组名[下标]的格式访问,那么可以定义一个指针......
  • c++ 字符分割截取
      #include<iostream>#include<string>#include<sstream>#include<vector>//函数用于按照指定分隔符分割字符串std::vector<std::string>splitString(conststd::string&s,chardelim){std::vector<std::string>tokens;......
  • 【C++】存储区
    bss段:存放未初始化的全局变量(包括静态全局变量)和初始化为0的全局变量(包括静态全局变量),属于静态分配内存(bss=BlockStartedbySymbol)data段:数据段,用来存放已经初始化且初始化值为非零的全局变量(包括静态变量)text段:通常是指用来存放程序执行代码的一块内存区域。这部分区域......
  • 虚幻五 学习(五)开始写C++代码
    经过正确创建文件现在就有C++文件了   UFUNCTION(BlueprintCallable) voidOpenLobby(); UFUNCTION(BlueprintCallable) voidCallOpenLevel(constFString&Address); UFUNCTION(BlueprintCallable) voidCallClientTravel(constFString&Address);#include"......
  • 【VSCode】C/C++ 自动补全
    1、安装C/C++插件2、进入设置先检查"C_Cpp.intelliSenseEngine"是否为Default。如果是Disable,一定要把它改过来,否则将会在左下方弹出错误提示框,提示:"C_Cpp.intelliSenseEngine"是Disable,没有办法进行提示......
  • 从汇编层面看c/c++函数调用过程
    函数调用分析前置知识:全局变量:在函数内部定义的变量局部变量:在函数外部定义的变量esp:存储当前函数栈底的地址ebp:存储当前函数栈顶的地址对于函数形参(实际上):简单:cpu寄存器中复杂:栈中开空间函数调用机制:局部变量占用的内存是在程序执行过程中“动态”地建立和释放的......
  • 上海计算机学会2022年5月月赛C++乙组T3狼人游戏(二)
    狼人游戏(二)内存限制: 256 Mb时间限制: 1000 ms题目描述有 n 名玩家在玩狼人游戏,有一些玩家的身份是狼人。其余玩家的身份是预言家。游戏的进程中,陆续出现了 m 句发言,每句发言来自于某个玩家,发言的信息是声称另一个玩家的身份是狼人或者是预言家。小爱猜想,狼人的发......