GB28181国标协议
一、协议基础知识
1. 概述
流媒体传输协议是音视频数据在互联网上实时传输的核心技术。不同协议因设计目标、延迟特性、兼容性等差异,适用于不同场景。本文档解析 RTSP、RTMP、HLS、WebRTC 等主流协议 ,并探讨协议互转的意义与实现方式。
2. 主流流媒体协议详解
2.1 RTSP(Real-Time Streaming Protocol)
- 用途 :控制实时音视频流的传输(如安防摄像头、直播推流)。
- 特点 :
- 基于 TCP/UDP ,支持播放控制(暂停、快进)。
- 需配合 RTP/RTCP 传输数据,常用于局域网或低延迟监控场景。
- 典型场景 :海康/大华摄像头、视频点播(VOD)。
2.2 RTMP(Real-Time Messaging Protocol)
- 用途 :低延迟直播推流与分发。
- 特点 :
- 基于 TCP ,Adobe 开发,支持音视频与数据传输。
- 需专用服务器(如 Nginx-RTMP),延迟约 1-3秒 。
- 典型场景 :直播平台(斗鱼、B站)、互动连麦。
2.3 HLS(HTTP Live Streaming)
- 用途 :苹果开发的自适应码率流媒体协议。
- 特点 :
- 基于 HTTP ,将视频切片为 TS 文件 ,支持动态调整画质。
- 延迟较高(10-30秒 ),但兼容性极强(支持所有浏览器)。
- 典型场景 :视频点播、移动端直播。
2.4 HTTP-FLV/WebSocket-FLV
- 用途 :实时直播传输。
- 特点 :
- HTTP-FLV :通过 HTTP 传输 FLV 封装流,延迟低(1-3秒 )。
- WebSocket-FLV :基于 WebSocket 穿透防火墙,兼容浏览器。
- 典型场景 :网页直播、跨平台推流。
2.5 GB28181
- 用途 :中国安防行业标准协议,用于设备互联。
- 特点 :
- 基于 SIP 协议 ,支持设备注册、视频拉取、云台控制。
- 需配合 RTP/PS 流 传输数据。
- 典型场景 :智慧城市、公安监控系统。
2.6 WebRTC(Web Real-Time Communication)
- 用途 :浏览器端实时音视频通信。
- 特点 :
- 基于 UDP ,端到端直连,延迟极低(
<500ms
)。 - 支持 NAT 穿透 (STUN/TURN),内置编解码器(VP8/VP9/H.264)。
- 基于 UDP ,端到端直连,延迟极低(
- 典型场景 :视频会议(Zoom)、在线教育、实时互动直播。
2.7 其他协议
- HTTP-TS/WebSocket-TS :通过 HTTP/WebSocket 传输 TS 分片,兼容性较好。
- fMP4(Fragmented MP4) :分片 MP4 格式,支持浏览器 MSE 播放。
- MP4 :标准封装格式,用于点播存储。
3. 协议互转的意义
3.1 核心需求
- 兼容性扩展 :适配不同终端(如浏览器、移动端、安防设备)。
- 延迟优化 :将高延迟协议(HLS)转为低延迟协议(WebRTC)。
- 网络穿透 :通过 WebSocket-FLV 绕过防火墙对 RTMP 的限制。
3.2 典型互转场景
输入协议 | 输出协议 | 场景 |
---|---|---|
RTSP | WebRTC | 将摄像头流转换为浏览器可播放的实时流 |
RTMP | HLS | 直播内容适配苹果设备与高延迟点播需求 |
GB28181 | HLS/WebRTC | 安防监控对接互联网直播平台 |
4. 协议互转技术实现
4.1 常用工具与框架
-
SRS(Simple Realtime Server) :
-
支持 RTMP → HLS/HTTP-FLV/WebRTC 转码。
-
提供 API 动态控制转码参数。
-
-
ZLMediaKit :
- 轻量级流媒体服务器,支持 GB28181、RTSP、WebRTC 互转。
-
FFmpeg :
- 命令行工具或 SDK 实现协议转换(如
ffmpeg -i rtmp://... -f flv http://...
)。
- 命令行工具或 SDK 实现协议转换(如
4.2 技术挑战
- 封装格式适配 :需处理不同协议的音视频封装(如 FLV → TS)。
- 时间戳同步 :确保转码后音视频同步。
- 性能优化 :降低转码延迟与服务器负载。
5. 协议选择指南
场景 | 推荐协议 | 原因 |
---|---|---|
安防监控 | RTSP/GB28181 | 兼容设备,支持低延迟与控制指令 |
直播推流 | RTMP/HTTP-FLV | 平衡延迟与兼容性 |
浏览器实时互动 | WebRTC | 极低延迟,原生支持 P2P |
移动端点播 | HLS/fMP4 | 自适应码率,兼容 iOS/Android |
跨平台直播 | WebSocket-FLV/WebSocket-TS | 穿透防火墙,支持浏览器与移动端 |
6. 总结
多协议支持与互转能力是流媒体系统的核心竞争力:
- 兼容性 :覆盖从传统安防设备到现代浏览器的全场景需求。
- 灵活性 :根据网络环境动态选择最优传输方案。
- 扩展性 :通过协议转换桥接不同生态(如 GB28181 到 WebRTC)。
未来趋势将更注重 低延迟 (WebRTC 普及)与 自适应码率 (HLS/fMP4 优化),而协议互转技术将成为连接不同生态的桥梁。
二、GB28181
1. 标准定义
GB28181 (全称《公共安全视频监控联网系统信息传输、交换、控制技术要求》)是由中国公安部制定的 安防视频监控联网国家标准 ,旨在实现不同厂商、不同平台的视频监控设备与系统的 互联互通 ,广泛应用于城市安防、交通管理、应急指挥等领域。
2. 核心功能
- 设备互联
- 支持摄像头、NVR(网络视频录像机)、平台软件等设备的统一接入与管理。
- 通过 SIP协议 (会话初始协议)实现设备注册、视频流请求、云台控制等信令交互。
- 媒体传输
- 使用 RTP/RTCP协议 传输音视频流,支持 PS(MPEG-TS)封装格式 。
- 兼容跨网络传输(如内网设备通过外网服务器拉流)。
- 跨平台兼容
- 解决不同品牌设备(如海康、大华)的私有协议壁垒,实现统一接入与数据共享。
3. 典型应用场景
场景 | 具体应用 | 来源 |
---|---|---|
社会治安监控 | 城市街道、广场、公园的摄像头接入公安平台,实现实时监控与应急指挥310。 | 310 |
交通管理 | 道路监控、电子警察、交通流量监测等设备联网,辅助交通调度与事故处理36。 | 36 |
应急管理 | 火灾、自然灾害等场景中,快速整合多部门监控资源,提升协同响应能力6。 | 6 |
企业安防 | 工厂、园区监控系统与公安平台对接,增强安全防范能力9。 | 9 |
4. 技术特点
- 协议结构 :
- 信令层 :基于 SIP 协议,负责设备注册、会话控制(如视频流请求)。
- 媒体层 :基于 RTP/RTCP 传输音视频数据,支持实时性和可靠性。
- 网络穿透 :支持 NAT 穿透 ,适配复杂网络环境(如内网设备外网访问)。
- 安全性 :通过 国密算法 或 TLS/DTLS 加密信令与媒体传输,保障数据安全。
5. 支持工具与实现
- 流媒体服务器:
- SRS(Simple Realtime Server) :5.0 版本正式支持 GB28181,可实现协议转换与流媒体分发。
- EasyGBS :专为 GB28181 设计的流媒体平台,支持跨平台接入与 WebRTC 转码。
- 开源实现 :通过 FFmpeg 或第三方 SDK(如 LiveWeb)实现协议对接。
6. 总结
GB28181 是中国公共安全视频监控领域的 核心标准 ,通过统一协议规范解决了设备碎片化问题,广泛应用于城市安防、交通管理等场景。随着技术发展(如 SRS 5.0 的支持),其与 WebRTC、HLS 等协议的互转能力将进一步扩展互联网应用场景。
Q & A
1.为什么浏览器统一都使用webRTC?
在Web端观看国标设备(GB28181)的视频时选择WebRTC而非直接使用国标协议,主要涉及以下几个关键原因:
1. 协议设计目标与兼容性差异
- GB28181 :
专为安防设备互联设计,基于 SIP协议 (会话初始协议)和 RTP/PS(MPEG-TS)封装 ,主要用于设备注册、视频流传输和录像存储。其核心场景是 设备间通信 (如摄像头与NVR),而非直接面向浏览器。
- 问题 :浏览器无法直接解析 RTP/PS流 ,需通过插件或中间件转码。
- WebRTC :
专为 浏览器端实时音视频通信 设计,支持 UDP传输 和 H.264/H.265裸流 ,通过
getUserMedia
和RTCPeerConnection
API 实现端到端直连,无需插件。
2. 浏览器技术限制
- GB28181的传输层协议 :
依赖 TCP/UDP的RTP流 和 PS封装格式 ,但浏览器原生不支持直接播放这些格式。
- 例如:HLS(HTTP-TS)需通过
<video>
标签支持,而PS流需转为TS或fMP4。
- 例如:HLS(HTTP-TS)需通过
- WebRTC的原生支持 :
浏览器内置WebRTC API,可直接通过
RTCPeerConnection
接收 H.264/VP8/VP9编码 的裸流,无需额外插件或转码26。
3. 延迟与实时性需求
- GB28181的延迟 :
通常用于录像存储或监控平台,延迟较高(秒级),且需通过中间服务器转发。
- 例如:通过RTSP拉流后转码为HLS,延迟可能达10-30秒。
- WebRTC的低延迟 : 端到端直连,延迟可控制在 200-500ms ,适合实时互动场景(如视频会议、直播连麦)。
4. 协议转换的必要性
- 技术适配 :
需将GB28181的 PS封装流 转为 WebRTC支持的裸流 ,例如:
- 使用 ZLMediaKit 或 SRS 等流媒体服务器,将RTP/PS流转为WebRTC支持的格式。
- 转换过程包括解封装、转码(如H.264)、重新封装为WebRTC的RTP包。
- 网络穿透 : WebRTC内置 STUN/TURN 机制,可穿透NAT和防火墙,而GB28181需依赖固定IP或复杂网络配置。
5. 为什么WebRTC更普及?
- 浏览器生态主导 :WebRTC是W3C标准,被Chrome、Firefox等主流浏览器原生支持,开发者无需额外部署客户端。
- 实时互动需求增长 :直播连麦、在线会议等场景需要极低延迟,而传统协议(如HLS、RTMP)无法满足。
总结:转换的核心原因
因素 | GB28181 | WebRTC |
---|---|---|
浏览器兼容性 | 不支持原生播放,需转码 | 原生支持,无需插件 |
延迟 | 高(秒级) | 极低(<500ms ) |
传输协议 | RTP/PS(依赖中间服务器) | UDP直连(P2P) |
生态适配 | 安防设备专用 | 互联网主流协议,开发者友好 |
解决方案示例
-
使用ZLMediaKit :
- 将GB28181设备的流接入ZLMediaKit,通过其内置转码功能转为WebRTC流。
- 配置示例:
# ZLMediaKit配置(部分)
[rtsp]
port=554
[webrtc]
port=8000 -
通过WebSocket信令 :
- Web端通过WebSocket与服务器交换SDP和ICE候选,建立WebRTC连接。
最终结论 : GB28181与WebRTC的差异源于设计目标和生态定位。WebRTC因浏览器原生支持、低延迟和易用性,成为Web端实时视频的首选,而协议转换(如通过ZLMediaKit)是连接安防设备与互联网应用的必要桥梁。
2. 音视频协议现状梳理?
目前我们对接了多种硬件设备,有**GB国标
,也有meshT设备
,也有android移动设备
,这些设备的视频传输和信令传输都用了各不相同的协议,比如国标是GB28182,而浏览器是webRTC,这两种流就不兼容,因此,GB28181推流上去要转换成webRTC兼容的格式,这个时候就需要ZLMediaKit
**。