ZoneMinder

提供: ArchWiki
2017年10月21日 (土) 00:45時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

ZoneMinder は Linux マシンに接続された監視・防犯カメラの映像を取得・解析・記録することができる、総合監視ソリューションを実現するアプリケーションのセットです。Video For Linux (V4L) インターフェイスをサポートするディストリビューションで動作するように作られており、BTTV カードで接続されたビデオカメラや様々な USB カメラ、さらには多くの IP ネットワークカメラに対応しています。

インストール

ノート: ZoneMinder を動作させるには LAMP スタックをインストール・設定する必要があります。

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 ALL 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.servicezoneminder.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 ALL 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

(参照)

参照