自宅サーバにwebカメラをつけた

webカメラ(Microsoft Lifecam Studio)を入手したので、自宅サーバに取り付けて監視的なものを導入してみています。

motion の導入

検索などして調べると motion というソフトがメジャーなようなので、それを導入しました。
Ubuntu なので、apt-get install motion でインストールして、/etc/motion/motion.conf を編集。
以下のサイトでの例を参考にしつつ設定。
Motion でライブカメラ+動体検知サーバー構築 | 自宅サーバー Debian/Ubuntu
これで動体検知して動画を残す処理が、結構簡単に実現できました。
(設定はブラウザからもできるようになってるので、そっちを使うのも楽。ポートを開ければライブカメラにもできます)

動画をx264に変換したい

motionでは動画はmpeg4形式で出力される(mpeg1, flv, swfなども選択可能)のですが、横着な自分はMacのQuickLookで動画を簡単に閲覧したいので、x264に変換するようにしました。
以下を見ながらx264, ffmpeg の最新版を導入し、あとは動画出力完了時に動くようにするだけ。
HOWTO: Install and use the latest FFmpeg and x264 - Ubuntu Forums

変換の設定は以下のようにしてやりました。動画の保存が完了したトリガーで所定のスクリプトが実行されて変換される形。

motion.conf
on_movie_end /etc/batch/motion/on_movie_end.sh %f
/etc/batch/motion/on_movie_end.sh
#!/bin/bash
d=`dirname $1`
b=`basename $1 | cut -d. -f1`
ffmpeg -i $1 -acodec libfaac -aq 100 -vcodec libx264 -crf 22 -threads 0 $d/$b.mp4
rm -rf $1

※shファイルの場所は適当に作ったので、マネしないでお好みの別の場所にすると良いと思います。