1.1 はじめに |
なお、(改造した)webcam.cgiというソフトは、
あくまで個人が時々画像をチェックする用途に作ったもので、
アクセスされる毎に/dev/videoXの画像をキャプチャーしてJPEG画像として送信します。
多数のアクセスは想定していません。多数のアクセスに対応するには、素直にwebcamをデーモンとして利用しましょう。
また、httpサーバから誰でも画像を観ることができます。念のため認証(BASIC認証)を設定したりSSLで暗号化するなど、
利用には充分注意してください。
1.2 ダウンロード |
1.2.1 xawtv
xawtvはビデオキャプチャー用アプリケーションソフトです。 以下のバージョンのアーカイブをダウンロードしてください。xawtv-3.94.tar.gz
また、cgi用ソースを追加したpatch(xawtv-3.94-cgi-sh1.patch)を作成したので、
こちらもダウンロードしてください。
1.2.2 qc-usb
http://sourceforge.net/projects/qce-ga/
1.3 インストール |
1.3.1 xawtv
適当な作業ディレクトリでアーカイブを展開し、patchをあててください。
1.3.2 qc-usb
Remark: Linuxの2.4.19と2.4.20はこのデバイスドライバに関して挙動が不安定なので、 以下のkernelパッチを(kernelソースに)あて、カーネルとモジュールを新しくしてから、 作業することを奨めます。 linux-2.4.20-videodevfix.patch
適当な作業ディレクトリでアーカイブを展開し、configure, make, make installを実行します。
同時に"quickcom.o"を適切なモジュール用ディレクトリにcopyしてください。
1.4 設定 |
1.4.1 modules
デバイスドライバを有効にするには、いくつかのモジュールを読み込まなければなりません。 以下に、必要なモジュールを読み込むスクリプトを示しますので、実行してみてください。#!/bin/bash # Load the needed modules for the quickcam driver. # # Video4Linux Support modprobe videodev # USB Core Module modprobe usbcore # USB UHCI/OHCI Controller Modules (new) #modprobe usb-uhci modprobe usb-ohci # USB UHCI Controller Modules (old) #modprobe uhci # that for the sys request key, comment it out if the quickcam works well. # if you get any erors: use Alt + SysRq + S = Emergency Sync (write everything on HDD) # use Alt + SysRq + U = Unmount all HDD's # use Alt + SysRq + B = Reboot system immediatly echo "1" > /proc/sys/kernel/sysrq # quickcam.o is in current directory, after copying in /lib/modules/.../misc, # use insmod quickcam. modprobe quickcam |
1.4.2 CGIアクセス
以上の作業で、httpサーバからCGIでビデオ画像を取り出すことができます。http://hoge.hoge.jp/cgi-bin/webcam.cgi
また、webcamの設定ファイルで設定できるパラメータをqueryとしてCGIに渡すこともできます。 例えばビデオドライバdevice、幅widthと高さheightを指定するには次のようにします。
http://hoge.hoge.jp/cgi-bin/webcam.cgi?device=/dev/video1&width=220&height=200
Remark: ほとんどのパラメータを設定できますが、無意味なパラメータ(trigger,delayなど)は無視されます。
1.4.3 Warrning
以下の点に充分注意してください。1.5 補記 |
2001年に2羽目のうさぎを飼う頃、ADSL専用線の価格破壊が起きていて、
同時にUSBカメラなどのデバイスも低価格で入手可能となったのを期に、
自宅サーバでうさぎ監視用WEBカメラを設置していました(実際に設定したのは2002年)。
8年来の夢であったうさぎ監視カメラでしたが、いざ会社からアクセスした瞬間、
もしも誰か知らない人間が歩いていたらどうしようと、恐怖感に襲われたのを覚えています。
それでも、人間の居ない間にうさぎが何をしているのか非常に興味深く覗いてました、二日くらい。8年も待ちこがれたWEBカメラですが、うさぎって昼間はほとんど動かないのです。本当に二日で飽きてしまいました。
まあ、そんなこんなで2年以上WEBカメラを稼働させていたのですが、一つ問題がありました。
ビデオキャプチャー用ソフトwebcamをデーモンプロセスとして稼働していたので、
数秒毎に生成したJPEGファイルをハードディスクに年中無休で書き込んだためか、
この2年でハードディスクが2回もクラッシュしてしまったのです。
最初はhttpdのドキュメントルートのある/varパーティションが、2度目は同じく/varパーティションとusbデバイスモジュール関連から/libのある/パーティションが、
どちらも徐々に壊れて、最終的にbootしなくなるということが起きました。
これらの経験から、webcamをCGI化して画像データを直接標準出力に書き出せば、ハードディスクアクセスが発生しないのでサーバにやさしいだろうと"webcam.cgi"を作った次第です。
webcam.cgiが稼働しはじめてまだ1日(というか先週サーバクラッシュしたので、昨日webcam.cgiを作った)、まだ耐久試験のまっただ中ですが、いまのところ順調に動いています。
ただ、今はもうWEBカメラにうさぎは映りません。
いや、別に死んだわけはでなく、すでにうさぎ小屋から出して、一日中家の中を自由に歩かせているので、カメラに姿が映らないのです。
この2年で猫も1匹増え、互いのテリトリーを守りつつ、1羽と1匹は一日中家の中を自由に歩き廻っているようです。
因みにうさぎのほうが猫よりも身体がでかいので、うさぎのほうが威張ってます。