LiveGBS 常见问题
设备不支持国标
不支持国标协议的设备, 在做国标协议对接时, 推荐使用 LiveNVR 国标级联方案, 先通过 RTSP 或 ONVIF 协议将设备接入 LiveNVR, 然后配置 LiveNVR 级联国标平台即可. LiveNVR 支持 TCP 流传输模式, 实现稳定的播放效果. 也可以采用国标硬盘录像机硬件方案, 先将设备接入支持国标协议的硬盘录像机, 然后配置级联国标平台.
页面打不开
LiveCMS 和 LiveSMS 都部署起来后,浏览器输入 ip:10000 打不开 LiveCMS 的页面。这种情况一般是LiveCMS 的10000端口被其他程序占用了导致。可以先卸载 LiveCMS,打开 livecms.ini 文件,把 http端口从 10000 改成 10002 或其他端口,再重新安装 LiveCMS。
设备注册不上来
网页打开后, 看不到设备注册上来
检查设备注册信息无误, 接入密码正确填写.
检查防火墙是否关闭.
检查 SIP 端口(livecms.ini > [sip] > port, 默认 15060) UDP & TCP 是否开放.
播放花屏、卡顿
播放视频时概率性出现花屏、卡顿等问题时,一般是由于设备端视频向服务端传输时网络跟不上导致,可以在设备端的配置页面,把视频的码率降低。一般公网播放的话建议码率设置到256-1024kbps之间。如果码率太高,设备端上行带宽很可能跟不上。
其次, 可以将流传输模式改为 TCP 被动
来改善播放效果: LiveGBS 界面, 右上角登录后, 进入国标设备列表, 在列表视图找到 流传输模式
列, 下拉调整.
注意
TCP 被动 流传输模式需要设备支持, 同时要求默认的 TCP 30000-30500 收流端口区间开放, 如果以上条件不满足, 以 TCP 被动模式拉流, 将获得错误信息 "none rtp data receive"
最后, 还可以尝试禁用浏览器硬件加速选项
支持录像回放吗?
LiveGBS 支持三种形式的录像, 我们称之为 设备录像, 云端录像, 实时录像
设备录像
GB28181 国标协议范围内的录像, 存储在设备SD卡或硬盘录像机
云端录像
开启后, 只要拉流上来, 就会持续录像, 录像的起停跟随直播流的起停, 存储在服务器, 支持指定存储目录 => [基础配置] > [流媒体服务配置] > [云录像目录], 存储格式是 HLS, 可下载为 MP4
实时录像
是在直播过程中, 手动或者通过接口触发的录像, 存储在服务器, 存储格式是 MP4
“sms not found”
排查LiveSMS服务是否正常运行
"invite sms[xx] wait response error"
LiveCMS 访问不到 LiveSMS, 检查WEB管理后台 基础配置-》流媒体服务配置 中 本地|内网IP 是否配置为 LiveCMS 可访问的IP, SIP端口 是否配置为 LiveCMS 可访问的端口。 本地|内网IP 对应配置文件中 livesms.ini > [sip] > host 的值。SIP端口 对应配置文件中 livesms.ini > [sip] > port 的值。
"invite device[xx] failed, res..."
LiveCMS 向下级设备拉流失败, res 后面是下级设备回复内容。 如果下级是海康 NCG 联网网关, 可通过 LiveCMS 信令日志查找到详细的报错信息。 根据报错信息,向下级平台咨询失败原因。
“none rtp data receive”
LiveSMS 收不到下级推流, 首先需要排查服务器端 UDP & TCP 30000-30500 端口是否开放。 其次排查WEB管理后台 基础配置-》流媒体服务配置 中,本地|内网IP 是否配置为下级可访问的IP。如果勾选了外网IP收流,则检查 外网IP(可选) 是否配置为下级可访问的IP。本地|内网IP 对应配置文件中 livesms.ini > [sip] > host 的值。
若公网单台服务器部署,可尝试修改配置如下:LiveGBS后台-》基础配置-》流媒体服务配置中, 本地|内网 IP 填127.0.0.1,外网 IP(可选) 填服务器的外网IP地址,勾选上外网IP收流。
"invalid rtp payload type[xx]"
LiveSMS 收到下级不标准的国标推流, 可以配置 livesms.ini > [rtp] > strict_payload_type=0 来关闭校验。
开启输出 RTSP 流
登录 LiveGBS 界面, 配置 RTSP 端口即可 => [基础配置] > [流媒体服务配置] > RTSP 端口
注意
在 Linux 下面开启 554 端口通常需要 root 权限, 需要以 sudo
来运行 livesms 服务程序
拉取一路直播流 /api/v1/stream/start
, 或通过接口 /api/v1/stream/list
查看流信息, 其中包含了这一路直播流的 RTSP 流地址, 如图
这个 RTSP 地址可以用 ffplay 来播放
开启 HTTPS 服务
配置 LiveCMS 开启 HTTPS
livecms.ini > [https] > 配置证书路径和 LiveCMS HTTPS 端口
以上配置操作完成后, 重启 LiveCMS, 浏览器访问 https://{证书域名}:{LiveCMS HTTPS 端口} 验证 HTTPS 是否开启成功
切换数据库
LiveGBS 默认使用 sqlite3 文件数据库, 当接入通道数量达到万级时, 文件数据库会拖慢系统;
这时我们建议使用 MariaDB(推荐) 或 MySQL(5.7及以上) 数据库, 数据库服务需要您提前安装好, 切换到 MariaDB 数据库很简单:
(注意:数据库的默认引擎应为InnoDB, 查询命令: show engines)
第一步 连接数据库
客户端连接 或 命令如 :
mysql -h127.0.0.1 -uxxx -pyyy -P3306
第二步 创建数据库实例
DROP DATABASE IF EXISTS `livegbs`; CREATE DATABASE IF NOT EXISTS `livegbs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `livegbs`;
第三步 配置 livecms.ini > [db] > MariaDB/MySQL 连接信息(其中 dialect 固定为 mysql)
[db] dialect=mysql url=username:password@(ip:port)/livegbs?charset=utf8&parseTime=True&loc=Local
第四步 重启 LiveCMS 服务, 系统自动完成建表操作, 至此, 数据库切换完成
配置了国标级联, 上级看不到通道?
配置上级级联的时候, 有个 选择通道 的 button, 选择哪些通道共享给上级, 这个地方, 记得进去勾选一下, 否则上级看不到通道
如何部署多个 LiveSMS 集群?
部署多个 LiveSMS 有助于提升视频流分发性能, 可部署LiveSMS在不同服务器上, 配置 livesms.ini redis 指向同一个 livecms 节点即可:
[sip]
; 配置不重复的 SIP ID
serial=34020000002020000002
[redis]
; 指向部署 CMS Redis 服务器的ip,如
host=192.168.1.65
port=26379
password=livegbs@2019
Linux 非 root 用户启动和停止
注意
安装成系统服务的时候必须 root 权限,但是有时没有 root 权限,可以进行如下处理
CMS 启动脚本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
nohup "$CWD"/livecms >/dev/null 2>&1 &
CMS 停止脚本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
kill -INT `pidof livecms`
SMS 启动脚本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
nohup "$CWD"/livesms >/dev/null 2>&1 &
SMS 停止脚本
#!/bin/bash
CWD=$(cd "$(dirname $0)";pwd)
kill -INT `pidof livesms`
如何更新升级?
上传部署包到服务器, 解压
停止运行老服务(如果已开启云端录像, 建议将云端录像目录配置到版本目录外面)
拷贝老服务运行目录下的 *.db 和 *.ini 文件到新解压目录
在新解压目录下, 启动新服务
服务器硬件配置
WEB 播放器
播放鉴权
与您业务系统鉴权对接, 配置文件位置: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判断返回的鉴权结果:
成功 : 开始播放
失败 : 阻止播放
忘记登录密码
可以在命令行下运行 LiveCMS 可执行程序, 带 resetpass
参数来重置密码
Windows
./LiveCMS.exe resetpass
Linux
./livecms resetpass