ライブカメラの設置メモ

更新日:2006/04/25
サーバーOS FedoraCore 3
Webサーバー Apache 2.0.52
ストリーミング・サーバー FFmpeg 0.4.8 (ffmpeg & ffserver)
カメラ USBカメラ(仕様は下記のカメラの設定リンク参照)

カメラの設定

(初代)Assist USB 対応 PCカメラ
秋葉原で1800円程度で買ったカメラです
仕様と設定メモ
(2代目)Elecom UCAM-C1C30SV
ELECOM の UCAM-C1C30SV(\4200程度)です
仕様と設定メモ
(3代目)Logicool QV40
Logicool の QCam Messenger です
室内では大丈夫だったのですが、屋外では明るさの調整が出来ないみたいで、
昼間は画像がとんでしまって 駄目でした。(メモはありません)
(4代目)Logicool QV-4000
Logicool の Qcam Pro 4000 です
仕様と設定メモ(書きかけです)

カメラが使えているようなら、次に FFmpeg を導入する。


FFmpegの導入:

FFmpeg Multimedia System のサイト( http://ffmpeg.sourceforge.net/ ) から
FFmpeg のソースをダウンロードしてくる。

現在は Ver.0.4.9-pre1 Release が最新らしい。
ファイル名は ffmpeg-0.4.9-pre1.tar.gz

念のため、ffmpeg-0.4.9-pre1.tar.gzのコピーをここに置いておきます。
ダウンロードして適当なディレクトリに展開する。
# tar zxvf ffmpeg-0.4.9-pre1.tar.gz

展開すると ffmpeg-0.4.9-pre1 というディレクトリが出来るので、

# cd ffmpeg-0.4.9-pre1
# ./configure
# make
# make install

で、/usr/local/bin に ffmpeg, ffplay, ffserver がコピーされる。

FFmpegの設定:

ffmpeg-0.4.9-pre1/doc ディレクトリに ffserver.conf の雛形があるので、それを
/usr/local/etc/ffserver.conf のコピーして編集する。

実際の設定例です: ffserver.confの設定内容

起動スクリプトを作成して、ブート時に起動するように設定

起動スクリプト: livecam

起動スクリプトは、実行属性をつけて/etc/init.d に置き、chkconfig等で
BOOT時に起動するようにする。
例:
 cp livecam /etc/init.d
 chmod +x /etc/init.d/livecam
 chkconfig --add livecam
 chkconfig livecam on
 というようにすれば良かったと思います。


WEBのページを準備:

ストリームデータ用METAファイルの作成

MediaPlayerのストリーム用のMETAファイル xxxx.asx を作成する

テキストファイルで、内容は下記のように記述する。
<ASX version = "3.0">
<Entry>
<Ref href="http://www.gusuku.org:8090/test.asf" />
</Entry>
</ASX>

同様にRealPlayerのストリーム用のMETAファイル xxxx.rpm を作成する

テキストファイルで、内容は下記のように記述する。
http://www.gusuku.org:8090/test.rm

[注]
miyagi.ddo.jp はffserver が動作しているサーバーを指す。
8090はffserver.conf のPort で指定したポート番号を指定する。
test.asf 及び test.rmは、ffserver.conf のStreamタグで指定した名前
(<Stream test.asf>、<Stream test.rm> 等)を使用する。

HTMLファイルの作成

WEBのページに埋め込んで表示するように、HTMLファイルに以下のタグを記述する

WindowsMediaPlayer用
<embed src="webcam.asx" width="320" height="290" CONTROLS="ImageWindow" autoplay=true>

RealPlayer用
<embed src="webcam.rpm" width="320" height="240" CONSOLE="Clip1" CONTROLS="ImageWindow" AUTOSTART=true>

定期更新のJPEG静止画用
<img src="http://www.gusuku.org:8090/test.jpg" width="320" height="240" border="0">

WEBクライアントで表示:

上記のHTMLファイルを表示すれば、カメラの画像が見られるはずです。

[問題点]
RealPlayer用の設定ですが、クライアントのプレーヤーが RealPlayer8 の時まではちゃんと画像が表示できていたのですが、RealOne Player になってからは表示されなくなってしまいました。
原因はいまだに不明です。

以上でした。

参考資料:

ffmpeg-0.4.8のソースに付属していたffmpegとffserverのドキュメント

ffmpeg-doc.html
ffserver-doc.html

ZDNet エンタープライズ ヘルプデスク Linux How-To - 第9回:USBの認識から使い方まで 後編
http://www.zdnet.co.jp/help/howto/linux/0007master/10/14.html

Linuxにビデオカメラ(ウェブカメラ)をつなぐ
http://www.rmatsumoto.org/camera/linux-camera.html

ライブカメラ製作記録
http://www.pi-co-pi-co.com/pages/kowaza/webcam/mkwebcam.html