使用C++实现GB28181信令服务中心
一。背景:
参照开源的GB28181信令服务wvp,准备使用C++实现一套自研的轻量级GB信令服务中心。因此对GB28181协议进行了梳理并且编写了Demo验证,现在把过程整理下来。
希望将来能够实现一套完整的GB28181信令服务。使用了eXosip库。
二。GB28181协议栈:
三。GB28181信令交互流程:
四。预研实现功能列表:
- 设备注册
- 通道查询
- 云台控制
- 预置点查询
- 预置点设置
- 实时播放
- 录像查询
- 录像回放
- 录像控制(倍速、暂停、恢复)
- 录像下载
- 语言对讲
- 国标级联
五。系统架构:
六。实时播放流程:
七。录像回放流程:
八。预研结论:
- GB28181协议栈较为繁琐复杂,需要仔细梳理其业务流程。
- GB28181协议交互很多都是异步方式,因此造成自研实现的程序逻辑复杂度会比较高。
- 实现视频播放的功能时需要借助流媒体服务。
- 目前已经能够验证了GB28181协议最常用的几项功能的技术可行性。
- 实现一套自研的GB28181平台并不容易,还有大量的技术细节和异常处理等需要去完善。