前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyCVR国标接入的设备请求播放时没有获取到快照地址问题解决

EasyCVR国标接入的设备请求播放时没有获取到快照地址问题解决

原创
作者头像
TSINGSEE青犀视频
修改2021-10-21 10:26:44
4160
修改2021-10-21 10:26:44
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

TSINGSEE青犀视频开发的人脸识别视频智能安防系统EasyCVR的V1.1.12版本修改了实时快照和定时快照的处理逻辑。目前的版本可以通过调用接口的方式返回实时快照,返回形式为快照地址或者base64快照数据两种。

EasyCVR中国标GB28181接入的设备请求播放的时候没有获取到快照地址,通过分析,查看到当接入的是国标设备时,页面请求播放接口,直接就没有返回地址,所以需要在后端接口中添加国标设备的快照地址。

添加如下代码,首先播放的时候添加判断类型,判断是国标还是别的类型,如果是国标类型,则添加snapurl字段,然后从国标列表中获取到快照地址,将其赋值:

代码语言:javascript
复制
if utils.Exist(c.SnapPath()) {
       if fi, err := os.Stat(c.SnapPath()); err == nil {
              t := fi.ModTime().UnixNano()

              if c.ChannelType == TypeGB() {
                     snapURL = fmt.Sprintf("/snap/%s/%s.jpg?t=%d", c.GBDeviceID, c.GBID, t)
                     return
              }
              snapURL = fmt.Sprintf("/snap/%d_%d/channel_%d.jpg?t=%d", c.ParentDeviceID, c.ChannelID, c.ChannelID, t)
       } else {
              if c.ChannelType == TypeGB() {
                     snapURL = fmt.Sprintf("/snap/%s/%s.jpg", c.GBDeviceID, c.GBID)
                     return
              }
              snapURL = fmt.Sprintf("/snap/%d_%d/channel_%d.jpg", c.ParentDeviceID, c.ChannelID, c.ChannelID)
       }
}

添加过后到页面查看效果,能够正常显示快照:

关于EasyCVR视频上云平台直播快照的开发,大家可以关注我们博客,我们将不定期分享开发过程中的技巧和经验。EasyCVR作为视频协议融合平台,在很多环境及设备复杂的项目现场发挥了作用,如果大家想了解更多或者直接测试,欢迎联系我们。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档