Motion による映像監視システムの構築は、指定したパラメータが正しく動作しているか、動体検知のタイミングや精度、時間など、パラメータを調整しては、Motion の再起動を繰り返す事になります。
ある程度、動作確認ができるまではコンソールから起動します。
Ctrl + C で終了します。パラメータを調整してはコマンドライン上での起動を繰り返して、ある程度動作確認が出来て形になったら、デーモンモードで通常起動するサービスとして登録する手順を踏みます。
Motion を設定する過程で遭遇したトラブルは以下の通りです。
複数のUSBカメラを抜き差しすることで我当てられるデバイス名が変わることがあります。グレーで表示されない場合は video0 が video1 になるなど。現在、USBカメラが割り当てられているデバイス名を確認します。
カメラが対応していない解像度 wide,hight が指定されている場合もグレー表示になり、映像が映りません。Logicool C270 の場合、以下のように指定するとカットされるワイド部分が表示される形で映りました。
kernel-2.6.32 から CentOS6.5 になるわけですが、USBカメラが認識しなくなる不具合が発生。一時期、前のkernelに戻すというトラブルがありましたが、その後の更新でその様な障害はでなくなりました。
ある程度、動作確認ができたら、システム起動時に実行されるサービスとして登録します。先ず、motion.conf の以下の部分を修正します。
daemon on
↓
daemon off
起動スクリプトに併せてmotion.conf を先に以下の様に修正します。記述がない場合は、修正行を追記します。
process_id_file /var/run/motion/motion.pid
↓
process_id_file /var/run/motion.pid
起動スクリプトは motion インストール時に以下のディレクトリに用意されています。CentOSの場合は Fedora になります。
/usr/local/share/motion-3.2.12/examples/motion.init-Fedora
/rc.d/init.d にコピーします。
コピーした起動スクリプトの以下の部分を修正します。
motion=${MOTION-/usr/bin/motion}
↓
motion=${MOTION-/usr/local/bin/motion}
motion を chkconfig に登録します。
RUNレベルを確認します。
このままだとシステム起動時に motion は実行されないのでランレベルを設定します。再度、確認するとRunレベル5で起動するサービスとして登録されたことが確認出来ます。
これでシステム起動時に motion がシステムのサービスとして起動します。併せて chkconfig による起動プロセスの管理が行えるようになります。
Motion は GUI で全ての設定、操作が行えるインターフェイス(GUI)を備えています。
本稿で紹介した説明では ローカルホストからのみ、このGUIにアクセス出来る様になっています。ブラウザで以下のURLにアクセスします。
motion で指定可能な全てのパラメータが一覧で参照、設定できる上、全てのパラメータには helpリンクがありますので、他にどのような事が出来るのか、Motion の理解がより深まると思います。
ブラウザ経由で設定した内容を反映させた場合は、手書きで作成した .conf ファイルは全て自動的に整形されてしまいますので、必要であれば、事前に .confファイル全ての複製を取っておくとよいかも知れません。