VidDown 工具站免费、本地优先的开发者工具箱在深入解析 GB28181 协议之前先介绍一下我维护的VidDownhttps://www.viddown.cn。它是一个免费、无需登录、优先纯前端处理的在线工具集涵盖 JSON 格式化、URL 编解码、Cron 表达式生成、正则测试、PDF 合并等 20 实用功能。如果你在对接 GB28181 平台时遇到 SIP 信令调试、配置解析等问题VidDown 的 JSON 格式化和正则测试工具可以帮你快速处理信令报文中的结构化数据。所有工具均优先在本地运行不上传敏感内容欢迎使用。 主站https://www.viddown.cnGB/T 28181 协议技术详解视频监控国标从入门到实战做安防平台开发那阵子公司接了雪亮工程的项目需要把不同厂家数百个摄像头统一接入上级公安平台。摄像头来自海康、大华、宇视等不同厂商每个厂家的 SDK 各不相同光是集成调试就花了一个多月。后来换了基于 GB28181 的方案设备主动向平台注册平台统一管理和调度跨厂商的问题一次性解决了。这篇文章从协议架构、信令流程、媒体传输到实际部署把 GB/T 28181 的关键技术点全部拆解出来。一、GB/T 28181 是什么GB/T 28181 的全称是《公共安全视频监控联网系统信息传输、交换、控制技术要求》是我国视频监控领域的国家级通信标准[reference:0]。它于 2011 年首次发布2016 年和 2022 年分别进行了修订当前最新版本为 GB/T 28181—2022。该协议主要用于解决以下问题不同厂商视频设备无法互联互通不同平台之间视频资源难以共享视频监控系统缺乏统一接入标准[reference:1]通过 GB28181 协议网络摄像机IPC、视频编码器、NVR 等设备可以按照统一规则接入平台实现跨厂商、跨系统的视频联网[reference:2]。简单理解GB28181 就是视频监控领域的“普通话”让海康、大华、宇视等各厂商的设备都能在同一个平台上进行通信实现设备标准化接入与视频集中管理[reference:3]。二、协议的整体技术架构GB28181 采用的是信令层 媒体层的分层架构[reference:4]层次核心协议功能说明信令层控制层SIP会话初始协议设备注册、心跳保活、目录查询、云台控制等指令媒体层数据层RTP实时传输协议实时视频流和录像回放流的传输GB28181不是单一协议而是在国际通用标准SIP、RTP、SDP基础之上进行了行业定制以满足视频监控联网系统的标准化需求[reference:5][reference:6]。2.1 信令层基于 SIP 的扩展SIP 是一个应用层点对点协议用于初始化、管理和终止网络中的语音和视频会话[reference:7]。GB28181 对 SIP 进行了视频监控领域的扩展常用的 SIP 消息包括REGISTER设备注册与注销MESSAGE心跳保活、设备状态上报INVITE / ACK / BYE建立和释放媒体会话INFOPTZ 云台控制、设备配置SUBSCRIBE / NOTIFY目录订阅与通知2.2 媒体层RTP PS 封装GB28181 使用RTP实时传输协议传输视音频数据。视频数据首先按照 MPEG-PSProgram Stream格式进行封装将 H.264/H.265 码流打包成 PS 包然后再封装成 RTP 包进行网络传输[reference:8]。RTP 包的结构顺序为PS 包 PS 头 | PES(video) | PES(audio)再用 RTP 封装发送[reference:9]。支持的编码格式包括H.264、H.265视频G.711、AAC、G.722.1音频[reference:10]。三、设备注册与鉴权流程设备注册是 GB28181 协议最核心的环节设备上线后主动向平台发起注册请求平台完成鉴权并确认注册之后设备周期性发送心跳消息维持在线状态[reference:11]。注册流程如下[reference:12][reference:13]设备发起注册SIP 代理摄像头/NVR向 SIP 服务器发送 REGISTER 请求包含设备国标 ID20 位数字编码、IP 地址、端口号、注册有效期Expires 字段等。平台返回质询SIP 服务器返回 401 Unauthorized 响应在WWW_Authenticate字段中给出认证体制和参数摘要认证。设备带认证信息重发设备重新发送 REGISTER 请求在Authorization字段中携带认证信息用户名、密码的摘要Expires 字段 0。平台确认注册SIP 服务器验证身份合法后返回 200 OK注册成功身份不合法则返回拒绝应答。3.1 心跳保活机制设备注册成功后需要定期发送刷新注册消息来维持在线状态。设备通过 MESSAGE 方法携带设备状态信息定期上报平台收到后返回 200 OK[reference:14][reference:15]。如果平台长时间收不到保活消息则认为设备离线。3.2 注销流程注销流程与注册类似区别在于设备发送 REGISTER 请求时将 Expires 字段设置为 0表示主动注销[reference:16]。3.3 DeviceID国标设备身份证DeviceID设备编码是 GB28181 中的核心标识字段通常为20 位数字编码用于唯一标识设备或通道[reference:17]。编码规则如下第 1-2 位省级编码第 3-4 位市级编码第 5-6 位区县级编码第 7-10 位行业类别码第 11-13 位设备类型码第 14-20 位设备序号DeviceID 相当于 GB28181 系统中的“设备身份证”设备注册、视频目录管理、平台级联调度都依赖此标识[reference:18]。四、实时视频点播流程当客户端需要查看某个摄像头的实时画面时平台与设备之间的信令交互流程较为复杂采用三方呼叫控制3PCC模式[reference:19]客户端发起点播请求媒体流接收者客户端向 SIP 服务器发送 INVITE 消息Subject 字段中携带点播的视频源 ID、媒体流接收者 ID 等参数SDP 消息体中s字段为 “Play” 表示实时点播[reference:20]。SIP 服务器邀请媒体服务器向媒体服务器发送 INVITE 请求不携带 SDP媒体服务器回复 200 OK携带接收媒体流的 IP、端口等信息[reference:21]。SIP 服务器邀请前端设备向媒体流发送者摄像头发送 INVITE 请求携带媒体服务器的 SDP 信息同时增加y字段描述 SSRC 值[reference:22]。设备回复媒体参数摄像头回复 200 OK携带发送媒体流的 IP、端口、SSRC 等信息[reference:23]。SIP 服务器完成三方握手向媒体服务器和前端设备分别发送 ACK 请求完成会话建立[reference:24]。客户端开始接收视频SIP 服务器通过 B2BUA 方式建立客户端与媒体服务器之间的连接摄像头开始将 PS 流通过 RTP 推送至媒体服务器媒体服务器转码转发给客户端[reference:25]。停止点播客户端发送 BYE 消息SIP 服务器逐级向媒体服务器和摄像头发送 BYE释放会话资源[reference:26]。值得注意的是上述流程是设备主动向服务器推流的模式服务器下发 INVITE 后设备将视频流推送到指定地址而不是客户端主动拉流[reference:27]。这一设计更适用于多级平台级联和大规模设备接入的场景。五、录像回放流程录像回放与实时点播流程类似主要区别体现在 SDP 消息体中实时点播的s字段为 “Play”而录像回放的s字段为 “Playback”同时需要携带时间范围参数起始时间和结束时间用于指定查询哪一段历史录像。按时间段查询录像和录像下载取证场景也是 GB28181 原生支持的功能前提是设备或平台具备录像存储能力[reference:28]。六、GB28181 媒体传输细节6.1 PS 封装格式GB28181 采用 MPEG-PSProgram Stream格式封装视音频数据。PS 封装首先按照 ISO/IEC 13818-1 将视音频流封装成 PS 包再将 PS 包以负载方式封装成 RTP 包[reference:29]。典型的视频关键帧 PS 包结构如下[reference:30]PS 包 PS 头 | 系统头(System Header) | PSM | PESV(视频) | PESA(音频)视频非关键帧的 PS 包中一般不包含系统头和 PSM系统头用于描述 PS 包中的码流种类PSMProgram Stream Map用于标识流类型PSM 中流类型stream_type取值如下[reference:31]编码格式stream_type 取值H.264 视频流0x1BH.265 视频流0x24G.711 A 律音频0x90G.711 U 律音频0x91AAC 音频流0x0F6.2 RTP 封装PS 包封装完成后再按照 IETF RFC 2250 封装成 RTP 包主要参数如下[reference:32]参数取值说明payload type96负载类型encoding namePS编码名称clock rate90 kHz时钟频率SDP 中 “m” 字段 mediavideo媒体类型6.3 H.265 和 AAC 支持GB/T 28181-2022 相比 2016 版在媒体传输方面进行了重要扩展增加了对 H.265 和 AAC 的支持是这一版本最核心的技术变化之一[reference:33][reference:34]。H.265 视频流的 RTP 载荷格式应符合 IETF RFC 7798 的规定负载类型Payload Type建议从动态范围 96127 中选择通常设为 100[reference:35]。AAC 音频流的 RTP 载荷格式则应符合 IETF RFC 3640 的规定[reference:36]。七、协议版本演进GB/T 28181 经历了三个重要版本各版本的主要变化如下版本发布/实施时间主要变化GB/T 28181-20112011 年发布首个正式版本奠定视频监控联网标准基础GB/T 28181-20162016 年发布优化互联结构增加安全性要求GB/T 28181-20222022-12-30 发布2023-07-01 实施① 支持 H.265、AAC、G.722.1 编解码格式② 信令报文增加协议版本标识X-GB-Ver:3.0③ 增加 NAT 穿透时 TCP 传输模式支持④ 增加注册重定向集群模式⑤ 信令字符集统一为 GB18030[reference:37]与其他视频传输协议的对比[reference:38]对比项GB28181RTSP标准属性国家标准通用流媒体协议设备注册✅ 支持❌ 不支持目录管理✅ 支持❌ 不支持平台级联✅ 支持❌ 不支持监管适配强弱适用场景政企 / 行业级规模系统简单拉流结论GB28181 更适合规模化、平台化视频系统。八、实际部署要点8.1 网络带宽要求根据 GB/T 28181-2016 标准规定[reference:39]前端设备接入监控中心单路不低于512kbps重要场所不低于2Mbps各级监控中心间网络单路不低于2.5Mbps8.2 开源方案推荐如果要快速部署 GB28181 平台推荐使用WVP-GB28181-pro ZLMediaKit组合WVP-GB28181-pro基于 Java 开发的 SIP 信令服务器负责设备注册、心跳、指令下发ZLMediaKit高性能流媒体服务器负责接收摄像头的 RTP 流、转码、封装以及向浏览器推送 RTSP/RTMP/HLS 等格式[reference:40][reference:41]以 Ubuntu 22.04 为例安装 Redis会话状态缓存和 MySQL设备信息、通道配置存储后即可编译运行上述两个组件实现完整的 GB28181 视频管理平台[reference:42]。九、常见问题Q1GB28181 设备注册失败怎么办A首先检查 DeviceID 格式是否正确20 位数字其次确认 SIP 服务器 IP 和端口可通最后验证密码是否正确。可以通过抓包查看 401 质询和 200 OK 的交互过程。Q2能收到视频流但播放花屏A可能是 RTP 丢包或乱序导致的。可以尝试改用 TCP 模式传输或增大接收缓冲区。ZLMediaKit 默认开启了 RTP 排序去重功能[reference:43]。Q3平台如何发现网络中的设备A可以通过 SIP OPTIONS 消息广播发现设备不过在实际使用中更常见的是设备主动向平台注册[reference:44]。Q4GB28181 是否支持平台级联A原生支持。下级平台向上级平台注册视频目录逐级上报跨平台视频点播常见于省/市/区/园区多级架构[reference:45]。Q5GB28181 能否用于工业和非安防场景A可以而且应用越来越多。典型场景包括工业现场视频监控、能源/电力/水务视频采集、生产线可视化、AI 视频分析数据源等[reference:46]。十、写在最后GB/T 28181 作为我国视频监控领域最重要的国家标准协议解决了视频设备联网、平台互通与资源共享的核心问题。它广泛应用于智慧城市、雪亮工程、园区安防、交通监控以及工业视频物联网等场景[reference:47][reference:48]。虽然协议复杂度较高实施成本不低但通过标准化的信令机制与视频传输规范不同厂商的设备可以真正实现互联互通这也是 GB28181 能够成为行业事实标准的关键原因。本文技术内容仅供参考具体实现请以最新版 GB/T 28181 标准文档为准。