一、背景
在安防监控行业中GB28181协议可以实现获取直播流、录像、报警信息、通道状态等各种信息,基本满足了监控行业中的全部需求。LiveGBS就是一套开放的GB28181流媒体服务平台,提供用户私有化部署、提供标准RESTFul HTTP接口用于二次开发,将视频流转成RTMP、RTSP、HTTP-FLV、HLS格式支持WEB端、移动端等各终端播放,无需插件。另外还支持抓取快照、云端录像、级联、报警信息、权限管理等更多细节功能,是个非常优秀的GB28181流媒体服务平台。
二、LiveGBS 常见问题
1. 页面打不开
LiveCMS 和 LiveSMS都部署起来后,浏览器输入ip:10000端口打不开LiveCMS的页面。这种情况一般是LiveCMS的10000端口被其他程序占用了导致。可以先卸载LiveCMS,打开livecms.ini文件,把http端口从10000改成100002或其他端口,再重新安装LiveCMS。
2. 设备无法注册
网页打开后,设备无法注册上来,需要检测UDP 5060端口是否开放。
3. 修改服务IP
修改服务IP时,需要同时修改LiveCMS和LiveSMS配置页面里面的IP,不能只修改LiveCMS,否则可能会出现设备在线但是无法播放的问题。
4. 播放花屏、卡顿
播放视频时概率性出现花屏、卡顿等问题时,一般是由于设备端视频向服务端传输时网络跟不上导致,可以在设备端的配置页面,把视频的码率降低。一般公网播放的话建议码率设置到256-1024kbps之间。如果码率太高,设备端上行带宽很可能跟不上。
5. “sms not found”
排查LiveSMS服务是否正常运行
6. "invite sms wait response error"
可能的问题是配置的公网IP,但是本机的LiveCMS没法直接通过这个公网IP访问自己的LiveSMS。
这种情况比较少,如果遇到的话,需要先卸载LiveSMS服务,然后修改livesms.ini文件,将[sip]段落下的host改为127.0.0.1,wan_ip设置成之前的公网ip,
然后use_wan_ip_recv_stream=1,再重新安装LiveSMS。
7. “ack sms wait response error”
LiveSMS 收不到下级推流, 首先需要排查服务器端TCP 30000-40000 UDP 50000-60000端口是否开放。
其次排查 livesms.ini > [sip] > host 是否配置为下级可访问的IP
8. 开启输出 RTSP 流
编辑 LiveSMS 压缩包下面的 livesms.ini > [rtsp]
[rtsp]
port=554
warning 注意
在 Linux 下面开启 554 端口通常需要 root 权限, 需要以sudo
来运行 livesms 服务程序
拉取一路直播流, 通过接口 /api/v1/stream/list
可以查看流信息, 其中包含了这一路直播流的 RTSP 流地址, 如图
这个 RTSP 地址可以用 ffplay 来播放
9. 开启 HTTPS 服务
tip 提示
LiveCMS 和 LiveSMS 需要同时开启 HTTPS 服务
-
配置 LiveCMS 开启 HTTPS
livecms.ini > [https] > 配置证书路径和 CMS HTTPS 端口
-
配置 LiveSMS 开启 HTTPS
livesms.ini > [https] > 配置证书路径和 SMS HTTPS 端口, 如果 CMS 和 SMS 部署在同一机器上, 换一个不一样的端口
livesms.ini > [sip] > wan_ip 配置成证书对应的域名
以上配置操作完成后, 先后重启 LiveCMS 和 LiveSMS, 浏览器访问 https://证书域名:CMS HTTPS 端口 验证 HTTPS 是否开启成功
10. WEB 播放器
播放器下载: https://www.liveqing.com/docs/download/LivePlayer.html
详细介绍: https://www.liveqing.com/docs/manuals/LivePlayer.html
11. 播放鉴权
与您业务系统鉴权对接, 配置文件位置:LiveCMS安装包解压目录 > livecms.ini > [sip] > stream_auth_url
此处填写您业务系统提供的鉴权地址
填写示例: stream_auth_url=http://yourhost:port/playauth
流程说明:
-
用户请求播放地址
示例如: http://localhost:10001/flv/hls/t.flv?param1=111¶m2=222
其中param1和param2是附加的任意传参,名称不限
-
LiveGBS系统会GET请求回调上面
stream_auth_url
地址的接口,并透传附加的参数示例如:http://yourhost:port/playauth?param1=111¶m2=222
等待您的鉴权接口的返回:
-
成功:200 (Status Code)
-
失败:401
LiveGBS判断返回的鉴权结果:
-
成功 : 开始播放
-
失败 : 阻止播放
-