ZoneMinder安装配置

本文简单介绍视频监控软件ZoneMinder的安装和配置。

首先安装LAMP,参见How to Install a LAMP Stack on Ubuntu 18.04

然后安装ZoneMinder 1.32.x

接下来访问http://192.168.2.3/zm/配置摄像头。以下是我的四个摄像头的配置:

Source PathMethod
Foscam R4rtsp://192.168.2.18:88/videoSubTCP
Amcrest IP2M-841rtsp://192.168.2.19:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=OnvifTCP
ZModo ZH-IXA15-WACrtsp://192.168.2.17:10554/udp/av0_0UDP

以上三个摄像头的Source Type均为Ffmpeg,Video Writer除了ZModo为X264 Encode外,其余两个均为H264 Camera Passthrough。

第四个摄像头D-Link DCS-932L比较特殊,没有找到rtsp方式,所以Source Type选为Remote,Protocol为HTTP,Method为Simple,Host Name为192.168.2.148,Port为80,Path为/video.cgi。

设置好后建议启用访问控制 (Options -> System -> OPT_USE_AUTH)。默认用户名密码为admin:admin。建议登录后修改密码 (Options -> Users)。

我用的一台老DELL Dimension 5150做服务器,CPU为奔腾4,内存为1.5GB。另外挂载了一块2TB西数紫盘在/var/cache/zoneminder/,用来存储视频和图片,两周时间占用空间约为450GB,耗电50度左右。

由于电脑计算能力有限,所以没有启动motion detection,只是作为一个集中存储视频的地方。另外还需要登录ZModo摄像头(非ZoneMinder)网页控制页面(仅限IE),修改为10fps(默认为25fps),不然电脑太老跟不上。如果不是所有时间都需要录制(比如我选择白天存储三个摄像头的录像,晚上只有两个),可以定时自动切换,设置方法参见这里。简单说就是设置两个状态Daytime和Nighttime,然后创建cron任务分别在不同时间运行

/usr/bin/zmpkg.pl Daytime

/usr/bin/zmpkg.pl Nighttime

基于ownCloud的家庭备份解决方案

在公有云存储如此普及的今天,为什么还要自己搭建备份服务呢?首先,免费空间有限,通常在5GB上下;更重要的是,一些涉及隐私的文件,如银行账单和证件复印件等等,不适合直接存放在公有云存储服务上。而在自己家里部署ownCloud服务器,配合手机客户端(我使用Cirrus for ownCloud,可以设置应用密码)、Linux客户端、Mac客户端,以及Windows客户端,构成了一个类似Dropbox的家庭备份方案,只要把文件放在ownCloud文件夹里面,就会自动同步到服务器。既不用担心空间限制,也无需顾虑泄漏隐私。在此基础上,可以在服务器端做进一步远程备份到公有云存储,并适当加密,既实现了安全备份,又做到了自动化。

搭建ownCloud其实很简单,有现成的docker容器可以用,不嫌麻烦也可以直接安装配置。

我的定制稍微复杂一些。去年黑色星期五花费$150买了QNAP TS-231+文件服务器,装上两块西数3TB红盘,配置成RAID 1。QNAP系统内置ownCloud服务器,但是版本稍旧,为了使用最新版本,只好自己安装docker容器。QNAP系统内置Container Station,可以直接下载安装DockerHub里面的容器,问题是TS-231+是ARM平台,没有现成的容器可用,于是自己做了一个armhf-owncloud

armhf-owncloud默认安装了自签名的SSL证书,支持HTTPS访问,所以在配置端口映射时除了默认的80端口,不要忘记映射更重要的443加密端口,以便在公网通过myQNAPcloud安全访问隐私文件。

配置data volume可以将备份到ownCloud容器里的文件暴露给QNAP系统,以便实现远程备份。QNAP有内置Hybrid Backup,可以备份文件到各种云存储,包括Amazon Cloud Drive,Dropbox,OneDrive和Google Drive等等,而且支持加密备份。我的QNAP Hybrid Backup有两个任务,一个加密备份ownCloud里涉及隐私的文件夹,另一个明文备份剩余文件夹。

Hybrid Backup的加密设置不够直观,我录制了一段视频演示其过程,仅供参考。

有了这个方案,备份变得很简单,只要把文件存放在适当的文件夹即可,ownCloud客户端就会自动同步文件到家里的ownCloud服务器,然后,QNAP Hybrid Backup又会把文件备份到公有云存储。另外日历上创建一个每月一次的文件清理任务,以便抓住漏网之鱼。

这个方案也有一些小问题,首先,加密文件的文件名还是明文的。其次,使用非标准端口可能会被防火墙拦截。家里的宽带猫上开通了端口转发,公司里就没有办法,好几次以为是配置出了问题,文件怎么找不到,后来才想明白是端口被屏蔽了,只好使用移动网络。

尽管有着这样那些的瑕疵,在踏入IT行业的第十四个年头,我终于有了一套备份方案。