--- メモ ---
ライブカメラ構築(^^;

PC      FV-24(ケースはSOTEC)
CPU     セレロン900MHz
MEM     512MB
HDD      80GB(ST380021A)
        120GB(ST3120023A)
CAMERA  WebCam Plus(ov511)
        QuickCam4000Pro(PWC)

OS      RedHat 8.0 kernel 2.4

=== ドライバ,コンバータ
xawtv 3.74-4
mencoder 0.90rc4-2
ov511 1.50
pwc 8.8
=====

※RedHatのモジュール再コンパイルするさい make dep をやるとおかしいので
 make modulesとして pwc.oをlinuxのモジュールの場所にコピーしたら動いた

設定とか...
2台のUSBカメラを同時に動かすと落ちるみたいで(USBの仕様?)
自作スクリプトで切り替えてきゃぷってます

==== st.pl ===
#!/usr/bin/perl
$stre = '/usr/bin';

while(1)
        {
        print "Bigin... CAM1 :";
        `$stre/streamer -c /dev/video0  -j 100 -o ***/a1.jpeg`;
#       sleep(1);
        $date = (stat("***/a1.jpeg"))[9];

        ($ss,$mi,$hh,$dd,$mm,$yy) = localtime($date);
        $yy += 1900;
        $mm++;

        $date = sprintf("%02d-%02d %02d:%02d:%02d",$mm,$dd,$hh,$mi,$ss);
        $daaa = sprintf("%02d%02d%02d",$hh,$mi,$ss);

        `/usr/X11R6/bin/convert -quality 90 -font /usr/share/fonts/ja/TrueType/mika.ttf -fill white -draw 'text 1,230 " ******[1] $date"' ***/a1.jpeg ***/1.jpg`;

        `/bin/cp ***/1.jpg ***/$daaa.jpg`;
        print "\n[1] $date\n\n";
#       sleep(1);
        `$stre/streamer -c /dev/video1 -j 100 -o ***/b1.jpeg`;
#       sleep(1);
        $date = (stat("***/b1.jpeg"))[9];

        ($ss,$mi,$hh,$dd,$mm,$yy) = localtime($date);
        $yy += 1900;
        $mm++;

        $date = sprintf(" %02d-%02d %02d:%02d:%02d",$mm,$dd,$hh,$mi,$ss);

        `/usr/X11R6/bin/convert -quality 90 -font /usr/share/fonts/ja/TrueType/mika.ttf -fill white -draw 'text 1,230 " *****[2] $date"' ***/b1.jpeg /dev/shm/wcam2/2.jpg`;

        print "\n[2] $date\n\n";
#       sleep(1);
        }
==============
これを rc.local 当たりに 常駐モードで起動
スペックにもよるでしょうが3秒に1回ぐらいきゃぷってます。

後はcronで毎時5分に画像をサムネイルとして保存
毎時55分に動画に加工してjpgは消してます。
(以前はconvert+mpeg2encord使ってたが遅かった)

=== mk_mpg.pl(動画作成) ===
#!/usr/bin/perl

$base = '/******/mpg';
$bas2 = '/******/mpg';
$menc = '/usr/bin/mencoder -of mpeg -ovc lavc -mf on:w=320:h=240 -lavcopts vcode
c=mpeg1video -lavcopts keyint=15';

($ss,$mi,$hh,$dd,$mm,$yy) = localtime(time);
$yy += 1900;
$mm++;

$dd = sprintf("%02d",$dd);
$mm = sprintf("%02d",$mm);
$fn = sprintf("%02d%02d-%02d%02d",$mm,$dd,$hh,$mi);
@lst = glob("/******/*.jpg");
@ls2 = glob("/******/*.jpg");
if(0 < $hh &&  $hh < 7)
        {
        ;
        }
else
        {
`/bin/mkdir $base/$mm`;
`/bin/mkdir $base/$mm/$dd`;
system("/bin/nice -15 $menc -o $base/$mm/$dd/$fn.mpg /******/\\*.jpg");

`/bin/mkdir $bas2/$mm`;
`/bin/mkdir $bas2/$mm/$dd`;
system("/bin/nice -15 $menc -o $bas2/$mm/$dd/$fn.mpg /******/\\*.jpg");
        }
foreach(@lst)
        { unlink($_); }
foreach(@ls2)
        { unlink($_); }
======
Mouse Overで画像切り替え
動画があればclickでストリーミング開始します