共计 1504 个字符,预计需要花费 4 分钟才能阅读完成。
事情起于一个需求, 公安部门要求门店重要位置的录像需要保存 3 个月, 而这些位置比较重要, 所以都是要保存完整录像而不能使用移动侦测的策略, 现有硬盘录像机只有 4 个硬盘接口, 每个接口接 4T 的硬盘, 只能保存一个月, 而这个硬盘录像机的接口只支持最大 6T 的硬盘, 要满足需求就要把硬盘录像机和硬盘都更换, 这样成本太高, 也没有要开新店, 能将换下来的设备重新利用. 所以开始寻求其他的备份方案.
需求
- 能够通过网络备份录像
- 能够方便进行回放和浏览
解决方案
第一个想到的是用海康威视的存储服务器, 只是当时装的 v2.7.2.4 版本的ivms-4200
, 这个版本只能在本地进行回放, 这样如果有需要回放需要每次跑到机房, 会很不方便, 没法满足第二个需求.
第二个找到的方案是使用群晖的 Surveillance Station
套件, 之前就一直在使用群晖作为 ESXI
的存储, 实施起来也不是很困难, 但是 Surveillance Station
不支持从硬盘录像机去取录像, 只能从每个摄像头去读取流, 监控网络使用的是百兆的交换机, 如果直接去摄像头读取流的话, 估计够呛, 所以只是作为一个备选方案留着.
回头去逛了下海康威视的官网, 发现新版本的ivms-4200
, 看了下手册, 发现能够支持客户端和服务端分离, 这样就能满足第二点需求了.
实施过程中的问题
不过在实施的过程中, 出现了不少问题.
第一个问题是客户端没法单独安装和配置到指定的服务器.
服务端未开启或与客户端不在同一主机上,则登录客户端时,需要配置 IP 地址和端口。
这个是使用手册中的原文, 但实际情况是安装客户端时总会将服务端安装上, 而且就算把服务端退出, 每次启动客户端的时候, 都会自动启动服务端. 咨询过官方客服, 客服说把服务端的 服务器自启动
选项去掉, 但是并不管用, 这个选项是配置开机是否自启, 而每当客户端启动的时候, 服务端都会跟着启动.
最后通过把服务端的文件都删除, 这样就不会启动服务端了. 这时客户端提示连接超时, 但是弹出的节目只能配置端口, 而没有 ip 地址的配置. 最后通过反复查看文档和翻设置项, 发现有一个配置路劲的设置, 找到这个路劲下, 有个 Framework.C
的文件夹里面的 Setup.xml
保存了客户端的配置, 修改 IPAddress
的值为服务端的 ip 即可.
这里会有第二个问题, 客户端需要通过服务端的 HTTP 端口来连接服务端, 坑爹的是这个服务端的其他端口是监听 0.0.0.0
的, 而唯独 HTTP 端口是只监听 127.0.0.1, 这个地址还没法配置, 在 Framework.S
的Setup.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
这样通过服务器去存储录像, 然后在客户机上安装客户端, 有需要的时候, 可以方便回放. 算暂时满足需求, 先用着, 以后有更好的方案再说.