動体検知アプリケーションmotionを構築する
RHEL系で動体検知アプリケーションの motion を構築する手順のメモです。なお、Gentoo LinuxやDebianでは公式パッケージが用意されているのでもっと簡単です。
前提
- Scientific Linux 6.3 x86_64
- USBカメラが接続されていて /dev/video? が存在する。
- /usr/local/motion にインストールする。
- 設定ファイルのみ /etc/motion にインストールする。
方法
必要なパッケージがインストールされていることを確認します。
sudo yum install gcc gcc-c++ make libtool automake autoconf sudo yum install libjpeg-devel
DownloadFiles < Motion < Foswiki から tar ball を取得してビルドします。
tar zxf motion-3.2.12.tar.gz cd motion-3.2.12 CFLAGS='-O3 -march=native -pipe' ./configure --prefix=/usr/local/motion --sysconfdir=/etc/motion make clean make -j2 sudo make install
configureでエラーが出ていないか確認しましょう。もしffmpegやmysqlを使う場合は必要なパッケージが入っているか確認します。
設定ファイルを編集します。
sudo cp -a /etc/motion/motion-dist.conf /etc/motion/motion.conf
sudo vim /etc/motion/motion.conf
起動スクリプトを配置します。
sudo cp -a motion.init-RH /etc/init.d/motion sudo chown 0.0 /etc/init.d/motion sudo chmod 755 /etc/init.d/motion sudo chkconfig --add motion
/etc/init.d/motion を編集します。
--- motion.init-RH 2010-06-01 15:48:23.000000000 +0900 +++ /etc/init.d/motion 2013-01-06 17:00:23.311221853 +0900 @@ -7,14 +7,14 @@ # movement based on compare images. # processname: motion # pidfile: /var/run/motion.pid -# config: /etc/motion.conf +# config: /etc/motion/motion.conf # Source function library. . /etc/rc.d/init.d/functions -motion=${MOTION-/usr/local/bin/motion} +motion=${MOTION-/usr/local/motion/bin/motion} prog=motion PIDFILE=/var/run/motion.pid RETVAL=0
追記
起動スクリプトではなくsupervisorでプロセスを管理する方法もあります。詳しくは supervisorでデーモンプロセスを管理する - GeekFactory をご覧ください。