GB/T 28181-2022 是国内视频监控联网的事实标准,2023 年 7 月 1 日实施,全部代替 GB/T 28181-2016。媒体传输的结论先行:国标实时视频默认用 MPEG-2 PS 流封装,再包进 RTP 传输,SDP 里协商负载类型与编码;2022 版媒体通道正式增加 H.265、G.722.1 与 AAC。点播不通先查 SIP 信令与端口,画质异常再查 PS/RTP 封装与时间戳。
为什么用 PS 流封装
PS 流(Program Stream)是 MPEG-2 系统层的节目流封装,按 ISO/IEC 13818-1 定义,适合无差错或低差错的可靠链路,结构比 TS 流简单,封装开销小。国标内部传输链路相对可控,所以默认 PS,而不是广播用的 TS。选择它的三个直接理由:
- 结构简单:一个 PS 流里视频、音频、补充数据按流标识组织,封装与解析成本低,嵌入式设备容易实现。
- 同步内置:PS 携带系统时钟基准与展示时间戳,音画对齐由封装层保证,录像回放与实时预览都能对上。
- 兼容既有码流:H.264/H.265 的 NALU 与音频帧都能装入 PS 的 PES 包,画面关键帧带节目映射给接收端指明流类型。
视频帧按 NALU 组织,关键帧第一段加 PSH 头,I 帧通常还要带 PSM 节目映射,方便接收端识别流类型。PTS 展示时间戳决定画面何时上屏,DTS 解码时间戳决定何时解码,两者并存保证 B 帧场景下不花屏不跳帧。设备与平台对接时,时间戳基准与 90kHz 时钟是否一致,直接影响回放进度条与快进快退的准确性,这也是 2022 版专门增加 RTP 时间戳要求的原因。
2022 版相比 2016 版媒体层的变化
GB/T 28181-2022 于 2022 年 12 月 30 日发布,主要媒体相关变化如下:
| 变化点 | 2022 版要求 | 工程影响 |
|---|---|---|
| 编码支持 | 媒体流通道增加 H.265、G.722.1、AAC | 新设备默认 H.265 码流可入国标 |
| RTP 时间戳 | 增加 RTP 时间戳使用要求 | 跨平台点播时间基准更一致 |
| 带宽与帧率 | 更改网络传输带宽与视频帧率要求 | 按新版核算带宽与帧率配置 |
| SDP 引用 | 更改 SDP 协议引用 | 协商参数以新版为准 |
| 信令字符集 | 更改信令字符集要求 | 中文信息编码口径统一 |
对接平台或改造存量系统时,先确认双方协议版本是否都是 2022 版,避免旧设备按 2016 版协商参数与新平台不匹配。
媒体流结构速查
一次国标点播的媒体协商走 INVITE/SDP:SDP 里给出媒体类型与传输参数,常见案例如下:
| SDP 行 | 含义 |
|---|---|
| m=video 6000 RTP/AVP 96 98 | 视频媒体,端口 6000,支持 96/98 两种负载 |
| a=rtpmap:96 PS/90000 | 96 号负载类型承载 PS 封装,时钟 90000Hz |
| a=rtpmap:98 H264/90000 | 98 号负载类型直接承载 H.264 |
| c=IN IP4 192.168.1.10 | 接收媒体流的 IP 地址 |
传输方式上,UDP 与 TCP 都支持:UDP 直传 RTP 包,丢包乱序靠接收端处理;TCP 模式 RTP 包前面加 4 字节长度前缀,解析时先剥离长度字段。排查点播时先确认协商用的是哪种承载,再决定看包方向。
解封装时认起始码定位包边界,PS 流常用起始码如下:
| 起始码 | 含义 |
|---|---|
| 00 00 01 BA | PS 包起始,后随系统头 |
| 00 00 01 BB | 系统头 |
| 00 00 01 BC | PSM 节目流映射 |
| 00 00 01 E0-EF | 视频 PES 包 |
| 00 00 01 C0-DF | 音频 PES 包 |
接收端按 BA 找包头、按 PSM 识别码流类型、按 PES 拆音视频帧,三步完成解封装。注意部分设备在 RTP 负载前面附加私有扩展头,包体默认不是 BA 开头,解析前须按设备文档跳过私有头,具体形态以实际设备为准。
点播不通与画面异常怎么排查
点播不通优先查信令层:
- 看设备是否注册成功,未注册先查 SIP 账号、密码与服务器地址。
- 看 INVITE 是否被正确响应,被拒绝再看鉴权与设备类型编码。
- 看 SIP 端口(默认 5060)与媒体端口在防火墙上是否放行,NAT 环境要配好映射。
信令通但无媒体流,多半是 RTP 端口被拦或 NAT 映射缺失。能出流但黑屏,重点查负载类型与封装:
- 收到的是否真是 PS 流,起始码是否被设备私有扩展头污染。
- RTP 时间戳是否异常,帧率与时钟基准是否匹配协商值。
花屏则多半是乱序、丢包或 PS 内 stream_id 解析错位,TCP/UDP 承载不一致也会造成解析失败。跨厂商对接时,TCP 长度的前缀实现与私有头差异要靠抓包确认,逐层核对 SDP 参数与抓包对比,比盲调配置更快定位。
定位手段上,抓包工具按 SIP、RTP 两层过滤:先看 INVITE 响应码判断信令是否走通,再看 RTP 负载类型与起始码核对封装形态。配合厂商抓包文档核对私有扩展头,多数黑屏与花屏问题能在半小时内圈定到信令、封装或网络某一层。
TL;DR 检查清单
- 国标实时视频默认 PS 流封装进 RTP 传输,SDP 里用 rtpmap 协商负载类型与时钟频率。
- GB/T 28181-2022 媒体通道新增 H.265、G.722.1、AAC,并增加了 RTP 时间戳要求,对接前先核对双方版本。
- UDP 模式直接承载 RTP,TCP 模式 RTP 前加 4 字节长度前缀,排查时先确认承载方式。
- 点播不通查注册与端口放行,黑屏查负载类型与 PS 起始码,花屏查乱序丢包与 stream_id 解析。
参考资料
- gb28181-2022-upgrade-points
- gbt28181-device-connection-debug
- onvif-profile-selection