标题:监控28181连接到云服务器/推流分发/客户端网页端手机端拉流/实时性好极低延迟
作者:liudianwu
日期:2025-07-12 10:46
内容:
## 一、前言说明
现在越来越多的场景是需要通过28181进行联网的,监控设备端基本的也都会支持28181协议,从2010年到2014年这个阶段主流还是onvif,由于无法方便的和外网连接,逐渐变成非主流,局域网用onvif没问题,广域网基本上要靠28181,近期接触到的项目也基本上都是需要通外网,用户需要在其他外网访问到监控摄像头,所以需要一个方案,提供一个云端服务器比如阿里云,然后上面有28181服务端,监控设备上面填好对应的服务地址,自动连到服务器,然后服务器上的程序负责收流后推流分发,对外提供rtsp/rtmp/http/flv/webrtc等方式拉流,至于是在电脑客户端还是网页端还是手机端,都可以正常拉流显示。
之前已经用纯qt底层udp/tcp协议,实现了28181服务端,废了很大的精力,并没有采用exosip等第三方开源库,而是从最底层一点点实现的,最关键的是把国标28181协议文档阅读几遍,先打通整体通信流程,然后逐个实现具体的协议交互。整个程序做下来,极大加深了对整个协议的理解深度,后面无论是gb28181-2020还是未来的2026啥的,都可以非常快速的加入支持,整个协议已经烂熟于胸。
除了28181服务端已经实现了,推流也是早就实现了,用的ffmpeg做推流,用zlm或者mediamtx做流媒体服务,监控系统客户端也是非常成熟的,都是Qt实现的,于是现在一整套下来,都是纯Qt开发的,目前市面上估计也就仅有的一整套方案全是Qt做的。这是要把Qt发扬光大?
## 二、效果图
## 三、相关地址
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. 支持视频点播,可以分别点播 ..