RTSP协议网页无插件直播平台EasyNVR视频广场无法搜索纯数字关键词的通道,该如何解决的?

最近改版的新版EasyNVR我们发现界面中仍然保留了“视频广场”的显示项,通过视频广场可以查看不同通道的最新视频快照信息,也可以通过搜索方式展现特定的视频通道快照。最近测试中研发测试时,发现在视频广场使用搜索框搜索不到纯数字的关键词。

NVR10.png

分析问题

只有在使用纯数字的关键词时才会搜索不到结果,使用其他的关键词都是可以搜索到结果的,比如英文、中文、英文+数字都可。由此可以判断不是前端的问题,而是后端的问题。

解决问题

我们查看后端接口的代码。

1if form.Q != "" { 2 q := strings.ToLower(form.Q) 3 name := strings.ToLower(info.Name) 4 if ch, err := strconv.Atoi(q); err == nil { 5 if ch == int(info.Channel) { 6 infos = append(infos, info) 7 } 8 } else if strings.Contains(name, q) { 9 infos = append(infos, info) 10 }

问题出在strconv.Atoi(q)这个函数上,该函数的作用是将前端传过来的参数从字符串转数字,如果是数字就不会报错,随后执行下面if下的代码逻辑,导致没有数据产生,因此搜索不到数字的关键词结果。

我们将后端代码进行修改:

1if form.Q != "" { 2 q := strings.ToLower(form.Q) 3 name := strings.ToLower(info.Name) 4 if ch, err := strconv.Atoi(q); err == nil { 5 if ch == int(info.Channel) { 6 infos = append(infos, info) 7 } 8 } 9 if strings.Contains(name, q) { 10 infos = append(infos, info) 11 }

搜索数字后将关键词进行判断,根据不同关键词执行不同的代码逻辑,此时如果通道名称和通道ID都是数字,也可以搜索到了。

88.png

此外还有一个问题,如果通道ID和通道名称相同,此时就会搜索出两条数据。

89.png

因为如果通道ID和名称都是相同的,会导致重复数据的出现,所以我们在下面代码中将通道数组转map去重即可解决。

1result := make([]*channels.ChannelInfo, 0) 2m := make(map[*channels.ChannelInfo]bool) 3for _, v := range infos { 4 if _, ok := m[v]; !ok { 5 result = append(result, v) 6 m[v] = true 7 } 8}

90.png

EasyNVR视频边缘计算网关平台是支持RTSP拉流协议的流媒体视频平台,同时能够将拉取的RTSP协议视频流转化为RTMP、FLV、HLS、RTSP等格式进行分发。目前支持市面上大部分的RTSP/Onvif协议设备、IP Camera/NVR/DVR/编码器等。如果大家想了解一些其他的方案,可以查阅我们以前的博文,此外,视频相关解决方案均可访问TSINGSEE青犀视频,可以联系我们获取演示方案,直观感受,也可自行进行下载及测试。

点赞
收藏

评论区

加载中...

相关推荐

RTSP协议外网视频直播监控无法播放WS

TSINGSEE青犀视频产品中,EasyNVR、EasyGBS等都是支持播放WSFLV格式的视频流的,曾经我们也处理过EasyGBS无法播放wsflv视频流的问题,大家可以回顾一下解决过程。在EasyNVREasyNVS系统架构中,同样也出现了EasyNVS在通道配置页面中播放视频流时,WSFLV无法播放的情况。!221.png(http

2022最完备原生电商多端发布支持源码及定制

系统经过大规模性能测试前后端交互测试集团客户已发布运营多年前端除具备电商基础功能延申细节功能丰富运营商业模式可自定义系统具备快速发布上线功能商城集成IM、直播、小视频等纯原生语言想测试只需appstore搜索“凡凡”免费下载测试使用安卓版本请前往以下地址下载:ffanmall.com简要功能介绍:系统支持android、ios、小程序、h

巨量星图发布直播间业务流程让买卖更简易

巨量星图直播间业务流程将聚集抖音短视频、今日今日头条和西瓜小视频所有主播资源。此次发布为1.0版本号,早期对外开放抖音主播。现阶段,第一批抖音短视频Top直播间大咖已进驻。顾客根据「我的星图」「直播主播」「抖音主播」点一下,就可以进到。直播间买卖步骤和小视频买卖同样,顾客在网络主播城市广场挑选大咖、选购网络主播并填好每日任务规定,即进行提交订单。履单全过程中

RTSP拉流协议视频平台多点认证造成潜在威胁?如何破解?

上一篇我们讲了TSINGSEE青犀视频平台EasyNVR内登陆鉴权的优化,通过优化登陆鉴权,我们可以抵御很多分发用户的攻击。在该问题优化完成后,我们模拟不法分子的攻击对EasyNVR的安全性进行了测试,EasyNVR已经达到了一个安全性很高的级别。!203.png(https://imgblog.csdnimg.cn/img_convert/937

HTML 5 视频

Web上的视频直到现在,仍然不存在一项旨在网页上显示视频的标准。今天,大多数视频是通过插件(比如Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。HTML5规定了一种通过video元素来包含视频的标准方法。视频格式当前,video元素支持三种视频格式:格式IEFirefox

TSINGSEE青犀视频Easy系列视频平台是如何输出HLS流的?HLS协议详解

关于Easy系列的视频平台都可以输出几种不同的视频流,其中包括FLV、HLS。本文我们来讲一下Easy系列视频平台输出的HLS协议视频流。!NVR9.png(https://imgconvert.csdnimg.cn/aHR0cDovLzEyMS40MC4yMDAuMTE5OjgxNjAvdXBsb2Fkcy8yMDIwLzA4LzAwMTgyZGM

RTSP协议网页无插件直播平台EasyNVR视频广场无法搜索纯数字关键词的通道,该如何解决的? - HelloWorld