国标协议GB28181视频云服务EasyGBS播放两个相似ID的视频通道出现串流现象的问题优化

作为支持国标GB28181协议的视频平台,EasyGBS经常被拿来用作下级平台或者上级平台于客户现场的第三方平台进行级联,稳定性高、扩展性强也是EasyGBS级联过程中一个显著的特点。

新.png

当EasyGBS作为上级平台时,接入下级平台后,假如下级平台有两个相似ID的通道接入,那么在播放这两个通道的时候会出现两个通道串流的问题。比如下图,为两个相似ID的不同通道,但是播放的时候却都是播放了同一个画面。

17.png

18.png

通过排查代码发现是本地推流地址规则,在两个摄像头ID相近的时候,推流地址是相同的,这一点我们需要继续做优化。我们修改代码如下,将推流地址修改为设备id+通道id+十位固定数据的方式。参考代码如下:

func (server *MediaServer) GetWSFLV_URL(app, devid, channelid, senderID string) string {
       return fmt.Sprintf("ws://%s:%d/ws_flv/%s/%s_%s_%s.flv", server.StreamUrlIP, server.HTTPPort, app, devid, channelid, senderID)
}

func (server *MediaServer) GetWSSFLV_URL(app, devid, channelid, senderID string) string {
       return fmt.Sprintf("wss://%s:%d/ws_flv/%s/%s_%s_%s.flv", server.StreamUrlIP, server.HTTPSPort, app, devid, channelid, senderID)
}

func (server *MediaServer) GetHTTPS_FLV_URL(app, devid, channelid, senderID string) string {
       return fmt.Sprintf("https://%s:%d/flv/%s/%s_%s_%s.flv", server.StreamUrlIP, server.HTTPSPort, app, devid, channelid, senderID)
}

再次分别播放两个通道视频,发现播放通道已经纠正,没有串流现象:

20.png

19.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值