SRS 6.0 介绍与 GB28181 支持
1. SRS 6.0 简介
SRS(Simple Real-time Server)是一个开源的实时流媒体服务器,支持多种协议,包括 RTMP、HLS、WebRTC、SRT、GB28181 等。在 6.0 版本中,SRS 经过七年的开发,正式全面支持 HEVC(H.265),进一步提升了编码效率和传输性能。
2. SRS 6.0 的功能特性
SRS 6.0 的主要功能特性包括:
-
全面支持 H.265:支持 RTMP、FLV、SRT、TS、HLS、DASH、GB28181、WebRTC 等协议的 H.265 编码。
-
智能指针与内存管理:引入有限的智能指针支持,解决内存泄漏问题。
-
协议支持与扩展:
-
升级 libsrt 到 v1.5.3。
-
支持 HTTP Basic Authentication 安全鉴权。
-
完善了 IP 白名单功能,支持所有协议。
-
-
GB28181 支持:支持外部 SIP 服务,提供完善的 SIP 协议支持。
3. GB28181 支持
SRS 6.0 提供了对 GB28181 的全面支持,包括:
-
SIP 注册与信令:支持基于 TCP 的 SIP 信令,摄像头可以通过 SIP 注册到 SRS。
-
媒体流转发:支持将 GB28181 流转发到 RTMP、HLS 等协议,便于在 Web 端播放。
-
配置灵活性:支持通过配置文件(如
gb28181.conf
)自定义 SIP 信令和媒体流的参数。 -
外部 SIP 服务支持:SRS 6.0 支持对接外部 SIP 服务,进一步扩展了 GB28181 的应用场景。
4. GB28181 配置与使用
以下是一个基于 SRS 6.0 的 GB28181 配置示例:
-
编译 SRS 6.0:
bash复制
git clone -b develop https://gitee.com/ossrs/srs.git cd srs/trunk && ./configure --gb28181=on && make -j4
如果编译过程中遇到错误(如
build srt-1-fit failed
),可以安装依赖的tcl
软件包。 -
配置 GB28181: 编辑
conf/gb28181.conf
文件,配置 SIP 信令和媒体流参数:conf复制
listen 1935; max_connections 1000; daemon off; srs_log_tank console; stream_caster { enabled on; caster gb28181; output rtmp://127.0.0.1/live/[stream]; listen 9000; sip { enabled on; listen 5060; candidate 192.168.1.100; # 替换为你的 IP 地址 } } http_server { enabled on; listen 8080; dir ./objs/nginx/html; } http_api { enabled on; listen 1985; }
-
启动 SRS 服务:
bash复制
./objs/srs -c conf/gb28181.conf
-
配置摄像头:
-
摄像头需要支持 GB28181-2016 协议。
-
配置摄像头的 SIP 服务器地址为 SRS 的 IP 地址(
192.168.1.100
),端口为5060
。
-
-
播放流:
-
在浏览器中访问
http://<SRS服务器IP>:8080
,通过 SRS 控制台查看和播放视频流。
-
5. 优势与应用场景
-
高效编码:支持 H.265 编码,降低带宽消耗,提升传输效率。
-
协议兼容性:支持多种主流协议,便于与现有系统集成。
-
安全性:支持 HTTP Basic Authentication 和 IP 白名单,增强安全性。
-
应用场景:适用于视频监控、安防系统、直播平台等需要低延迟和高兼容性的场景。
通过 SRS 6.0 的 GB28181 支持,用户可以轻松将传统的 GB28181 摄像头接入到现代的流媒体平台中,实现高效、低延迟的视频流传输。