FreeBSD 9.1-RELEASとportsにあるcamservを利用してライブカメラを構築した。
GV-BCTV5EをPCIスロットに刺す。ビデオカメラとGV-BCTV5Eを接続する。
GV-BCTV5Eをマシンに自動認識させるため、/boot/loader.conf に以下を追加。
bktr_load="YES"
再起動する。
再起動後,以下のようなメッセージが現れる.
bktr0: <BrookTree 878> mem 0xde000000-0xde000fff irq 5 at device 9.0 on pci0
bktr0: I/O DATA GV-BCTV5E/PCI, Philips NTSC tuner.
portsからインストールする.依存するユーティリティーなどもいくつかインストールされる.
# cd /usr/ports/multimedia/camserv
# make install clean
設定ファイルを雛形からコピー.
# cd /usr/local/share/camserv/
# cp camserv.cfg.dist camserv.cfg
/usr/local/share/camserv/camserv.cfg を編集する。私が変更した部分は以下の通り。
まず [video_fbsd_bttv] の部分。最初の [video_basic] における記述を参考にする。
port 0 # ビデオ端子からの入力を指定.チューナーなら1。 channelset 5 # 日本のチャンネル設定.ビデオの場合は無関係。 channel 1 # チューナーを指定した場合に受信するチャンネル。
[jpg_filter] の部分。
quality 150 # デフォルトの100だと画面が荒いがサーバーの負担はいくらか軽くなる。
[time_stamp] の部分。
x 2 # 時間バナーを水平位置(左端からの距離) y 2 # 時間バナーの垂直位置(上端からの距離)
[socket] の部分。
listen_port 9192 # これはデフォルトのままである.変えてももちろん可。 max_seconds 600 # 接続可能時間.デフォルトの0なら無制限。 # max_framesやmax_bytesでの指定でも同じことができる。
[video] の部分。video_section の変更は必須である。
video_section video_fbsd_bttv # FreeBSDの場合は左記のように変更しておく(重要) maxfps 2 # 1秒あたりのフレーム数。 # 0にすると無制限だが,サーバ # クライアントの負担がともに重くなる。 # topコマンドなどで確認しながら設定すると良い。
まず camserv からの動画を見るためのページを用意する。Netscape ( Mozilla ) と Internet Explorer ではファイルが異なる。
注意:本来はこの設定でよいはずであるが、FreeBSD 9以降では上手くいかないので参考までに。
以下のような簡単なファイルでよい。<img src=" のあとにcamserv が動作しているマシンのアドレスとポート番号を指定する。<html> <head> </head> <body> <img src="http://192.168.100.1:9192/"> </body> </html>
Java Script とする必要がある。見本はこちら(ダウンロードしてください)。function reload() のところでサーバーのアドレスとポート番号を指定する。外部に公開する場合のURLについてはMozillaの場合と同様である。
camserv を起動する。以下のようなメッセージが出る。
# camserv &
[1] 1649
camserv v0.5.1 - by Jon Travis (jtravis@p00p.org)
# Syntax: camserv <cfg file>
Will try /root/.camserv and /usr/local/share/camserv/camserv.cfg
2005-09-04 12:23:08 [main] Trying to read config file "/root/.camserv":
2005-09-04 12:23:08 [main] Error reading config "/root/.camserv": No such file or directory
2005-09-04 12:23:08 [main] Trying to read config file "/usr/local/share/camserv/camserv.cfg":
2005-09-04 12:23:08 [main] Success reading config "/usr/local/share/camserv/camserv.cfg"
2005-09-04 12:23:08 [camconfig] Using default of "2359296" for [main]:shm_alloc
2005-09-04 12:23:08 [mainloop] Setup signals
2005-09-04 12:23:08 [fbsd_bttv] [video_fbsd_bttv]:device_path unset, defaulting to /dev/bktr0
2005-09-04 12:23:08 [fbsd_bttv] [video_fbsd_bttv]:tuner_path unset, defaulting to /dev/tuner0
2005-09-04 12:23:08 [filter] Loading filter [time_stamp]
2005-09-04 12:23:08 [filter] Loading filter [jpg_filter]
2005-09-04 12:23:08 [fbsd_bttv] Camera Geometry: 320 x 240
2005-09-04 12:23:08 [camconfig] Using default of "0" for [video_fbsd_bttv]:brightnes
2005-09-04 12:23:08 [camconfig] Using default of "100" for [video_fbsd_bttv]:chroma
2005-09-04 12:23:08 [fbsd_bttv] channelset set to 5
2005-09-04 12:23:08 [fbsd_bttv] channel set to 1
2005-09-04 12:24:23 [mainloop] Accepted new socket: 192.168.100.53
最後の行は。クライアントから接続されると表示される。
webブラウザで,以下のようにURLを指定すればよい.
http://192.168.100.1:9192/
自宅サーバーの場合について説明する。