webcameraサーバーmotionの設置方法

サーバーにウェブカメラを設置してみた。
使ったカメラだが、UVC(USB Video Device Class)に対応していればどれでも良い感じ。
ウェブカメラソフトは複数あるようだが、今回は「Motion」を使ってみた。
こいつは単体で動くのでWebサーバーとあわせて運用する必要がないのが素敵(?)
それと名前の通りモーションセンサー(動体検知)機能を備えており、監視カメラとして優秀かと。

という事でまずはインストール。ちなみにUbuntu環境です。

sudo apt-get install motion

でインストールが終わったらdaemonとして起動するために設定ファイルをいじる

sudo vim /etc/motion/motion.conf

で設定ファイルを開きdaemonの項目をonに書き換える。
その他コンフィグの説明


process_id_fileは一時ファイルの置き場所(適当でOK) デフォルトは/tmp/motion/motion.pid 
width heightはwebcameraの解像度に合わせた設定をしないと表示しなくなるので注意
デフォルトはwidth:320 height:240 あんまり試行してないけどこの値の倍数なら大丈夫ぽい。
thresholdは動体検知の感度。
ffmpeg_video_codec は mpeg4にすると良い
locateは動体を検知した部分に枠を表示するかどうか
target_dir は動体検知が起動した際に確保した部分動画が保存されたりスナップショットが保存されたりする。
webcam_localhost はこれがONの場合同じネットワーク内からしかカメラの映像を見れないのでOFFにする事で外部に公開できる。
control_authentication 上の項目にあわせて、id:passという書式で記入しておくと管理画面にアクセスする際のIDとPASSを設定できる。
snapshot_interval はスナップショットを定時で撮る事ができる。単位は秒で0で機能をOFFにできる。



いちおう自分がいじってる設定は上に書いたくらい。
準備ができたら起動

sudo motion

これでブラウザのアドレス欄に
http://localhost:8081でカメラの映像が見れる
http://localhost:8080で設定画面に入れる。この時上のcontrol_authenticationで設定したIDとPASSを使用して入る

外部ネットワークからアクセスする際はlocalhostの部分をドメイン名に変更すればOK