• 締切済み

Webカメラように頻繁に画像を更新したい

Webカメラの画像にスーパーインポーズ加工した画像をホームページに表示させたいと思っています。 1秒間隔以内で画像更新を前提としています。 カメラ側のソフトはキャプチャ、スーパーインポーズ処理、JPEG、アップロードと何とか作れるのですが IEなどで表示するソフトはどんな言語や手法を採ればいいか分かりません。 頻繁に更新される 640x480 サイズの画像をシステム負担の少なくきれいに1秒間隔で表示するために 採用すべき言語、手法を教えてください。 また、この部分を個人の方に開発のお願いするといくら位でお願いできるのでしょうか? よろしくお願いします。

みんなの回答

  • kacchann
  • ベストアンサー率58% (347/594)
回答No.2

JavaScriptによるアニメーションに、CGIを併用しても 実現できる…かも。 (実はJavaScriptのことよくわかりません。CGIもよくわかってません) --- JavaScriptを使えば、 「あらかじめ用意してある画像 数枚」を 順次、更新表示(※上書き表示)することによって、 アニメーションができると思うのですが、 (こういうのかな? http://www.scollabo.com/banban/java/jvsample_011.html ちょっとよくわからない) この応用でできそうな気が…するようなしないような。 (サーバに画像をアップする際にも、工夫がいるかも) でも自信ないのでとりあえず自己却下。(?) ここ http://www.sgi.co.jp/solutions/security/viewranger/demo/notice.html を見て、JavaScript(とたぶんCGIの併用)でやってるっぽいので、 「簡単にできるのなら、感動だよなあ。」 と思って書いてみました。 --- そもそも#1さんの回答を見て 「これはすごい! JavaScriptでできるなんて!」 と思い、それからちょっと調べてみました。 すると、同様の議論があったようです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1104885 --- CGIについて言えば、これを試してみるのもいいかも。 http://www.geocities.co.jp/SiliconValley-PaloAlto/5044/peep.html (「3.3 サーバープッシュ」) ただしこのようなMotion-jpeg方式(mjpeg方式)のデータを標準でサポートしているのは NetscapeやMacのIEらしく、WindowsのIEは(標準では)サポートしてないらしいです。 --- クライアント側(閲覧側、ビューア)を自前でつくる場合は… ネット上を見た限り、 Webカメラに付属のもの(※IE上などで動くビューア)は ・ActiveXコンポーネント製 ・Javaアプレット製 などがあるみたいです。 (ただ、「製品ごとにマチマチ。オマケ」という印象も受けます) --- Javaアプレットについていえば、 複雑なことをやらなければ、 非常に短いソースコードで済むようです。 (前述の http://www.geocities.co.jp/SiliconValley-PaloAlto/5044/peep.html) 開発依頼交渉の参考に。(?) --- 時間があれば自分でも作りたい、とは思っているのですが…。 なんら答えになっていませんが、 ご容赦くださいませ。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1104885
ByMySelf
質問者

補足

ありがとうございました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1104885 は試しましたがそのままだとキャッシュを働き、キャッシュを働かない様にすると点滅してしまいます。 また、半分しか表示されない時があるなど動作に問題がありました。 J++をinstallしてJave Applteを試したいと思います。

  • deadlock
  • ベストアンサー率67% (59/87)
回答No.1

画像を表示しているHTMLの<HEAD></HEAD>の間に <META HTTP-EQUIV="Refresh" CONTENT="1"> ではいけませんか?1秒毎の自動更新が出来ます。 もしくは、JavaScriptを使ってもいいのであれば、bodyタグのonloadなどに更新の処理を記述することも出来ます。この場合には、再読み込みのタイミングをミリ秒単位で指定できます。下記の例では、500ms(=0.5秒)で再取得します。 <BODY onload="setTimeout('window.location.reload()',500);"> どちらを使用する場合にも <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> をHEADタグの中に書いてブラウザのキャッシュ機能をOFFにしたほうがいいでしょう。 注意点 ・画像などは完全に読込みなおしです。  当該ページへのリンクを1秒毎にクリックされているのと変わらない状態ですので、差分取得用のJavaAppletなどを作成するのに比べるとネットワークやサーバへの負荷は高くなると思います。 ・ブラウザなど、ユーザ環境に依存する  どちらもブラウザが処理をサポートしていなかったり、ブラウザの設定などで処理を禁止されていたりすることがあります。 個人で使用するだけであれば、この点はあまり気にする必要はないでしょう。 ・画像を完全に読み終わる前にページの再読み込みを行うブラウザもあるかもしれません

ByMySelf
質問者

お礼

ありがとうございます。 > <META HTTP-EQUIV="Refresh" CONTENT="1"> については実験して1秒間隔でテストしましたが、画像が安定しておらず、点滅するなど見るに耐えない状態でした。 注意点を示していただきありがとうございました。

関連するQ&A

専門家に質問してみよう