标题:Qt/C++编写GB28181服务/前后端分离/定义一套交互协议/视频点播/录像回放和控制/警情通知
作者:liudianwu
日期:2025-11-06 11:12
内容:
## 一、前言说明
之前已经实现了GB28181服务端程序,为了方便调试使用,直接是做成的一个程序,可以直接在界面上看到连接上来的设备,双击通道查看实时视频,选择时间范围录像回放和下载。随着用户的增多,现在有了新的需求,而且也是刚需,那就是把这个做成服务后台运行,定义一套交互协议,可以是tcp或者http或者mqtt,然后通过协议获取在线设备信息,点播视频,录像回放,切换回放进度,倍速回放,警情上报等,这样的话相当于暴露给第三方使用,至于第三方用Qt还是VB或者C#或者其他网页的,都可以都支持,视频点播后的流推到了流媒体服务程序,会分发成rtsp、rtmp、http、webrtc等格式,网页上可以选择flv或者webrtc来播放,客户端CS架构的可以直接播放rtsp这种,这样受众就非常多,拓展了兼容性,而且程序直接互不干扰,服务端这边有改动和升级,完全不影响请求端。这个思路很好,按照这个模式走下去,后面视频监控系统估计也要定义一套交互协议,尤其是和AI交互。
## 二、效果图
## 三、相关地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 文件地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_gb28181
## 四、功能特点
1. 支持设备注册、注销、心跳、校时、注册认证、注销认证等。
2. 设备上线后可以手动获取设备状态、设备信息、配置信息、预置位信息等。
3. 设备上线后自动获取设备通道信息,包括中文通道名称。识别到通道上线离线变化,会重新获取该设备的所有通道信息。
4. 支持视频点播,可以分别点播主码流和子码流,内置rtp解包线程,解包后发给视频播放组件解码播放。
5. 每个设备每个通道支持点播多个视频,通过ssrc区分,支持共用端口和不同端口收流。
6. 支持对某个设备下面所有通道、某个通道、某个通道对应的某个流分别关闭。
7. 支持录像文件查询和回放,回放控制支持暂停播放、继续播放、倍速播放、切换播放进度。
8. 支持录像 ..
#1 [tanyue.esec 11-06 23:03]
感觉客户端的需求更多样化,各种终端各种软硬件环境