今回は、motionというWebカメラの動画をストリーミング配信し、動体検知した画像を記録することができるプログラムをRasberry Piにインストールして動かしてみた。
http://lavrsen.dk/foswiki/bin/view/Motion/WebHome
インストールはapt-getを用いて簡単にできる。
> sudo apt-get install motion
設定ファイル/etc/motion/motion.confを設定する。今回はとりあえずLAN内の他のPCにてストリーミングを観たいので、以下のようにパラメータ「stream_localhost」をoffに設定した。
> sudo vi /etc/motion/motion.conf # Restrict stream connections to localhost only (default: on) stream_localhost off
motionをそのまま実行すると、デーモンとして動作するが、今回は以下のようにオプション「-n」を付けてとして実行した。
> sudo motion -n [33555776] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf [33555776] [NTC] [ALL] motion_startup: Motion 3.2.12+git20140228 Started with SDL support [33555776] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)
iphoneのFirefoxから「http://RasPiのipアドレス:8081」にアクセスすると、Webカメラのストリーミング映像を観る事ができる。
ちなみに、iPhoneのsafari(iOSバージョン9.3.1)でも映像を見ることができる。ただし、WindowsのIEでは見ることができなかった。
また、motionはある閾値以上の動きを検知し、画像に保存することもできる。この閾値と画像の保存先は、先ほどの/etc/motion/motion.confにて設定できる。閾値のパラメータは「threshold」、保存先のパラメータは「target_dir」である。
>vi /etc/motion/motion.conf ############################################################ # Motion Detection Settings: ############################################################ # Threshold for number of changed pixels in an image that # triggers motion detection (default: 1500) threshold 1500 ~~~ # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) target_dir /var/lib/motion ~~~ > ls /var/lib/motion 10-20160517195128-00.jpg 10-20160517200716-00.jpg 10-20160517202152-01.jpg 10-20160517195128-01.jpg 10-20160517200716-01.jpg 10-20160517202216-00.jpg 10-20160517195128.avi 10-20160517200717-00.jpg 10-20160517202216-01.jpg 10-20160517195129-00.jpg 10-20160517200717-01.jpg 10-20160517202217-00.jpg 10-20160517195129-01.jpg 10-20160517200718-00.jpg 10-20160517202217-01.jpg 10-20160517195130-00.jpg 10-20160517200718-01.jpg 10-20160517202218-00.jpg
このように、motionを使えばお手軽に監視カメラを作ることができる。