玩转 LiveGBS:GB28181 摄像头 / NVR 视频流(HLS/FLV/WebRTC 等)集成指南
LiveGBS如何获取接入的海康/大华/宇视/华为摄像头/硬件NVR设备通道视频直播流地址(HLS/HTTP-FLV/WS-FLV/WebRTC/RTMP/RTSP)并完成集成
1、背景介绍
LiveGBS国标GB/T28181流媒体服务器软件,支持设备/平台GB28181协议注册接入、向上级联第三方国标平台,提供可视化WEB管理页面(页面源码开源);具备云台控制、设备录像检索与回放、语音对讲、用户管理等能力,同时支持多协议流输出,可实现浏览器无插件视频直播。
在实际项目落地过程中,业务系统往往需要集成视频播放能力,本文将详细介绍两种主流的视频集成方式,帮助开发者快速实现GB28181视频流的播放对接。
2、视频流媒体集成方式
LiveGBS提供两种核心的视频集成方案,适配不同业务场景的需求:
2.1 WEB页面集成
直接将LiveGBS内置的播放器页面(直播、回放、电子地图)通过iframe方式嵌入业务系统,无需单独处理流地址,集成成本低。
2.2 视频流地址+播放器集成
通过接口或静态拼接方式获取视频流地址,将地址配置到自研/第三方播放器(如Web播放器、APP播放器、PC播放器)中播放,灵活性更高。推荐使用LivePlayer.js H5播放器,适配多协议流播放。
3、WEB页面集成实操
3.1 直播分享页集成
3.1.1 查看设备通道
上级设备可为NVR、下级平台、单兵设备等,在LiveGBS管理后台点击设备列表的【查看通道】,即可查看该设备下的具体视频通道(摄像头)。

3.1.2 开启通道分享
通道默认关闭分享功能,需手动开启后才能生成可集成的播放页面(分享的是页面地址,非原始流地址)。开启后可直接通过iframe将分享页嵌入业务系统。

3.1.3 直播分享页参数配置
分享页支持多参数自定义播放行为,示例代码及参数说明如下:
<!-- 直播页面iframe集成示例 -->
<iframe src="http://ip:10000/play.html?serial=34020000001110000001&code=34020000001320000001&aspect=fullscreen" allowfullscreen allow="autoplay; fullscreen; microphone;"></iframe>
URL参数说明:
| 参数名 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
| serial | 设备国标编号 | - | 无(必填) |
| code | 通道国标编号 | - | 无(必填) |
| share | 是否显示分享按钮 | yes/no | yes |
| ptz | 是否显示云台控制 | yes/no | yes |
| talk | 是否显示对讲麦克风 | yes/no | no |
| aspect | 播放区域宽高比,fullscreen为整页显示 | wxh(如640x360)/fullscreen | - |
| fluent | 是否启用流畅模式 | yes/no | yes |
| autoplay | 是否自动播放 | yes/no | yes |
| controls | 是否显示播放器控制栏 | yes/no | yes |
| stretch | 是否拉伸显示 | yes/no | no |
| muted | 是否静音播放 | yes/no | yes |
| protocol | 播放流格式 | webrtc/flv/ws_flv/hls/rtmp | auto check |
| token | 鉴权令牌(未开启分享的通道需携带) | - | 无 |
3.1.4 分享页播放效果
PC端播放效果:

移动端可通过扫码或直接访问分享页面观看:

3.2 时间轴回放分享页集成
设备录像、云端录像均支持通过时间轴回放页面集成,通过type参数区分回放类型,示例代码如下:
<!-- 时间轴回放页面iframe集成示例 -->
<iframe src="http://ip:10000/playback.html?type=device&serial=34020000001110000001&code=34020000001320000001" allowfullscreen allow="autoplay; fullscreen"></iframe>
URL参数说明(补充核心参数,其余同直播页):
| 参数名 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
| type | 回放类型 | device(设备录像)/cloud(云端录像) | device |
| day | 回放日期 | YYYYMMDD | 当天 |
| minutes | 时间轴游标位置 | 0~1439(分钟) | 当前时间 |
| calendar | 是否显示日历 | yes/no | yes |
3.3 电子地图分享页集成
电子地图页面也可通过iframe集成,支持定位指定设备/通道,示例代码如下:
<!-- 电子地图页面iframe集成示例 -->
<iframe src="http://ip:10000/map.html" allowfullscreen allow="autoplay; fullscreen; microphone;"></iframe>
URL参数说明(补充核心参数,其余同直播页):
| 参数名 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
| serial | 设备国标编号(可选,定位指定设备) | - | 无 |
| code | 通道国标编号(可选,定位指定通道) | - | 无 |
| trace | 是否显示设备移动轨迹 | yes/no | no |
| search | 是否显示搜索框 | yes/no | yes |
4、视频流地址播放集成指南
通过获取原始视频流地址,可灵活对接各类播放器,以下是流地址的获取方式及格式说明。
4.1 页面查看流地址(调试用)
- 进入国标设备列表 → 查看通道 → 点击播放按钮(默认播放最优流格式,可切换流类型);
- 打开浏览器开发者模式(F12),在Network面板中跟踪
api/v1/stream/start接口的调用请求及返回结果,即可看到各类流地址。


4.2 接口调用获取流地址(生产用)
4.2.1 实时直播流地址
接口说明
调用/api/v1/stream/start接口获取实时直播流地址,接口详情参考:实时直播 - 开始直播

调用示例
请求示例:
http://192.168.2.135:10000/api/v1/stream/start?serial=34020000001110000234&code=34020000001320000234
返回示例(核心流地址字段):
{
"FLV": "http://192.168.2.135:10000/sms/34020000002020000001/flv/hls/34020000001110000234_34020000001320000234.flv",
"HLS": "http://192.168.2.135:10000/sms/34020000002020000001/hls/34020000001110000234_34020000001320000234/34020000001110000234_34020000001320000234_live.m3u8",
"RTMP": "rtmp://192.168.2.135:11935/hls/34020000001110000234_34020000001320000234",
"RTSP": "rtsp://192.168.2.135:554/34020000001110000234_34020000001320000234",
"WS_FLV": "ws://192.168.2.135:10000/sms/34020000002020000001/ws-flv/hls/34020000001110000234_34020000001320000234.flv",
"WEBRTC": "webrtc://192.168.2.135:10000/sms/34020000002020000001/rtc/34020000001110000234_34020000001320000234"
}
4.2.2 前端设备录像回放流地址
接口说明
调用/api/v1/playback/start接口获取设备录像回放流地址,接口详情参考:前端设备录像 - 开始回放

调用示例
请求示例:
http://192.168.2.135:10000/api/v1/playback/start?serial=34020000001110000234&code=34020000001310000002&starttime=2024-03-08T10%3A50%3A00&endtime=2024-03-08T11%3A00%3A00
返回示例(核心流地址字段):
{
"StreamID": "playback:34020000001110000234:34020000001310000002:1200000109",
"FLV": "http://192.168.2.135:10000/sms/34020000002020000001/flv/hls/34020000001110000234_34020000001310000002_1200000109.flv",
"HLS": "http://192.168.2.135:10000/sms/34020000002020000001/hls/34020000001110000234_34020000001310000002_1200000109/live.m3u8",
"RTMP": "rtmp://192.168.2.135:11935/hls/34020000001110000234_34020000001310000002_1200000109",
"RTSP": "rtsp://39.98.57.187:554/34020000001110000234_34020000001310000002_1200000109",
"WEBRTC": "webrtc://192.168.2.135:10000/sms/34020000002020000001/rtc/34020000001110000234_34020000001310000002_1200000109",
"WS_FLV": "ws://192.168.2.135:10000/sms/34020000002020000001/ws-flv/hls/34020000001110000234_34020000001310000002_1200000109.flv"
}
4.3 各协议流地址提取说明
4.3.1 HTTP-FLV流地址
提取接口返回的FLV字段,示例:
http://192.168.2.135:10000/sms/34020000002020000001/flv/hls/34020000001110000234_34020000001320000234.flv
4.3.2 HLS流地址
提取接口返回的HLS字段,示例:
http://192.168.2.135:10000/sms/34020000002020000001/hls/34020000001110000234_34020000001320000234/34020000001110000234_34020000001320000234_live.m3u8
4.3.3 WebRTC流地址
提取接口返回的WEBRTC字段,示例:
webrtc://192.168.2.135:10000/sms/34020000002020000001/rtc/34020000001110000234_34020000001320000234
4.3.4 RTMP流地址
提取接口返回的RTMP字段(需在服务端开放RTMP对应的TCP端口),示例:
rtmp://192.168.2.135:11935/hls/34020000001110000234_34020000001320000234
4.3.5 WS-FLV流地址
提取接口返回的WS_FLV字段,示例:
ws://192.168.2.135:10000/sms/34020000002020000001/ws-flv/hls/34020000001110000234_34020000001320000234.flv
4.3.6 RTSP流地址
地址提取
提取接口返回的RTSP字段,示例:
rtsp://192.168.2.135:554/34020000001110000234_34020000001320000234
RTSP配置说明
-
开启RTSP:在LiveGBS后台「基础配置 → 流媒体服务配置」中配置RTSP端口,并在服务端开放该TCP端口;

-
配置用户密码:在LiveSMS配置文件
livesms.ini的[rtsp]节点下添加用户名和密码,重启LiveSMS生效。播放时需在地址中携带鉴权信息,格式如下:[rtsp] username=testname password=testpass带鉴权的RTSP地址示例:
rtsp://testname:testpass@192.168.2.135:554/34020000001110000234_34020000001320000234
4.4 静态拼接流地址(无需调用接口)
若需直接通过地址拉流,需先在LiveGBS后台「基础配置」中开启「允许直播地址拉流」:

HTTP端口流地址格式
| 协议 | 地址格式 |
|---|---|
| WEBRTC | webrtc://{cms_ip}:{port}/sms/{sms_id}/rtc/{设备国标编号}_{通道国标编号} |
| FLV | http://{cms_ip}:{port}/sms/{sms_id}/flv/hls/{设备国标编号}_{通道国标编号}.flv |
| WS_FLV | ws://{cms_ip}:{port}/sms/{sms_id}/ws-flv/hls/{设备国标编号}_{通道国标编号}.flv |
| HLS | http://{cms_ip}:{port}/sms/{sms_id}/hls/{设备国标编号}_{通道国标编号}/live.m3u8 |
| RTMP | rtmp://{sms_ip}:{port}/hls/{设备国标编号}_{通道国标编号} |
| RTSP | rtsp://{sms_ip}:{port}/{设备国标编号}_{通道国标编号} |
HTTPS端口流地址格式
| 协议 | 地址格式 |
|---|---|
| WEBRTC | webrtcs://{cms_ip}:{port}/sms/{sms_id}/rtc/{设备国标编号}_{通道国标编号} |
| FLV | https://{cms_ip}:{port}/sms/{sms_id}/flv/hls/{设备国标编号}_{通道国标编号}.flv |
| WS_FLV | wss://{cms_ip}:{port}/sms/{sms_id}/ws-flv/hls/{设备国标编号}_{通道国标编号}.flv |
| HLS | https://{cms_ip}:{port}/sms/{sms_id}/hls/{设备国标编号}_{通道国标编号}/live.m3u8 |
| RTMP | rtmp://{sms_ip}:{port}/hls/{设备国标编号}_{通道国标编号} |
| RTSP | rtsp://{sms_ip}:{port}/{设备国标编号}_{通道国标编号} |
5、常见问题解决
5.1 接口调用返回401 Unauthorized
解决方案参考:LiveGBS流媒体平台GB/T28181常见问题-安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口
5.2 iframe页面无法全屏播放
解决方案参考:如何配置iframe允许自动播放和全屏操作
6、LiveGBS平台搭建说明
LiveGBS是高稳定性的GB/T28181国标流媒体服务器,支持设备/平台GB28181注册接入、向上级联第三方国标平台,提供可视化WEB管理后台(源码开源),支持云台控制、录像检索回放、语音对讲等能力,可跨平台部署。
核心特性
- 支持Windows、Linux及国产/嵌入式等多CPU架构操作系统;
- 多协议流输出(WebRTC/FLV/WS-FLV/HLS/RTMP/RTSP),浏览器无插件播放;
- 可视化WEB管理,易操作、易集成。
资源获取
- 安装包下载:https://www.liveqing.com/docs/download/LiveGBS.html
- 安装使用说明:https://www.liveqing.com/docs/manuals/LiveGBS.html
- WEB前端源码:https://gitee.com/livegbs/GB28181-Server
设备接入验证
按GB28181规范接入设备/网关平台后,可在LiveGBS后台「国标设备」菜单中查看设备列表,确认接入成功:

火山引擎视频云技术社区,是面向 AI 音视频开发者的技术交流平台。这里汇聚源自抖音、豆包等亿级 DAU 产品的 RTC、直播、点播、AI 媒体处理、音视频互动技术,提供接入指南、最佳实践、性能调优、场景案例、Demo 代码、开源项目、白皮书和 API 文档。社区汇聚官方工程师与一线开发者,为 AI 视频通话、数字人、AI 视频处理等应用的开发与落地提供技术支持。
更多推荐
所有评论(0)