Zoneminder 安裝設定

Zoneminder優點: Web介面, 使用MJPEG格式進行影像判別, 可集中管理多廠牌IP CAM. 使用者幾乎不須安裝任何軟體即可觀看. IP CAM附贈的軟體雖功能多, 但如果在外且有防火牆, 那麼可能受限PORT沒開即無法使用.

缺點: 由於使用MJPEG , 只有影像無聲音, 若開啟動作偵測則耗費CPU效能.

目前網路上有許多大陸海思hisilicon方案號稱960P且支援ONVIF的便宜IP CAM, 索性買了兩個來測試. 雖說號稱960P, 安裝時它的解析度只能到1280×720, 詢問過老闆說確定是130萬畫素, 但怎麼測都無法在ZM及機器原本的操控軟體(yoosee)上達到960P效果 , 看在便宜價格上就算了….
http://goods.ruten.com.tw/item/show?21638660503268

安裝zoneminder

到zoneminder repo下載相對應的rpm package方便安裝
https://zmrepo.zoneminder.com/

因為系統是64bit Centos7

wget http://zmrepo.zoneminder.com/el/7/x86_64/zmrepo-7-7.el7.centos.noarch.rpm
yum install –nogpgcheck zmrepo-7-7.el7.centos.noarch.rpm
yum install zoneminder

由於本身的系統apache使用者非預設的apache帳戶 有權限問題導致無法啟動需要做些修改

chmod -R asterisk:asterisk /var/run/zoneminder /var/log/zoneminder /var/lib/zoneminder

修改 systemd啟動檔 /usr/lib/systemd/system/zoneminder.service

# ZoneMinder systemd unit file for CentOS 7
[Unit]
Description=ZoneMinder CCTV recording and security system
After=network.target mariadb.service httpd.service
Requires=mariadb.service httpd.service
[Service]
User=asterisk # 修改成你的apache啟動user
Type=forking
ExecStart=/usr/bin/zmpkg.pl start
ExecReload=/usr/bin/zmpkg.pl restart
ExecStop=/usr/bin/zmpkg.pl stop
PIDFile=”/var/run/zoneminder/zm.pid”
[Install]
WantedBy=multi-user.target

匯入資料庫schema (這邊使用的是mariadb)

mysql -uroot -p rootpassword < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e “grant all on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;”
mysqladmin -uroot -p rootpassword reload

zmuser/zmpass為該資料庫的帳號及密碼, rootpassword為資料庫root的密碼

修改/etc/zm/zm.conf 將帳密 及 服務啟動身分 填入

# Username and group that web daemon (httpd/apache) runs as
ZM_WEB_USER=asterisk
ZM_WEB_GROUP=asterisk
# ZoneMinder database user
ZM_DB_USER=zmuser
# ZoneMinder database password
ZM_DB_PASS=zmpass

修改/etc/php.ini的區域時間

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Taipei

預設cetos7的apache沒有安裝mod_ssl. ZM會使用系統預設的自簽憑證, 所以要安裝ssl模組

yum install mod_ssl
systemctl restart httpd

修改完即可啟動ZM

systemctl enable zoneminder
systemctl start zoneminder

設定zoneminder

登入https://your.ip/zm
預設沒有帳密所以我們先開啟帳號驗證及更改版面風格

右上options -> system
CSS_DEFAULT 改成flat
LANG_DEFAULT 改成big5_big5
OPT_USE_AUTH 勾選
AUTH_TYPE 選builtin
AUTH_RELY 選hashed
AUTH_HASH_SECRET 填入您用來加密密碼的字串
存檔

options -> display
ZM_CSS 選擇 flat
存檔

重新後登入就會需要帳密了. 預設帳密 admin/admin
如果要修改帳密就到 options -> user
開啟admin帳戶設定填入 新密碼/確認密碼 存檔即可
接下來就是最重要的IP CAM設定 先依手冊將IP CAM設定完成

點選ZM主畫面 -> 新增監視器 -> 一般
名稱: 隨意
來源形式: ffmpeg
功能: Monitor (依需求選擇 這裡只監看)

來源頁籤部分
Source Path: rtsp://admin:your_password_of_ipcam@your_ip:554/onvif1
請填入IP CAM帳密及IP位址, PORT為554, 路徑為onvif1
Remote Method: RTP/Unicast
寬度: 1280
高度: 720

Control頁籤部分
Controllable: 勾選
Control Type: Netcat ONVIF
Control Address: admin:password@your_ip:5000
請填入IP CAM帳密及IP位址, PORT為5000

重複步驟加入所有的IP CAM, 不同廠牌可以到官網Wiki找看看是否有支援
https://wiki.zoneminder.com/
如果你的IP CAM有支援netcatc或ONVIF可以在新增時試試在上方的Probe/ONVIF功能. 由於自己的主機跟IP CAM是在不同網段只能自己新增

完成測試後可以慢慢深入研究去嘗試系統的錄影, 動作偵測錄影(使用電腦主機效能非IP CAM本身硬體偵測), 警報等功能