These pages are written by only Japanese.

Welcom to My Diary.com
最新の日記タイトル一覧カテゴリ別タイトル一覧トップへ戻る〜

こんばんわ♪ 現在は3月28日(木)23時52分。 テレホタイムに突入しました。


hns - 日記自動生成システム - Version 2.19.5 (色々 Fixed)

先月 2002年12月 来月
01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Namazu for hns による簡易全文検索です。
詳細は 詳細指定/ヘルプをご参照下さい。
検索式:

2002年12月20日(金)(自宅)

(自宅)

biglobe 会員証

スタートアップガイド等は、入会の後すぐに郵送で自宅に届いているのですが、 それと別で送られてくるという会員証がまだ届いていないようでした。
仮パスワードの期限もとうに切れて、サービスの変更も出来ず、 おそらく PPPoE の接続が一度でも切れると、 再接続できない状態だと予想されますので、 そろそろ要求したほうが良いのではと思い、 biglobe の お問い合わせフォームで尋ねてみました。

。。。:

確かに郵送したという返事が来ましたので、再発行の手続きを取りました。 受け取る前のどこかの段階で紛失したのかもしれません。

会社

お買物

書籍:

デジタルカメラ:

中古で購入しましたので、2万前後の値段でした。 知人にこの話をした所、同じ形でスペックが少し上がった Xi という機種があるそうです。

ヘッドフォン:

透明感のある音です。 Porta Pro のゴージャスな音に慣れている人には 少し物足りないかもしれません。

PC 部品:

SCSI ターミネータ:

HD 増設

alt サーバに IDE 120G と、余っていた SCSI 60G 。合計 180G 追加しました。
alt サーバは、箱の中のベイも内部電源も全て使いきりましたので、 これ以上の内蔵デバイスの増設は不可能です。
これ以上増設する場合は、外部 SCSI HDD を利用する事になると思います。

ツッコミ: USB2.0 や IEEE1394 は?:

alt サーバは USB1.x と SCSI は使えるのですが、 上記の 2 規格にば対応していません。
カードを指すよりは、 LHD-H120SU2 を増設した方が楽ですので。

PeerCast

某所にて PeerCast の実験をしている事を知人から聞き、参加しました。 といっても、 単に PeerCast と Winamp 2.81 を導入して、BGM として流しているだけです。
PeerCast は P2P の特性上、port を開けなければなりません。
我が家の Windows は NAT の中に隠れていますので、 静的 NAT の設定が必要だと考え、 以下の設定を /etc/ipnat.conf に追加しました。
rdr pppoe0 0.0.0.0/0 port 7144 -> 192.168.1.7 port 7144
rdr pppoe0 0.0.0.0/0 port 7145 -> 192.168.1.7 port 7145
ipnat にこの設定データを渡してみます。
bash-2.05# ipnat -f /etc/ipnat.conf
4:ioctl(SIOCADNAT): File exists
5:ioctl(SIOCADNAT): File exists
SIOCADNAT は、既に存在する NAT の設定です。

ぶっくま〜く

レコーダの王座が獲れるか? 東芝「RD-XS30」:

PCI-X 2.0とPCI Expressの関係は?:


2002年12月21日(土)(自宅)

(自宅)

腰痛

お風呂でバブの泡を患部にぶつけて特に痛むところを 強制的に温めるようにしていたのですが、 今日になって、泡を当てても痛みを感じませんでした。
回復ぎみ

PeerCast ツッコミが…

PeerCastのポート解放は7144だけで良いそうです。
7144番に Servents/Data の許可を与え、
HTML/Broadcasting の許可は7145番に与えるように設定します。
そしてルータやファイアウォールには、
外部からの接続を7144番に対してだけ許可するよう設定します。
余計な事をしていたようです。 ipnat の設定から 7145 を外した後、 コマンドラインから手動でエントリを消去しました。
# ipnat -r -f -
rdr pppoe0 0.0.0.0/0 port 7145 -> 192.168.1.7 port 7145 tcp
^d

samba 大文字小文字の罠

samba で共有しているディスクを Windows 上でネットワークドライブとして マウントして、ディスクを整理していた時の話です。
ある似た目的で作成したフォルダをマージした所、 Foo と foo の2つのディレクトリが存在していて、 中身を確認したところ同じ内容でしたので、Foo を消去しました。
それから、foo の中身を確認した所、中身が空になっていました。(ρ_;
大事なデータも入っていましたので、頭が真っ白になりましたが、 少し落ち着いて考えたところ、 以下のような操作をしてしまったと理解できました。 前の会社に在籍していた時も同じ失敗をしたはずなのですが、 学習していないようです。自分…

ぶっくま〜く

Webサイト高速化のツボ - 顧客は“8秒”も待てない:

8秒ルールは有名ですし、今さらと言われそうですが、一応、再チェックです。 最近は更に気が短くなって、3秒ルールが出来そうな気配さえ感じます。

2002年12月22日(日)(自宅)

(自宅)

某師がお見舞いで来訪

差入れ、有り難うございます。(私信)
いまだ座り続ける事が出きない為、 途中から寝転がって話を聞いてしまいました。
すみません。

ぶっくま〜く

ピクセラ PIX-MPTV/P2W (TVキャプチャアダプタ ,ハードウェアエンコード,iTVC15 ,PCI):

ビデオ出力機能の追加に伴って、
MPEG-1/2のハードウェアデコード機能も付加されており、
ハードウェアデコードしたMPEG画像をそのままビデオ出力することができる。

DirectX 9.0 End-User Runtime - 日本語:

日本語版のダウンロードの手引きは現在準備中です。
現在のところ英語版のガイドのみご覧いただけます。
ドキュメント無しでソフトウェアをリリースするのは、さすがです。
この時点で導入する人柱指向の方々にとっては、英語で十分とも言えますが…
DirectX 9 のウリは、HW T&L の *1 廃止、Pixel&Vertex ShaderのProgrammable 化という話を聞いたのですが、 正直今、DirectX に手を付ける余裕が今ないので、 この辺の事情はさっぱり分かりません…

CD-Rの「音」を考える:

プレクスターに聞く「音の良いCD-Rドライブの作り方」
電源
PC の内部電源は最悪なので、外付けドライブを使用する
振動
振動でブレると良くないので、おもしを乗せる等して固定する
光学的ノイズ
ドライブは黒い方が音が引き締まる。
ただし、引き締まる分、歪みが目立つ可能性に注意。

*1: Hardware Transform & Lighting

2002年12月23日(月)(自宅)

(自宅)

vip マシン(Win2K pro)不調

半年位前から、 等と調子の良くない vip *2 マシンの Windows 2000 sp3 ですが、本日とうとう起動しなくなりました。
STOP: c000026e Unknown Hard Error
Unknown Hard Error
safe mode や、正常起動時の profile 等を利用しても、症状は変わりません。
あきらめて、OS を一からインストールする事にしました。

バックアップ:

dual でインストールしていた Windows98 で起動し、 まずは、Win2K がインストールされているドライブの Documents and Settings フォルダをバックアップ。

再インストール(?):

CD から起動して、Windows 2000 Setup を実行しましたが。
Setup is loading files (Qlogic QLA1080, 64bi bit PCI LVD SCSI HBA)...
上記の文が表示されたまま、次に進みません。
そこで、Third Party 製のドライブを手動でいれる方を選択肢して、 ドライバを選択しないで、進めたところ、セットアップ画面まで辿り着きました。
インストール
復元
の2択を迫られたので、ダメもとで復元を選び処理を任せたところ、 起動に成功し、logon して普通にツールを動かせるようになりました。
多少気持ち悪いですが、動いているので文句は言わない事にします。 今のうちに新しいマシンを調達せよという天の声かもしれませんが、 貧乏ですので延期です。

*1: これは Win98, WinNT, Win2K 全てで同じように起動できなくなったので、 ハード的な問題と推測してます。
*2: TwoTop の VIP シリーズとして購入していまして、 そのまま、vip というマシン名を付けています。

apt-get update

# apt-get update
取得:1 http://updates.vinelinux.org 2.6/i386/base/pkglist.updates [72.1kB]
	<略>
取得完了: 89.4kB を 3s (24.9kB/秒)
ファイル依存を処理しています... 完了
パッケージリストを読みこんでいます... エラー!
E: このシステムには 2 つ以上のバージョンのパッケージ 'j2sdk' がインストール
されています。この状態のままでは APT は正常に動作することはできません。
以下のどちらかを選択して実行してください。
  1) 古い方のパッケージを削除して、1 つのバージョンだけがインストール
     されている状態にしてください。又は、
  2) このパッケージの複数のバージョンを共存させておきたい場合は、
     このパッケージ名を 'RPM::AllowedDupPkgs' オプションに追加してください。
オプションは '/etc/apt/apt.conf' に書きます。分からない場合は、
1) の選択肢を選ばれることをお勧めします。
事情があり、jdk1.3 と 1.4 をインストールして環境変数で使い分けていました。
//   AllowedDupPkgs {"^kernel$"; "^kernel24$"; "kernel-smp"; "kernel24-smp"; \
 "kernel-enterprise"; "kernel-BOOT"; "kernel24-BOOT"; "^kernel22$"; \
 "^kernel22-smp\"; "^mol-kmods$"; "^mol-kmods22$"; };
// modified by yoya
// 2002/12/23 "^j2sdk"
 AllowedDupPkgs {"^kernel$"; "^kernel24$"; "kernel-smp"; "kernel24-smp";
 "kernel-enterprise"; "kernel-BOOT"; "kernel24-BOOT"; "^kernel22$"; 
 "^kernel22-smp"; "^mol-kmods$"; "^mol-kmods22$"; "^j2sdk"; };
以上のように /etc/apt/apt.conf を書き換えて、 apt-get update & apt-get upgrade を実行しました。
# apt-get upgrade
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージがアップグレードされます:
  w3m
1 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレース
パッケージ, 0 個の保留パッケージがあります。
取得パッケージ: 481kB のアーカイブを取得します。インストール後は 457B が
使用されます。
続行しますか? [Y/n]Y
取得:1 http://www.t.ring.gr.jp 2.6/i386/updates w3m 0.3.2.2-0vl0.26 [481kB]
取得完了: 481kB を 0s (703kB/秒)
RPM コマンドを実行しています (-U)...
w3m                         ##################################################

hdparm

確認してみました。
# /sbin/hdparm -i /dev/hda

/dev/hda:

 Model=FUJITSU MPG3409AT E, FwRev=82B9, SerialNo=VH06T150CKP4
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=80063424
 IORDY=yes, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes: pio0 pio1 pio2 pio3 pio4
 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive Supports : ATA/ATAPI-5 T13 1321D revision 1 : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5
ATA(100)で動いてるようです。

ぶっくま〜く

。。。:

RADEONのセットアップ:

各種DVD-Rメディアの記録品位:

動画ファイルコンバート:


2002年12月24日(火)(自宅)

(自宅)

病院

MRI の結果、ヘルニアと断定されました。
MRI の写真を見させて頂いたのですが、 椎間板第4-5間の場所にヘルニアが出来ていて 神経を3分の1から半分程度、押し潰していました。 非常に分かりやすい程に症状が進んでいるようです。
来年に復活できるのか微妙な状況になってきましたので、 会社にどう伝えればよいのか悩むところです。
出来れば予定通り来年の頭から出社したいのですが、 今月頭にも復活できるという予想も外れましたし…。
とにかく早く報告しないと…

ぶっくま〜く

Webサービス関係リンク集:

図面の公開、市民の利益と逆転判決:

太田裁判長は、一昨年12月に同研究所の社員が
近くのJR高槻駅で放射性同位元素の液体をまいた事件や、
昨年6月に同研究所の排水から発がん性の疑いのある物質
(1、2―ジクロロエタン)が下水道法の排水基準の
2倍以上検出されたことを指摘。
「研究所の事業は人の生命や身体、健康を害する現実的な可能性がある」
と判断した。
さすが JT 様です。

米国を脅かすもうひとつの恐怖〜魔手伸ばすエコテロリズム:

b-geeks.com 2002 (電網公式):

WinMX 自身には興味ありませんが、P2P アプリケーションは、 セキュリティー的にシビアなんだと改めて思いました。

2002年12月25日(水)(自宅)

(自宅)

BIGLOBE カスタマーサポートから葉書

「初期設定でお困りではないですか?」と記してあるはがきが届きました。
※このハガキは、ご入会いただいてから BIGLOBE サービスのご利用
実績のないお客様へ送付されていただいております。
既にご利用されている場合には、本書の到着についてご容赦下さい。 
なるほど。(^^;
すばらしい気の配りようです。

ぶっくま〜く

役所の無線LAN筒抜け 気象庁や都庁、相次ぎ利用停止:

経済産業省では、情報システム厚生課の無線LANの電波が、
外部から受信できる状況だった。パソコンに、
「ハリー・ポッター」などの映画やドラマ、アイドルのビデオなど
多くの不正コピーソフトが蓄積されていた。 
やはり、セキュリティーが甘いとこういう部分もチェックされるのですね。 他山の石とする事にします。
あ。念の為にいいますと、 悪い事は洩らさないようにという意味でなく、 ライセンス管理はしっかりしようという意味です。
例えば、我が家の Windows PC には1つひとつに、 AntiVirus ソフトが入っていますが、 Norton x2 + Trend x 1 + McFree 1 のライセンスを購入してますので、 これらのライセンスが重複してないか神経を使わされます。

経産省、「迷惑メール」撲滅に向けて特定商取引法改正へ:

「末承諾メール米」のような人や法律を馬鹿にしたメールを受け取った場合は、 どこに送れば良いのかという話をした時に見付けた URL です。
meiwaku@nissankyo.jpに送れば良さそうですね。

Alertbox 2002 年 ウェブ・デザインの間違いトップ 10(2002年12月23日):

ジャスラックとは:


2002年12月26日(木)(自宅)

(自宅)

Java 調査

Thread 関連:

それらしい、URL を並べてみます。 「コンカレント・プログラミングでよく発生する問題を回避する方法」 myjxta2 で利用しています。
Semaphore Mutex, CondVar 等、普通のマルチスレッドライブラリであれば 実装しているはずのクラスを補完してくれる便利なパッケージです。 98 年ごろから存在していたらしいのですが、 同期メソッドと同期ブロックでこと足りるような簡単なコードしか 書いて来ませんでしたので、チェックしていませんでした。 生成消滅の頻度が高いスレッドは、プールしておいて、 使いまわす方が良いという話です。

JXTA 関連:

その他:

wav ファイルを鳴らすサンプルプログラム 猿でも理解できそうな程、平易に説明されています。 ちょっとした変数を保存する場合、 Properties で load & store するより、Preference の方が楽ですね。 ただ、Windows を利用する場合にレジストリに格納されるのが 嫌な感じがします。 JDK1.5 で C++ のテンプレートを連想させるような機能が追加されるそうです。
JDK1.4 以前 # Cast だらけで汚れたコード
Vector stringVector = new Vector();
stringVector.add("hoge");
stringVector.add(new Integer(1));
String s = (String) stringVector.get(0);
String s1 = (String) stringVector.get(0); // runtime error!!
JDK1.5 以降 # 型に対して安全なスマートなコード
Vector<String> stringVector = new Vector<String>();
stringVector.add("hoge");
stringVector.add(new Integer(1)); // compile error!!
String s = stringVector.get(0);
今までわざわざ型毎に StringVector 等のクラスを自作していましたが、 これで楽が出来るかもしれません。 なるほど。これですか…

2万円以下のIEEE802.11b無線LANアクセスポイント9機種を比較する

無線 LAN の A.P. を購入するように家族から命令を受けていまして、 悩んでいたのですが、たまたま IRC で無線 A.P. 比較のページを 紹介されていましたので、参考にしてみました。
比較結果 を読みますと、
37m 付近でも変わらず 4Mbps オーバーを記録するのは,
アイ・オー・データ機器,アクトンテクノロジィ,アドテック,
プラネックスコミュニケーションズの4製品で,
これらは無線LANカードによる差もあまり生じていない。
と説明されていましたので、この中で、 「WAN 側 100MBps 対応 & 長距離通信」という条件に合う アドテック ADLINK340AP を最有力候補にしました。
この記事の best choice とされている製品でもありますので、 なんとなく記事に踊らされているような気もしますが… (^^;

ぶっくま〜く

マスコミの威力:

「藤島助役は、「公務で忙しい」(市秘書課)として取材に応じなかった」
というのは、現実に15年度予算の審議をしている真っ最中に予約もなく
取材申し入れをして直ちにコメントをよこせという方がおかしいのではないのか?
その日も午前中であれば時間はあったのに、
取材をしたいという話は全く聞いていなかった。
「取材に応じない」って文章を読むと、ついやましい事があるのではと 勘ぐってしまいますが、こういう事情もあるのですね。 (非常識で横暴な無礼極まりない)取材に最優先で対応してくれなかったりして機嫌を損ねると、こういう仕打ち待っているという事で 記事は気をつけて読まないといけないものだと考えさせられます。

「聖母はレイプ被害者」説の英番組に世界中から抗議:

当時、ヨセフ(←養父)の子と呼ばれず、 ガリラヤ(←地名)のイエスと呼ばれてたように、 イエスが周りから私生児として差別されていたのは事実らしいので、 否定は出来ないと思いますが、 せっかく、 千年以上に渡って築き上げて来た純潔の象徴としてのマリアのイメージを 今さらわざわざ崩そうとするのは、非常に勿体ない事だと感じます。
人が苦労して作ったものを壊す事に快感を感じるのは分かりますが、 それは背徳というものです。
僕はイエスには神の子であって欲しいと思います。 信仰心があるという訳ではなく、 そうでないと夢がありませんし、 神様は一人でも多い方が安心できるという、 むしろキリスト教と逆の方向でそう考えます。
中世ヨーロッパの頃のように教会が権力に取り入って他宗教を弾圧したり民衆を家畜のように支配するようになれば、自分もこうしたネガティブキャンペーンに乗せられるかもしれません…

長引くIT不況「撤退」後絶たず シリコンバレー 寂しい聖夜:


2002年12月27日(金)(自宅)

(自宅)

ぶっくま〜く

ご当地の踏み絵:

語尾は「じゃん」より、「べや」とか「だべ」を使うほうが多い。
これは、関西出身者に指摘されて始めて気付きました。

Windows 98-Me リソース不足の対策:

今だに、Windows98 を捨てられない自分としては、リソースはいまだ鬼門です。

知られざる世襲公務員たち −特定郵便局の研究−:

自民党の票田という事以外、情報がないのでどこまで本当か分かりませんが…

2002年12月28日(土)(自宅)

(自宅)

購入リスト

家の人が購入したものですが、家族で共有して使っています *1 ので、一応メモとして残します。

液晶テレビ FlexScan L465-BK:

無線 A.P. ADLINK 2422:

以前購入した Melco の A.P. と段違いといって良い程に快適です。 一階と二階で離れて使っていても、ssh で問題無く作業が出来ます。
また、A.P. に付属している 22M の無線カードを VAIO SRX7 に差して巨大なファイルを転送してみたところ、 A.P. の周辺では、4,5M Bps 程の速度が出ました。
尚、この実験のあと、VAIO SRX7 の内蔵無線 LAN 機能が 全く使えなくなりました。ADTEC のカードを外してもダメです。 同様の事をお試しになる方は重々お気をつけ下さい。(ρ_;
続く

*1: 恐らく、自分が一番使用頻度が高いと思いますし。

ぶっくま〜く

飼い主の死後、残されたペット達は…:

自分の死後残されるペットの行く末を心配する飼い主が増えている。
高齢化でペットとだけ暮らすお年寄りも多く、猫を終身で預かる施設も登場した。
これのハードディスク版を作るのはどうでしょう。
PC の箱等に連絡先を記した紙を張っておいて、 持ち主が死亡した時に(秘密の遺書に従って)確実に処理してくれるような…

icom AP-5000:

この会社の作るアンテナと増幅回路の性能が良いらしいと聞きましたので、 一応チェックです。
ADTEC のを購入する前に知っていれば… (泣

RBB TODAY (ブロードバンド情報サイト)-2002-12-27 [年末企画]無料サービスと立ち上がったばかりの有料サービスのせめぎ合い−公衆無線LANの「この1年」:

監視カメラ

このところ家の前にポイ捨てされるタバコの吸殻の数が半端でなくなった事と 年末になると人の家に火を放って暖まる方々が増える事もあり、 家が火事になる前に今すぐ動かせと家の人から命令を受けましたので、 かなり 今さら ですが、 監視カメラの画像を保存する仕組みを作ってみました。
# 所用時間 8 時間のでっちあげ作業

システム構成:

今となっては貧弱なシステムです。 MMX でさえありません。
  • NetBSD1.6 (GENERIC kernel)
  • PentiumPro 200MHz (512M cache)
  • メモリ 64M + ハードディスク 7G Bytes強
  • Intel Smart Video III/VideoLogic Captivator PCI (ビデオ入力2系統)
  • SECOM の監視カメラ 2台

NetBSD 1.6 インストール:

NetBSD 1.6 iso イメージから吸い出した boot1.fs が壊れていたようで、 ftp サイトから boot1.fs ファイルを単体で持ってきてブートフロッピーを作成しました。 *1 パーテーションは、 / (4G) + swap (128M) + /var (3G) としてます。
/home -> /var/home のシンボリックリンクを張って home を var に含む事で、 頻繁に書き換えるパーテーションを /var に閉じ込める事にしました。

NetBSD 環境構築:

cvs で取得した pkgsrc を利用したかったのですが、
cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot login
<パスワード>
cvs -d :pserver:anoncvs@sup.jp.netbsd.org:/cvs/cvsroot co -r netbsd-1-6 pkgsrc
以上のコマンドで反応なしでした。 まだ、ネットワークの設定に問題があるのかもしれません。
仕方なく、pkg_add で必要なパッケージを一つ毎に加えていく事にします。
pkg_add ftp://ftp.jp.netbsd.org/pub/NetBSD/packages/1.6/i386/All/〜
作業用
bash-2.05nb1.tgz, emacs-21.2.tgz, wget-1.7.tgz
日本語処理
nkf-1.7.tgz, ja-less-358.tgz, Canna-dict-3.5.2nb2.tgz, Canna-server-3.5.2nb2.tgz
キャプチャ用
SDL-1.2.3nb2.tgz, jpeg-6b.tgz, fxtv-1.03nb1.tgz
システム構築用
apache-2.0.43.tgz, perl-5.6.1nb7.tgz, ImageMagick-5.3.9nb1.tgz (mkthum.pl 用)

FreeBSD BT848 / BT878 Driver:

このサイトの Sample applications から bktr2jpeg.c を拝借しました。 bktr2jpeg.c の先頭に #if 0 〜 #endif で括られたシェルスクリプトが含まれていまして、
sh bktr2jpeg.c
のように実行すればコンパイルが始まります。
ただ、これは、FreeBSD の環境しか考えていないようですので、 自分の環境に合わせて変更しないといけません。
#if 0
	set -x
	cc -Wall -O2 -I/usr/local/include -L/usr/local/lib -o bktr2jpeg \
		bktr2jpeg.c -ljpeg
        exit
#endif
キャプチャマシンは、NetBSD 環境ですので、
#if 0
	set -x
        gcc bktrd.c server.c \
                -I/usr/pkg/include/ -L/usr/pkg/lib -R/usr/pkg/lib -ljpeg
        exit
#endif
このように変更しました。
ただ、これだけ変更しても、 以下の2箇所でヘッダが見付からなくてエラーになります。
#include <machine/ioctl_meteor.h>
#include <machine/ioctl_bt848.h>
そこで、NetBSD のヘッダーファイルを検索したところ、 このヘッダと同じような定義を持つ <dev/ic/bt8xx.h> を見付けました。
#include <dev/ic/bt8xx.h>
上記のヘッダに変更したところ。無事にコンパイルが通りました。

bktr2jpeg の使い方:

使いかたは bktr2jpeg の Usage を読めば分かります。
Usage: bktr2jpeg [-f filename] [-s input] [-d device_number] [-w width]
 [-h height] [-q quality] [-v]
自分が使っているキャプチャカードは、ビデオ入力が 2 つあって、 監視カメラ2台を各々に繋げて、両方の画像を参照しようとしてますので、
bktr2jpeg -f cap0.jpg -s 0 
bktr2jpeg -f cap1.jpg -s 1 
のようにコマンドを実行して、0 入力と 1 入力 を取り込む事にします。

capture loop:

大雑把にいうと以下のようなスクリプトを作成しました。 (実際のコードはエラー処理が沢山はいってて、読みにくいです…)
my $base_dir = "〜/htdocs";
while(1) {
	my ($dir_time, $file_time) = make_dir_time(time());
	foreach my $input (0 .. 1)  {
		 my $dir = $base_dir . $input .'/' .$dir_time;
		`mkdir -p $dir`;
 		`bktr2jpeg -f $dir/$file_time -s $input`;
	}
}
make_dir_time は、
sub make_dir_time($) {
    my $time = shift;
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
	localtime($time);
    $year += 1900;  $mon += 1;
    my $dir = sprintf "%04d/%02d/%02d/%02d/%02d",
	$year, $mon, $mday, $hour, $min;
    my $file = sprintf "%02d.jpg", $sec;
    return ($dir, $file);
}
これで、時系列でディレクトリに分別されて保存されます。

Web 経由でキャプチャした画像を閲覧:

CGI で(これまた大雑把ですが)以下のようなコードを作成しました。
my $time = time();
my $before;
for($before=0; $before<20; $before++) {
	my $base_dir = '/home/yoya/public_html/cap' . $input;
	if (-f join('/', make_dir_time($time - $before))) {
		last ;
	}
}
my ($dir_time, $file_time) = make_dir_time(time() - $before);
<$dir_time と $file_time を元に、img src のリンク先を決定>
要するに、現在の時間から 20 秒まで遡って最新の画像を調べる処理です。 あとは対応する画像を img src で張りつけて、ヘッダの所に
<META HTTP-Equiv=refresh CONTENT=1; URL=".">
の一行を挿入して、それらしいページが完成しました。

ToDO:

この作業にあまり時間をかけたくなかったので、 でっちあげで単純に画像を保存するだけの仕組みを作りましたが、 本来なら以下の仕組みを作る必要がありますし、 そっちの方が重要だとさえ思います。
何か問題があった時に、画像からそれを検索出来るようにする。
画像の差分を毎回とって、差分が激しい画像 のみピックアップ。 更に、グラフにして どの時間帯の画像に多くの変化があるのか 一見して分かるようにする。
JPG 画像は全てネットワーク経由で別のサーバに転送する。
CPU が貧弱なので、キャプチャ以外の処理をさせると、画像の取りこぼしや画質の劣化 が生じる。
プロセスの起動回数を減らす。
bktr2jpeg をそのまま使うので、filename や input 元を指定し直して何度もコマンドとして起動してる分、負荷が高い。 bktr2jpeg.c を改造して、bktr2jpeg コマンドの内部でループさせる方が良い。
他にやるべき事が山程ありますので、これらは手つかずになりそうです…
現状では、何かあった時に目的の画像を探す為に、 mkthum.pl を動かして、サムネイル表示をしていますが、 それでもまだ大変な手間がかかります。
どなたか 2つの jpg ファイル画像の差分を評価するツールを御存じだったりしませんか? (^^;
# 他力本願

役に立ちそうページ:

以下は audio device や X windows system が必須でしたので、 (時間も無い事ですし)使うのをあきらめましたが、 有用そうですので、ブックマークとして残しておきます。 このパッケージに含まれる、udpsend, udprecv はそのまま流用できそうです。
./configure
	    --libdir=/usr/pkg/lib --includedir=/usr/pkg/include \

	    --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib \
    	     --with-sdl-prefix=/usr/pkg

 make CC="gcc -I/usr/pkg/include"
としましたが、oss が入ってない為に一部コンパイルが通りませんでした。 NetBSD pkg にも入っていたました。 そのうち、X Window の設定をする暇があれば試そうと思います。
# 現在の仕事のスタックを見る限り、永久にその機会は訪れないと思いますが…

*1: boot2.fs のフロッピーを入れた時点で I/O error が出ましたので、 (てっきり、boot2.fs が悪いと思い込み) boot1.fs のフロッピーに問題があると気付くのに時間がかかりました。

2002年12月29日(日)(自宅)

(自宅)

監視カメラ

朝起きて、昨日作成したツールで画像カメラの映像を確認しようとした所、 画像が何も送られてこない状態でした。 コードを見直したところ、fork した子プロセスの後始末を忘れている箇所がありました。
$SIG{'CHLD'} = sub { wait; }; # no more zombie
魔法の呪文を一行追加。:)
続く

。。。:

今回のシステムでは、子プロセスが同時に死ぬ確率はほとんど無いので (おそらく)問題にはならないのですが、念の為、
$SIG{'CHLD'} = sub { while(wait3() > 0) { } };
にするべきですね…
続く

ぶっくま〜く

ジャンクプレステ復活作戦2:

名古屋はええよ!やっとかめ ちまき亭:


これで、10 日分だよ〜。

タイトル一覧
カテゴリ分類
Database
JXTA
Java
XML
awm
bookmark
keyword
memo
news
research
Powered by hns-2.19.5, HyperNikkiSystem Project