LinuxでWebカメラを使うには「motion」というアプリケーションが便利です。
動体検知をして動きがあったときだけ録画することもできます。
また、一定時間ごとに画像をキャプチャすることもできるので、
インターバル撮影(微速度撮影)もできます。
■リンク
・アプリケーションのダウンロードは以下から。
英語の詳しいマニュアルもあります。
WebHome < Motion < Foswiki
http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
・参考サイト(コンフィグの設定などが参考になります)
Motion でライブカメラ+動体検知サーバー構築 | 自宅サーバー Debian/Ubuntu
http://debianj.com/ubuntu/webcam/motion.html
基本的な使い方は続きから
■起動
ターミナルから下記コマンド実行
motion
⇒コマンドを打つとmotionが起動(監視開始)
■終了
起動したターミナルでCtrl+Cを押すと終了
■基本設定ファイル(コンフィグファイル)
/etc/motion/motion.conf
を編集します。
編集した場合motionの再起動が必要です。
■ブラウザからmotionをコントロール
http://x.x.x.x:8080/
にアクセスするとブラウザから設定を変えたりできて便利です。
※アクセスするポートはコンフィグ(/etc/motion/motion.conf)の
control_port 8080の部分になります
※別のPCからアクセスする場合、コンフィグで
# Restrict control connections to localhost only (default: on)
control_localhost off
とする必要ありです
・ブラウザからアクセスすると以下のようなメニューが出ます
Thread 0・・・(カメラごとにスレッドが走るようです)
config・・・・・・・・コンフィグを見たり、設定を変えたりできる
action・・・・・・・・motionを再起動したり、スナップショットを保存したりできる
detection・・・・・motionのステータスやカメラの接続状況確認が可能
track・・・・・・・・トラッキング設定(動体を追うことができる??)
★これを利用して、例えばcrontabに以下のような記述をすれば、
午前4時に動体検知を開始し、19時に動体検知を一時停止できます
(motionは起動しておく必要あり)
0 4 * * * root /usr/bin/lwp-request http://localhost:8080/0/detection/start > /dev/null 2>&1
0 19 * * * root /usr/bin/lwp-request http://localhost:8080/0/detection/pause > /dev/null 2>&1
■イベントと外部コマンド
motionで、動画を保存した後など、イベント時にコマンドを実行する機能があります。
Perlやシェルスクリプトを使えるので便利。
コンフィグで以下が該当部分
# Command to be executed when a picture (.ppm|.jpg) is saved (default: none)
# To give the filename as an argument to a command append it with %f
; on_picture_save value
例) 動画作成が終わったときにtest.shを実行します
(%fは動画のファイル名になるのでこのように指定すると、引数を見ることでプログラムから参照できます)
on_movie_end /usr/local/bin/test.sh %f
↑フルパスで指定する
・2009/06/20追加
・イベントと外部コマンドのときの特殊文字の紹介です。
on_picture_saveのときは出力画像ファイル名に加え、検出領域も取得できるみたいです。
・motionでの動体検出の例です(Flashアニメーション)