ZoneMinder
ZoneMinder は Linux マシンに接続された監視・防犯カメラの映像を取得・解析・記録することができる、総合監視ソリューションを実現するアプリケーションのセットです。Video For Linux (V4L) インターフェイスをサポートするディストリビューションで動作するように作られており、BTTV カードで接続されたビデオカメラや様々な USB カメラ、さらには多くの IP ネットワークカメラに対応しています。
目次
インストール
zoneminderAUR パッケージをインストールしてください。開発版は zoneminder-gitAUR でインストールできます。
(あまり用いられませんが) サムネイルを生成するには、netpbm パッケージもインストールしてください。
以下の設定を行なってシステムサービスを起動したら、http://localhost/zoneminder/ からウェブインターフェイスにアクセスできます。
設定
Apache
Apache HTTP Server#PHP に書かれていることに従って PHP を有効にしてください。
そして /etc/httpd/conf/httpd.conf
の以下の行をアンコメントします:
LoadModule cgi_module modules/mod_cgi.so
httpd.conf
の一番下のあたりに以下の行を追加して httpd-zoneminder
の設定ファイルをインクルードしてください:
Include conf/extra/httpd-zoneminder.conf
PHP
/etc/php/php.ini
を編集してください。以下の行をアンコメントして拡張を有効にしてください:
extension=ftp.so extension=gd.so extension=gettext.so extension=mcrypt.so extension=pdo_mysql.so extension=sockets.so extension=zip.so
また、タイムゾーンの設定も必要です。例:
date.timezone = "Australia/Sydney"
タイムゾーンのリストは http://php.net/manual/ja/timezones.php を参照。
MySQL
zm データベースとユーザーを作成して、適切なパーティションとパスワードを設定してください:
$ mysql -u root -p
CREATE DATABASE zm; CREATE USER 'zmuser'@'localhost' IDENTIFIED BY 'choose_password'; GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON zm.* TO 'zmuser'@'localhost'; exit
設定済みのテーブルを新しく作成した zm データベースにインポート:
$ mysql -u root -p zm < /usr/share/zoneminder/db/zm_create.sql
新しいパラメータで ZoneMinder の設定を更新:
/etc/zm.conf
ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=chosen_password
起動
httpd.service
と zoneminder.service
を起動・有効化してください。
トラブルシューティング
デフォルトではログは /var/log/zoneminder
に保存されます。また、ウェブインターフェイスの中からログを閲覧することも可能です。
詳しくは上流の wiki にある Troubleshooting ページを参照してください。
アプリケーションデータの消去
ZoneMinder のデータを全て消去する必要がある場合は以下を実行してください。
データベースの再生成
ZoneMinder の MySQL データベースと MySQL ユーザーを消去:
$ mysql -u root -p
DROP DATABASE zm; DROP USER 'zmuser'@'localhost';
データベースとユーザーを再作成:
$ mysql -u root -p
CREATE DATABASE zm; CREATE USER 'zmuser'@'localhost' IDENTIFIED BY 'choose_password'; GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON zm.* TO 'zmuser'@'localhost'; exit
設定済みのテーブルを新しく作成した zm データベースにインポート:
$ mysql -u root -p zm < /usr/share/zoneminder/db/zm_create.sql
キャッシュフォルダの消去
以下のコマンドで全ての画像とイベントが消去されます:
$ rm -Rf /var/cache/zoneminder/events/* /var/cache/zoneminder/images/* /var/cache/zoneminder/temp/*
ローカルビデオデバイス
httpd を動作させるユーザー (大抵の場合 http) からカメラにアクセスできるようにする必要があります。例:
$ groups http
video http
$ ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 Oct 28 21:54 /dev/video0
http ユーザーを video グループに追加してください。
複数のローカル USB カメラ
複数の USB ビデオカメラ (ウェブカメラなど) を使用した際に libv4l2: error turning on stream: No space left on device
というエラーが表示される場合、バスの帯域幅を上げる必要があります。
zoneminder
サービスを停止してから、以下を試してみて下さい:
$ rmmod uvcvideo $ modprobe uvcvideo quirks=128
zoneminder
サービスを起動してみて問題が解決していた場合は、/etc/modprobe.d/uvcvideo.conf
にモジュールオプションを追加して変更を永続化させてください。例:
options uvcvideo nodrop=1 quirks=128
(参照)
参照
- http://www.zoneminder.com/wiki/index.php/Arch_Linux — 上流のプロジェクトページ。