番外篇-关于海康威视视频监控花屏大流量组件销毁等问题的解决方法

815 阅读3分钟

先说结论:

1.花屏装lib(lib升级包: pan.baidu.com/s/1KR_17rcS… 提取码: 9527 )

2.大流量未销毁组件(问题3)导致

3.组件销毁iframe版( pan.baidu.com/s/1eZN_vNfp… 提取码: 9527)


针对这篇 vue如何实时展示海康威视摄像头多画面的文章,很多同学联系到我反馈了以下几个问题:

1.偶尔花屏;

2.流量巨大限流导致卡顿;

3.单页多视频窗口 只能销毁最后一个不能销毁所有。

问题1:花屏问题

联系海康后给了一个lib的插件升级包 安装后花屏问题解决

image.png 很快就给出了解决方案(这里是根据我本地的配置和硬件信息后远程确认后给的对应lib插件升级包,不一定适合每个人,SDK_Support@hikvision.com 如果不能解决可把自己的配置信息发给官方等候答复,会有对应lib插件升级包)。大厂的速度和效率就是不一样很快就答复了:

image.png image.png

下载 覆盖插件可解决:(替换到插件安装路径,再手动以管理员运行插件进程。  插件安装路径默认应该是C盘C:\Program Files (x86)\HCWebSDKPlugin,您可以确认下您的插件安装路径来替换)

lib升级包: pan.baidu.com/s/1KR_17rcS… 提取码: 9527

问题2::大流量卡顿问题

image.png PS: 插件没销毁导致的大流量,所以先解决问题3;

问题3: 单页多视频窗口 只能销毁最后一个不能销毁所有

GF答复:websdk不支持创建多个实例,要在一个页面预览多个窗口的情况下,只能用iframe

查阅 HCWebSDK V3.3.0编程指南

image.png

查询文档发现并没有参数可传,多次调用销毁函数也会报错。的确只能销毁最后一个;单页多视频监控插件销毁问题,给GF提了建议。不过最终并没有正面答复我只是说不支持并未提及后续修改或更新计划;个人觉得这里二开可能会影响到业务销售市场,技术角度应该不难实现;根据ID或DOM销毁开了这个口子后面会不会都绕开官方安装调试(一个摄像头的现场安装好几百呢)?

image.png

image.png

通过几轮拉扯,GF给出了另外一种解法,:

千呼万唤始出来【iframe版】链接: pan.baidu.com/s/1eZN_vNfp… 提取码: 9527

image.png

运行附件iframe版效果如下: image.png (此截图为海康技术邮件答复截图)

我本地跑了下 也的确可以运行,但是没有写销毁事件;询问后

image.png 看完源码这里就是把多个ID不一样的demo嵌套到一个页面,所以我持消极看法,并不太理解这种版本的做法因为还是得封装;从技术角度出发,我始终坚持出新接口根据ID或DOM 销毁对应监控视频窗口,这样更灵活,可以适配更多业务场景;

以下是关于组件销毁回复

销毁事件并不支持传参数。带着这个问题我直接联系了海康技术。以下是部分邮件回复截图:

image.png

image.png

image.png

image.png .... 这里省略部分邮件 image.png

这个ifram的解决方法:如果10个视频要写10个html  10个js 来满足需求的话,这种方式是不是不太灵活了;还是得改成可复用组件 然后封装 问题是不是又绕回来了呢? 所以这里 我的解决方法是调用父页面destroyPlugin方法(见下图); 追求极致的话就手动杀进程(重启电脑,我这里是每天都会有专人下班关机 上班开机。所以不会有销毁的问题)

image.png