你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

EasyCVR新功能开发记录——国标自定义收流地址

2021/12/31 11:24:48

安防视频云服务平台EasyCVR作为一套较为成熟稳定的视频分发平台,不需要对现有监控架构做调整,支持CDN推流,灵活适应原有架构;且按需灵活扩展、收缩资源,免去了插件安装、浏览器限定等条件,实现了无插件、多平台自由观看回放。

图片1.png

在一些用户现场,出现在EasyCVR中接入的设备存在不同网段的问题,所以我们需要添加一个新功能,即自定义收流地址,区分不同设备的收流地址问题。

image.png

image.png

image.png

功能分析,需要在编辑设备的时候,为前端提供接口,然后将前端传入的收流ip记录到数据库中,当用户播放的时候,查询出来,传递给设备。

添加如下代码,首先数据库增加字段,在初始化的时候将设备收流信息记录下来。然后播放再返回。

q := db.SQLite.Model(models.Device{}).Where("`index`=?", device.DeviceID)
q.Find(&gbsdevs)
if len(gbsdevs) != 1 {
       err = fmt.Errorf("device[%d] not found", device.DeviceID)
       return
}
//[传输模式]
gbsdevs[0].MediaTransport = device.Transport
//[启用]
gbsdevs[0].Enable = device.Enable
db.SQLite.Model(models.Device{}).Save(gbsdevs[0])
//
sipDev := uas.Server.GetDevice(gbsdevs[0].ID)
if sipDev == nil {
       err = fmt.Errorf("device[%s] not found", gbsdevs[0].ID)
       return
}

gbschns := make([]*models.Channel, 0)

再次在前端编辑过后,然后后端播放,自定义流地址配置生效。

image.png

image.png