Motion

カメラ映像の動き(変化)を検知して動画や静止画を撮影します。
建物の通路やドアの開閉の映像を記録すれば防犯監視カメラのレコーダになります。
USB-WebカメラはUVC対応のものを使用しています。
ノートPCやネットブックについているWebカメラでも大丈夫でした。
おすすめUSB-Webカメラは赤外線LEDを搭載したWEBカメラ(DC-NCR13U)です。
http://www.digitalcowboy.jp/products/ncr13u/
このmotionサーバの機能は赤外線カメラを使用すると暗闇で最大限の効果が発揮できます。

【Motionサイト】http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
【参考サイト】 Bird-soft WebBLOG http://www.bird-soft.net/mt/2009/06/linuxwebmotion.html

Motionをインストール
システム – システム管理 – Synapticパッケージマネージャよりmotionをインストールする。
motionの設定
【/etc/motion/motion.conf】を編集します。
端末より管理者になる。
#gedit

【11行目】 daemon on    Onに変更

【70行目】 width 320     QVGA(VGAの場合640)

【73行目】 height 240     QVGA(VGAの場合480)

【77行目】 Framerate 10   1秒間に撮影する枚数(範囲2~100)
                    >物理的に限界はあると思いますが、、、

【153行目】 Threshold 1000     動体を検知する値
 (default: 1500で数値が大きくなるほど検知が鈍くなり、小さくなるほど過敏に反応します。)

【227行目】 output_normal off   静止画像ファイルを保存しない。Onにすると静止画(jpg)も保存する。

【247行目】 ffmpeg_cap_new on  動画をキャプチャを有効にする。動画を保存したくない場合はoff

【282行目】 ffmpeg_video_codec mpeg4 動画をmpeg4(拡張子AVI)で保存
                       (ffmpegによって使用されるコーデックmpeg4)

【314行目】 Locate on    映像の変化がある領域を四角で囲みます。>おもろい

【329行目】 text_changes on  変化があったピクセル数を画面右上へ表示

【359行目】 target_dir /tmp/motion 撮影映像を保存するディレクトリ
                       (任意に保存するディレクトリを新規作成する。)

【413行目】 webcam_localhost off OffにするとローカルやクライアントPCからリアルタイム映像が表示される。

【429行目】  control_localhost off ブラウザからmotionを設定できます。

カメラの動作確認
USBカメラを接続する。

【起動】
# motion (監視開始)

【トラブルシューティング】
以下の紋々で起動できない場合
[0] Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid:

 ディレクトリを作成します。
# mkdir -p /var/run/motion

ユーザとグループがroot.rootを確認します。
/var/run/motionのパーミッションは755を確認してそうでない場合は変更します。

【終了】
Ctrl + C または # /etc/init.d/motion stop

【リアルタイム映像】
http://IPアドレス:8081/    (※ブラウザによっては表示されません。)

【motion制御】
ブラウザからmotionを制御できます。
http://IPアドレス:8080/

ファイアウォールの設定
ブラウザでリアルタイム映像とmotion制御を使用する場合は
Allow TCP 8080、8081ポート開放のルールを追加します。

撮影動画(AVI)の確認
/tmp/motionのフォルダに動画ファイル(AVI)が作成されているのでそれを再生します。
Motion01
Threshold 300値のチョロQラジコンの動画です。
正確に動きを検知していますね。

【監視カメラの運用】
簡単な運用方法はjpgの静止画で撮影して日付ごとのフォルダを作成して管理します。
(静止画の方が動画よりCPUの負荷が小さいと思います。)

【設 定】
【227行目】 output_normal on    静止画(jpg)を保存する。
【247行目】 ffmpeg_cap_new off   動画を保存しない。
以下の4行のシェル(motion.sh)をエディタで作成して任意のフォルダに保存します。

#!/bin/sh
DA=$(date +%y%m%d)     シェル実行時の日付 例100125(10年01月25日)を変数DAへ格納する。
mkdir /var/pc_pub/motion/$DA   変数DAの内容で日付のフォルダをSambaの共有フォルダ内に作成する。
mv /tmp/motion/*.jpg /var/pc_pub/motion/$DA   JPGの静止画ファイルをSambaの共有フォルダ内の日付フォルダへすべて移動する。

ディレクトリ(/var/pc_pub/motion)は自分の環境に変更します。

# chmod +x motion.sh 実行権限を与える。

一日一回 シェルを実行するためにCronに登録する。
【/etc/crontab】を編集

45 23 * * * root /home/monta/motion.sh 【追 加】
【実行時間例:23時45分】任意に決めます。
【/home/monta】はシェル(motion.sh)が置いてあるパス。

記録静止画像(JPG)の確認
静止画像を連続表示できるSnapViewerを使用します。
クライアントPC(Windows)よりSnapViewerを起動して参照ボタンを押します。
ネットワークよりUbuntuサーバの静止画が保存してある日付フォルダを選択します。
並び替えにチェックを入れて画像リスト生成ボタンを押します。
Playボタンを押して再生します。
Motion02
画面下にあるカーソルを左右に移動すると自由に再生位置(撮影時間)が選べてとても便利です。
(映像は二足歩行ロボットを不審者に見立てて撮影しています。)

これで立派な監視カメラレコーダーができました。
Motionは他にも4スレッド4台までWebカメラを接続できそうですね。
MySQLにも対応しているみたいでPHPなどのブログラムができる方は
膨大に撮影した映像や静止画をブラウザから管理・確認ができそうですね。

後ほどVPNを設定してこれらのWebカメラの制御や映像の確認を遠隔で操作できるようにします。
【静止画像を連続表示】
SnapViewer 
http://www.onecreation.jp/products/snapviewer/

広告