--- メモ ---
ライブカメラ構築(^^;
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でストリーミング開始します