前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyCVR国标自定义收流地址功能的开发及代码解析

EasyCVR国标自定义收流地址功能的开发及代码解析

原创
作者头像
TSINGSEE青犀视频
发布2021-12-29 16:56:55
3120
发布2021-12-29 16:56:55
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

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

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

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

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

代码语言:javascript
复制
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)

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档