国标GB28181协议视频流媒体平台EasyGBS更新通道后音频被关闭是什么原因?

国标GB28181协议视频平台EasyGBS前端可以接入带有音频功能的摄像头,同时也可以通过摄像头进行语音对讲,并且EasyGBS可以识别音频复合流,在视频流播放的时候同时播放音频。

微信截图_20201020103703.png

在EasyGBS更新通道的时候,我们发现当设备是开启音频的时候,点击设备管理里面的更新通道按钮,此时会更新设备的音频状态为关闭,也就是说原本开启的音频被关闭了。

57.png

58.png

经过排查代码的逻辑分析,当页面点击更新设备更新通道按钮的时候,后端会向设备去查询通道信息,然后对数据库的记录进行更新,但是应为音频字段并不是设备本身自带从摄像头传过来的,导致在更新通道的时候会将这个数据给丢失了。

所以需要在设备更新通道的时候,将音频字段忽略,沿用原有的数据库信息。参考代码如下:

for idx, channel := range chs {
		channel.DeviceID = dev.ID
		channel.Channel = uint(idx + 1)
		snapFile := filepath.Join(utils.DataDir(), "snap", channel.DeviceID, fmt.Sprintf("%s.jpg", channel.ID))
		if fi, err := os.Stat(snapFile); err == nil {
			t := fi.ModTime().UnixNano()
			channel.SnapURL = fmt.Sprintf("/snap/%s/%s.jpg?t=%d", channel.DeviceID, channel.ID, t)
		}
		err = tx.Omit("ondemand", "record", "record_plan", "record_plan_switch", "audio").Save(channel).Error
		if err != nil {
			tx.Rollback()
			return
		}
		channelIds = append(channelIds, channel.ID)
	}

再次更新,一切正常。

59.png

EasyGBS目前支持云台控制,基于动态组网服务创建智能网络,按需选择需要组网的网络成员实现点点互联,并且对外提供服务器获取状态、信息,控制 HTTP API接口,用户可以自由进行二次开发。

EasyGBS视频平台播放界面:

GBS10.png

如果大家对TSINGSEE青犀视频云边端架构产品感兴趣,欢迎联系我们,了解咨询,TSINGSEE青犀视频全线产品欢迎大家的试用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值