3

版本: iVMS-4200(V3.3.0.7_C)

事情起于一个需求,公安部门要求门店重要位置的录像需要保存 3 个月,而这些位置比较重要,所以都是要保存完整录像而不能使用移动侦测的策略,现有硬盘录像机只有 4 个硬盘接口,每个接口接 4T 的硬盘,只能保存一个月,而这个硬盘录像机的接口只支持最大 6T 的硬盘,要满足需求就要把硬盘录像机和硬盘都更换,这样成本太高,也没有要开新店,能将换下来的设备重新利用.所以开始寻求其他的备份方案.

需求

  1. 能够通过网络备份录像
  2. 能够方便进行回放和浏览

解决方案

第一个想到的是用海康威视的存储服务器,只是当时装的 v2.7.2.4 版本的ivms-4200,这个版本只能在本地进行回放,这样如果有需要回放需要每次跑到机房,会很不方便,没法满足第二个需求.

第二个找到的方案是使用群晖的Surveillance Station套件,之前就一直在使用群晖作为ESXI的存储,实施起来也不是很困难,但是Surveillance Station不支持从硬盘录像机去取录像,只能从每个摄像头去读取流,监控网络使用的是百兆的交换机,如果直接去摄像头读取流的话,估计够呛,所以只是作为一个备选方案留着.

回头去逛了下海康威视的官网,发现新版本的ivms-4200,看了下手册,发现能够支持客户端和服务端分离,这样就能满足第二点需求了.

实施过程中的问题

不过在实施的过程中,出现了不少问题.

第一个问题是客户端没法单独安装和配置到指定的服务器.

服务端未开启或与客户端不在同一主机上,则登录客户端时,需要配置 IP 地址和端口。

这个是使用手册中的原文,但实际情况是安装客户端时总会将服务端安装上,而且就算把服务端退出,每次启动客户端的时候,都会自动启动服务端.咨询过官方客服,客服说把服务端的服务器自启动选项去掉,但是并不管用,这个选项是配置开机是否自启,而每当客户端启动的时候,服务端都会跟着启动.

最后通过把服务端的文件都删除,这样就不会启动服务端了.这时客户端提示连接超时,但是弹出的界面只能配置端口,而没有 ip 地址的配置.最后通过反复查看文档和翻设置项,发现有一个配置路劲的设置,找到这个路劲下(默认在C:\Users\Public\iVMS-4200 Site\UserData),有个Framework.C的文件夹里面的Setup.xml保存了客户端的配置,修改IPAddress的值为服务端的 ip 即可. 新版本中去掉了IPAddress字段,就算手动添加配置,也不管用了,只能连接本地的端口.这可以通过端口转发来实现,在客户端电脑上将本地端口映射到服务端.

# 将本地的 8080 端口转发到服务端的 1234 端口, 1234 对应这下面服务端的转发出来的端口
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=127.0.0.1 connectport=1234 connectaddress=127.0.0.1

这里会有第二个问题,客户端需要通过服务端的 HTTP 端口来连接服务端,坑爹的是这个服务端的其他端口是监听0.0.0.0的,而唯独 HTTP 端口是只监听 127.0.0.1,这个地址还没法配置,在Framework.SSetup.xml没有这个值的配置项,也许有只是没有地方去查也没招.最后想了一招,通过端口转发,将127.0.0.1:8080端口转发到另外一个端口开放出来,命令如下:

# 添加端口转发
# 这里的 listenport=1234 是开放的端口
# listenaddress=192.168.1.2 配置要监听的地址,可以写服务器本机的 ip,或者写 0.0.0.0
netsh interface portproxy add v4tov4 listenport=1234 listenaddress=192.168.1.2 connectport=8080 connectaddress=127.0.0.1

# 查看所有的端口转发
netsh interface portproxy show v4tov4

# 删除指定的端口转发
netsh interface portproxy del v4tov4 listenport=1234 listenaddress=192.168.1.2

这样通过服务器去存储录像,然后在客户机上安装客户端,有需要的时候,可以方便回放.算暂时满足需求,先用着,以后有更好的方案再说.


XYShaoKang
3.3k 声望67 粉丝

力扣 2600 分


引用和评论

0 条评论