Webcameraの設定メモ

Apr 2004
Jan 2009
Aug 2009

Debian lenny で設定したときのメモです。

たいした設定はしていません。
だから60秒毎に静止画がかわるだけの設定めもです。

  WebCamera
上の写真の人形のとなりのUSB接続のカメラが主役です。
Creative のWebcam5という製品でチップはPhilips社製を使っています。
(目玉の形のQcamと同じ?)

1 USBが認識されていることを確認。


$ ls /proc/bus/
を実行して/proc/bus/usbとかが表示されればOK。


2 /dev/videoデバイスの設定

$ ls /dev/video*
を実行して/dev/video0とか出てくることを確認する。(昔はここまで設定するのにカーネルコンパイルしたり大変だったけど。)

それからそんなのを作ったらパーミッションもrootしか使えなはずなので変えておきます。通常は/dev/video0だけで十分だと思いま す。

# chmod 766 /dev/video0
を実行する。上の設定が危ないと思われるならhogeさんをvideoのグループに加えるという手もある
# gpasswd -a hoge video


3 関連ソフトのインストール

次のパッケージをapt-get install コマンドでインストールします。
webcam 定期的に静止画をWebに転送するのに使う。
imagemagick 携帯で画像を見るのにサイズをリサイズするのに使う。
を実行します。



4 設定

webcam を起動する場所(ホームディレクトリ)内にwebcamの設定ファイル.webcamrcを置きます。
/home/hogehoge/.webcamrc
[ftp] < --------------------ftpで他のサイトへ送る転送する場合
##host = www
##user = public_html/webcam
##pass = xxxxxx
##passive = 1
##dir= /var/www/html/cam
dir= public_html/camera <-----------jpg ファイル ができるディレクトリ
file = webcam.jpg
tmp= uploading.jpg
auto = 0
local = 1
ssh = 0
[grab]
device = /dev/video0
text = "%Y-%m-%d %H:%M:%S"
#infofile = filename
width = 160
height = 120
#width = 320
#height = 240
delay = 60 <-----------静止画撮影周期
#input = composite1
#rotate = 0
#top = 0
#left = 0
#bottom = -1
#right = -1
quality = 70 <-----------品質
#trigger = 1
once = 0


/home/hogehoge/public_html/camera/内にあるWebページの例。30秒周期でブラウザにリロードされるように
metaタグで設定してあります。

<html>
<head>
<title>hpgehoge_home</title>

<meta http-equiv="refresh" content="30;URL=http://karappi.minidns.net/~hogehoge/camera/hogehoge_home.html ; charset=UTF-8">
</head>
<body>
<img src="webcam.jpg" alt="my living" width="160" height="120">
<br>
update interval is 30 sec
</body>
</html>


携帯で表示させるには画像を小さくしなければなりません。
imagemagickをインストールするとconvertという命令が使えます。
/home/karappi/public_html/camera/webcam.jpg 画像を80x60dotにリサイズして/home/karappi/public_html/camera/tako.jpgというファイルにす るのがこ れです。
atコマンドで10分毎にこのシェルスクリプトを自分でリロードするようにしました。
(crontabを使った方がいいと思います。)


tako.sh
#!/bin/sh
convert -size 80x60 /home/karappi/public_html/camera/webcam.jpg  /home/karappi/public_html/camera/tako.jpg
at now +10 minutes -f tako.sh >& log
上のをtako.shというファイルで保存してパーミションを実行可にして実行する。

chmod 755 tako.sh
./tako.sh

5 簡単なユーザ認証の設定

例として /home/hoge/public_html/camera/下のアクセスをユーザ認証するとします。

(1)/etc/apache2/conf.dに次のファイルを作成します。
/etc/apache2/conf.d/cameara

<Directory /home/hoge/public_html/camera>
    AllowOverride None
    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Includes
    Order allow,deny
    Allow from all
    ServerSignature Off
    AddHandler cgi-script .cgi
    AddType text/html .shtml  .rhtml
    AuthType Basic
    AuthName Intra
    AuthUserFile /home/hoge/.camerapassword
    Require valid-user
</Directory>


パスワードファイルは上の例では/home/hoge/.camerapasswordというファイルになります。
これはなるべく例のように公開ディレクトリ以外に置きます。

(2)htpasswdコマンドでパスワードファイルを作成します。

  htpasswd   -c  パスワードファイル  新規ユーザ  

です。

  例の場合、でhogeさんを登録する場合、

   htpasswd -c   /home/hoge/.camerapassword  hoge

 となります。

  既にパスワードファイルがあり新規ユーザの追加の場合は、
  -cオプションは要りません。


目次