flashにウェブカメラを埋め込むにはどうすればよいのでしょうか。
こちらのページにあるようなものです。http://ieiriblog.jugem.jp/

このQ&Aに関連する最新のQ&A

A 回答 (4件)

どの形式で配信される動画でもそうですけれど、リアルタイムで更新される映像を他のパソコンに送るとなると、これは末端(クライアント)だけの努力では無理で、サーバーの力を借りる必要があります。


Flash の場合ですと、この手の処理を引き受けてくれる、Flash Communication Server というサーバー製品があります。
Web カメラの映像を他のパソコンに送り、Flash Player で再生するならば、Flash Communicaion Server が稼動しているサーバーを見つけるか、あるいは自分でサーバーを立ててこのプログラムを稼動させることが最初の1歩になると思います。

--------------------------------------------------------

Flash MX 2004 からは Camera というクラスが登場し、パソコンにつないだビデオカメラの映像を Flash にキャプチャ(カメラに映ったものを Flash ムービー内に映す)できるようになりました。
本来はネットワーク上にある Web カメラを制御するためのクラスだそうですが、ローカルにつないだカメラの映像をそのパソコンで映すだけなら、サーバーと連携しなくても Flash MX 2004 以降の Flash があれば可能です。

まず、パソコンにカメラを接続してください。
カメラの映像を正常にパソコンにキャプチャできるようになったら、Flash Player を起動し、右クリック( Mac では control +クリック)でメニューを出し、「設定」を選択してください。Flash Player に関するメニューが開きます。
右端のアイコンがカメラの設定です。リストから使用するカメラを選択してください。


カメラの映像は、Flash ムービーの中にはない、外部の情報です。
Flash ムービーの外にある JPEG 画像や swf ファイルを読み込んで表示するのにムービークリップが必要であるように、カメラの映像を Flash に表示する場合も受け皿が必要です。
ただ、カメラの映像は静止画や swf ファイルとは性質が異なるため、ムービークリップには読み込めません。
カメラの映像を受け取るには、ビデオオブジェクトという専用のオブジェクトを用意します。

「ライブラリ」パネルの右側にあるアイコンをクリックしてメニューを出し、この中から「新規ビデオ」を選択してください。空っぽのビデオシンボルが作成されます。
これを、普通のシンボル同様にステージにドラッグしてインスタンスを作り、名前を付けます。ここでは仮に、” camera_view ”と付けたとします。
ムービークリップを配置すると、それだけで MovieClip クラスの各機能が利用できるようになるのと同じで、ビデオシンボルのインスタンス(ビデオオブジェクト)を配置すると Video クラスの各機能が使用可能になります。


カメラの映像をこのビデオオブジェクト内に表示するには、スクリプトでカメラを検出し、カメラとビデオオブジェクトを関連付けます。
関連付けには、Video クラスの attachVideo メソッドを使います。

次のようなスクリプトをフレームに設定して、「ムービープレビュー」で確認してみてください。
最初に、カメラへのアクセスを許可するかどうかのダイアログが表示されます。
ここで「許可」を選ぶと、カメラが正常に接続されていれば、ステージに配置したビデオオブジェクト中にカメラの映像が表示されます。

(↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください)


 //カメラを検出
 camera_obj = Camera.get();

 //ビデオオブジェクトとカメラを関連付ける
 camera_view.attachVideo( camera_obj );


キャプチャの画質やフレームレートは、Camera クラスの機能を利用して細かく設定できます。
詳しくは、ヘルプの「 Camera クラス」の項目をご参考になさってください。
ただし、外部のデバイスを使う以上はカメラの性能にも左右されますし、動画の処理はパソコンにも多大な負担をかけます。
スクリプトでいくら精度の高いキャプチャを実現しようとしても、カメラやパソコンの能力によっては希望通りの結果にならない場合もあります。

なお、Camera クラスでは音声を拾えません。
音声を拾うには、マイクを制御する Microphone という別のクラスを使います。
マイクの音を出すには、ビデオオブジェクトではなくムービークリップに関連付けます。
先のスクリプトに


 //マイクを検出
 mic_obj = Microphone.get();

 //ダミーのムービークリップを作り、マイクを関連付ける
 this.createEmptyMovieClip( "audio" , 0 );
 audio.attachAudio( mic_obj );


というスクリプトを追加してください。
Flash Player の設定には、マイクを設定する項目もあります。(カメラの、隣のアイコンです)
ここでカメラと同じデバイスを選択しておくと、カメラから入力された音声を拾うことができます。


カメラの映像をキャプチャする基本は、実はたったのこれだけです。
Web カメラや Flash Communication Server のことは詳しく分かりませんが、カメラやマイクを取得する部分( Camera.get および Microphone.get )を、おそらく、Flash Communication Server から送られてくる情報を元に指定することになるのではないかと思います。


カメラの映像が Flash にキャプチャされる時は、FLV という、Macromedia が提唱した独特の動画形式になっています。
FLV 形式は Flash でストリーミング配信したり、動画をムービー内に埋め込まずに JPEG 画像や swf ファイルのようにムービー外に置いて自在に読み込んだりすることができる動画形式です。
今回は扱いませんでしたが、Web カメラの映像がサーバーから FLV 形式で送られてくる場合は、NetConnection クラスでまずサーバーとの接続を確立し、NetStream クラスで表示するフレーム等を制御する、といった流れになります。

ネットワーク経由ですと、セキュリティや通信の中断・デバイスの検出に失敗した場合などの処理などが絡んで難しいです。
まずは、ローカルにつないだカメラの制御や FLV 形式の動画の制御から研究してみるといいと思いますよ。
    • good
    • 0

度々すみません。

#2です。
下の参考URL欄,長すぎたのか,日本語がまじっているからか,文字化けして,ちゃんと表示できませんでした。

ので,改めて。
http://www.google.co.jp/search?hl=ja&rls=GGLD%2C …
    • good
    • 0

わっかりましたー!


#1です。

わかったと言うのは,答えじゃなくて,ウェブカメラがあるゲームボーイのページです。
スミマセン。単なるゲームかと思ってしまっていました・・・。

ついでに別件で私がココで,つい最近回答したサイトでもありました。
「質問:ブログのサイドバーにつける「ティッカー」を自作したい」
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1765489
 ↑教えて!goo  ↓OKWave (同じ物です)
http://okwave.jp/kotaeru.php3?q_id=1765489

ここのサイトは有名なのですか。
ぜんぜん最近まで知りませんでした。


でも,あらてめて下の参考URL↓のように検索したり,
いろいろしているとわかったのですが,このサイトの作成者さん,スゴイ方のようですね。

そこのブログサイトの作成者だけではなくて,
JUGEM自体の経営者でもあり,
超有名なロリポップとかの経営者の方でもあるみたいじゃないですか~ぁ!
はーぁ。スゴイ人。

単なるブログサイトや,レンタルサーバではやはり無理だと思います。
やはり普通の人なら,自宅サーバにするとかしないとできないと思います。
ティッカーは趣味兼サーバのPRで作っていらっしゃるのではないでしょうか。

参考URL:http://www.google.co.jp/search?hl=ja&rls=GGLD%2C …
    • good
    • 0

書かれているサイトに


ウェブカメラ映像を表示したFlashが見つからなかったのですが…

いわゆるウェブカメラとは,

「カメラ映像をネットワーク(インターネット)を 通じてパソコンや携帯電話で見ることができるカメラ」
http://iwatsu-inet.co.jp/webcam.html
Linuxサーバーを内蔵したインターネット配信に特化したシステムです。
http://www.shizu-net.com/website/lecture/web-cam …

というようなもので,
「Flash Communication Server MX」 みたいなのが必要だと思います。
http://www.mzu.co.jp/solution/flashcom/casestudy …



 = = = = = = = = = = =

書かれているサイトのウェブカメラというのはここのページのことでしょうか?
http://ieiriblog.jugem.jp/?eid=568

「携帯→メール解析→ffmpegでFLV変換→DB登録てな流れです。」

と書かれていますから,なんかそういう流れなのでしょう。
サーバプログラムで FLV に変換しているのでしょうね。
ブログですから,作り方をサイト構築のご本人に直接問い合わせてみるのが一番だと思います。


 = = = = = = = = = = =

でも,別にサーバ上でしなければ簡単な話です(???)。

1 カメラで撮った動画を,Flashで読み込める形式にして保存
2 そのファイルをFlashで読み込んでSWFに変換
3 そのSWFを loadMovie か MovieClipLoader でSWFに読み込む

という手順でできます。
私にとっては, 1 が難しいです。
カメラの機種やPCとの接続方式や動画保存ソフトをどうすれば良いのかわかりません。
また,Flashの読み込める形式にする方法もソフトによって変わるので回答できません。
でも日頃からやりなれている方であれば簡単ですよね。
「読み込み可能な動画ファイル形式について」
http://www.macromedia.com/jp/support/flash/ts/do …

2 3 は別に意識することなく,普通にSWFを扱うようにすれば良いだけです。
「MovieClip.loadMovieで外部ファイルを読込む」
http://www.fumiononaka.com/TechNotes/Flash/FN030 …
「MovieClipLoaderクラスについて」
http://www.fumiononaka.com/TechNotes/Flash/FN050 …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

>書かれているサイトに
>ウェブカメラ映像を表示したFlashが見つからなかったのですが…

…とのことですが、
右にある緑色のゲームボーイのような
ものの画面がflashで出来ていて、
ウェブカメラになっています。
(テキストで、あなたのブログにも僕を。
と書いてある部分の上。)

今は夜なので暗くてよく見えませんが
朝や昼間になれば人の姿も
出てくるのでよく分かると思います。

↓今回の御質問ではこのこと(↓)をお聞きしたいわけではなかったのですが
 ご説明くださってありがとうございました。色々為になります。

> 書かれているサイトのウェブカメラというのはここのページのことでしょうか?
> http://ieiriblog.jugem.jp/?eid=568
>
> 「携帯→メール解析→ffmpegでFLV変換→DB登録てな流れです。」
>
> と書かれていますから,なんかそういう流れなのでしょう。
> サーバプログラムで FLV に変換しているのでしょうね。
> ブログですから,作り方をサイト構築のご本人に直接問い合わせてみるのが一番だと思います。

お礼日時:2005/11/20 19:43

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qhttp://www.geocities.jp/tk_0123456789/determination/index01.htmlをmxではなくswishで作れますか。

swishでもできるのでしょうか。できるとしたら、ちなみに難易度はどれくらいでしょうか^^当方初心者です。

Aベストアンサー

はじめのNowloadingの部分の作り方はわかりませんが、そのほかは比較的簡単です。
あらかじめillustratorなどで文字を作成しておいて読み込んでもいいし、Swishで文字を作成という手もあります。
左上のロゴはフェイドインを使用して、右側のメニューはスライドインを使用。画像もフェイドインフェイドアウトで作れるし。

メニュー部分の参考として
http://kei-web.milkybox.jp/cheerswish/top.htm
の中のTipsの中のNo.2を見て見るといいと思います。
動くボタンの作り方がわかりやすく出ています。

Qhttp://level0.kayac.com/2009/04/ie.

http://level0.kayac.com/2009/04/ie.php

上記のサイトの説明にあります、

wmode="window"

に、ついて分からないので教えてください。

どこでどう設定するのか、、。

さっぱり分かりません。

どなたか教えてください。

Aベストアンサー

「設定?」 と訊かれましても
何のソフトでの設定かわからないので誰も答えようがありませんが,
wmode="window" は,
基本的には設定とかそういうものではなくて
SWFファイル(Flashの閲覧用ファイル)をHTMLに貼り付けるときのパラメータです。

HTML作成ツールによって「設定?」は変わりますし
場合によっていわゆる「設定」ではできないソフトもありますし,
タグによって,また,JavaScript を使用した場合と使用しない場合など,
様々な場合があります。

何にしても
SWFファイル(Flashの閲覧用ファイル)をHTMLに貼り付けるときのパラメータです。
テキストエディタなど(またはHTMLエディタのソース編集)でその該当部分を追加するとか書き替えれば良いと思います。

Google検索「object embed wmode="window"」
http://www.google.co.jp/search?hl=ja&q=object+embed+wmode%3D%22window%22

Q探してるFLASHサイトがあるのですが.......

昔見たFLASHで、
時計があり、その時計はぐるぐる回っていて、
隣にいる女の人がこの世のものとは思えない不思議な言葉(歌?)を延々言い続けるというFLASHなのですが、ご存知の方いらっしゃいますでしょうか?

Aベストアンサー

たぶんこれではないでしょうか??

女の子が時計の中で笑ってるバージョンですが。
私も気になって仕方が無いです。

 

参考URL:http://pya.cc/pyaimg/pimg.php?imgid=29546

Qflash mxで処理を待機させておく方法は.....?

以前にも質問させていただいたのですが、非同期処理であるという事にも手こずって、どうしても解決できなく行き詰ってしまっています。
スクリプトの途中だけの部分ですが
再帰の中で
// ここで実際に○を移動させる
Pofmaru1(l);
Pofmaru2(r);

再帰の外で
// maru1を移動させる関数Pofmaru1
function Pofmaru1(l) {
if (l == 1) {
gotoAndPlay("maru1",2);
}else if (l == 2) {
・・・・・・

// maru2を移動させる関数Pofmaru2
function Pofmaru2(r) {
if (r == 1) {
gotoAndPlay("maru2",2);
}else if (r == 2) {
........
と書いてレイヤーmaru1とレイヤーmaru2の指定フレームへ移動しムービー再生後にソートプログラムへ戻り次の処理へ移るようにしたいのですがwhile文でflagを使い処理を待たせることを考えたのですがflashは非同期であるためflagの値のやり取りが上手く行きませんでした。
タイミング処理においてコールバック関数というものがあるという所に行き着いたのですがプログラムがあまり得意でなくイマイチ理解することができません・・。
flash mxで処理を待機させておくといったことを実現するにはどのように対処するといいのでしょうか?
何かアドバイスください。お願いします。

以前にも質問させていただいたのですが、非同期処理であるという事にも手こずって、どうしても解決できなく行き詰ってしまっています。
スクリプトの途中だけの部分ですが
再帰の中で
// ここで実際に○を移動させる
Pofmaru1(l);
Pofmaru2(r);

再帰の外で
// maru1を移動させる関数Pofmaru1
function Pofmaru1(l) {
if (l == 1) {
gotoAndPlay("maru1",2);
}else if (l == 2) {
・・・・・・

// maru2を移動させる関数Pofmaru2
function Pofmaru2(r) {
if (r == 1) {
gotoAndPlay("maru2",2);...続きを読む

Aベストアンサー

#1&2 です。

>> if文通りに処理されなく、
>> タイムラインに書かれた順番で
>> ムービーが再生されてしまいました・・・・。
>> なぜそうなってしまったのか、わからないのですが・・・・?

と言われましても,こちらも FLAファイル が見えない以上,
どういう状況かが全くわからないので,わかりませぬぅ…
困った。
(FLAファイル を見てもわからない可能性は大ですが。)


とりあえず,
第一の最低条件は,
Flash は 本来アニメーションソフトですから,
メインムービー( _root )も,ムービークリップも,
stop(); など止めるスクリプト何処かに書いておかなければならないということです。
何かそれらしいことを何処かに書かないと,
それぞれのタイムラインは,表示と同時に再生しはじまめす。
(フレームが 1フレーム しかないときだけは話が別です。)


次の最低条件は,オブジェクトのあるなしです。
例えば,100フレーム のメインムービーがあったとして,
50フレーム目から maru1 というムービークリップが登場したとします。
メインムービーの 1フレーム目で,

maru1.gotoAndPlay(2);

と書いても,
1フレーム目では,まだ maru1 というオブジェクトは存在していませんから,に命令は届きません。
仮に(超仮にで,実際はないことです。),
maru1 が gotoAndPlay(2); したとしても,50フレーム目まで行かないとそれは確認できませんから,
確認した時には,maru1 は,どこか別のフレームに移動しているでしょう。

ここまでが最低条件で,
ここまでではたいていの方はミスしませんし,
ミスしてもだいたいすぐに気づきます。


多くの方が,最もミスに気づかず詰まるポイントはパス(階層(住所))です。
変数や関数には,それらが存在するパス(階層(住所))があります。
パスがあるからこそ,分類や場合分けができるので大変便利なのですが,
このパスの問題で詰まる方が多いようです。
「Flashで,思うように動かないのはパスが原因だと思え。」
と,よく言われます。
パスとは,ムービークリップ間でのお互いの住所と思って良いと思います。
実は,メインムービー( _root )も1つのムービークリップです。
#2では,階層は1つしか増やしていませんが,実は無数に階層は増やせます。
簡単に言うと,ムービークリップの入れ子はいくらでもできるということです。
(当然限度はありますが,先に人間の階層管理や記憶の方が限界が来るでしょう。)
「F-site ターゲットパス」
参考URL: http://f-site.org/articles/2002/01/26153958.html


こちらの都合したものばかりで,大変申し訳ありませんが,
#2 の 少しだけ延長を作りました。
単なる簡単な例です。

メインムービーは相変わらず,

 □ レイヤー 筆・・|●|

のままで,その上にレイヤーを1つ追加します。
(追加しなくても良いと言えば良いのですが
 スクリプトを書くレイヤーは分けた方が
 都合が良い場合が多いです。)


 □ レイヤー 筆・・|○|
 □ レイヤー 筆・・|●|

上の空白キーフレームにスクリプトを書きます。

----------------------------------
// maru1を移動させる関数Pofmaru1
function Pofmaru1(l) {
// l が 1 だったら maru1 を フレーム2 へ
if (l == 1) {
_root.maru1.gotoAndPlay(2);
// l が 2 だったら maru1 を フレーム15 へ
} else if (l == 2) {
_root.maru1.gotoAndPlay(15);
}
}

// maru2を移動させる関数Pofmaru2
function Pofmaru2(r) {
// r が 1 だったら maru2 を フレーム2 へ
if (r == 1) {
_root.maru2.gotoAndPlay(2);
// r が 2 だったら maru2 を フレーム20 へ
} else if (r == 2) {
_root.maru2.gotoAndPlay(20);
}
}
----------------------------------

これは最初に, Pofmaru1,Pofmaru2 を定義しているだけです。


そしてインスタンス名 maru1 の フレーム1 のスクリプトには
---------------------
stop();
---------------------
と書きます。
上記,「第一の最低条件」で書いたことです。
これで, maru1 は勝手に進み出しません。

そして,
インスタンス名 maru1 の 最終フレーム のスクリプトは
----------------------------------
stop();
r = Math.floor(Math.random()*2)+1;
_root.Pofmaru2(r);
----------------------------------
のように書きかえます。

変数r にランダムな 1 か 2 を入れ,
その r を持って, _root の Pofmaru2 という関数を実行する。
ということです。
Pofmaru1,Pofmaru2 は _global な関数で定義していないのでここにもパスが必要です。
http://www.fumiononaka.com/TechNotes/Flash/FN0205003.html
また,ここの変数r は, _root の 変数r ではありません。別物の r です。
メインムービーの 変数r をあえてパス付きで書くと,
_root.r です。
このムービークリップの r はパス付きで書くと,
_root.maru1.r です。
この,_root.maru1.r を持って, _root の Pofmaru2 を実行します。


そしてインスタンス名 maru2 の フレーム1 のスクリプトにも
---------------------
stop();
---------------------
と書きます。

そして,
インスタンス名 maru2 の 最終フレーム のスクリプトは
----------------------------------
stop();
l = Math.floor(Math.random()*2)+1;
_root.Pofmaru1(l);
----------------------------------
のように書きかえます。

これで,パブリッシュしても,
関数を定義しただけで,maru1 も maru2 もストップしたままなので,
何にも起こりません。
最初の1歩を進ませるものが必要です。

そこで,メインムービーの フレーム1 にボタンを作ります。
何でも良いので塗りで ■ を書いて,ボタンシンボルに変換します。
そして,そのボタンシンボルには以下のように書きます。

--------------------------
on (release) {
A = 1;
Pofmaru1(A);
}
--------------------------

回りくどいスクリプトですが,これで,
Pofmaru1(1); が実行されます。
つまり,if の分岐により
_root.maru1.gotoAndPlay(2); が実行されるということです。

ボタンシンボルは階層を持ちません。
_root にあるボタンなので,Pofmaru1(); で _root の Pofmaru1(); が実行されます。
これが,ムービークリップとの大きな違いです。
とうぜん,
_root.Pofmaru1(); でも良いです。
URLのパスと同じで,絶対パスでも相対パスでも良いです。
変数 A にしたのは特に意味はありません。

それと,ボタンをわざわざ用意したのは,階層の説明をするためでもありますが,
フレーム1 に書いた function の下に,

Pofmaru1(1);

を付け足しても動かなかったからです。
完全にオブジェクト,つまり maru1 と maru2 が認識される前に
Pofmaru1(1); が実行されるからだと思います。
メインムービーのタイムラインを 2フレーム にして,
フレーム2 に,

stop();
Pofmaru1(1);

と書けば,Pofmaru1(1); は動作しました。

1行目に stop(); と書いたのは,
ムービーがループされるとまずいからです。
メインムービーが2フレームだけでできていたとすると,
stop(); を書かないと フレーム1 と フレーム2 を行ったり来たりしてしまいます。
すると,フレーム2 に戻るたびに Pofmaru1(1); が実行されるので,
_root.maru1.gotoAndPlay(2); がしょっちゅう実行されます。
つまり,maru1 が 3フレーム目に進もうにも,すぐに 2フレーム目に戻されてしまいます。

とにかく,Flash では時間軸で次々何かが起こるので(起こせるようにしてあるので),その辺の慣れや推測も必要です。

というか,最初から普通のアニメーションを作っていると,別に何でもないことなのですが,
いきなり難しいことをしようとすると,妙なところで詰まってしまうと思います。
ちょっとずつ順を追ってするほうが早道だと思いますよ。

いつか書かれていた,
配列の順序を並び替えて,それによって l や r を得て…
というのにはほど遠いとは思いますが,
これがなんとか回答できる限度です。

#1&2 です。

>> if文通りに処理されなく、
>> タイムラインに書かれた順番で
>> ムービーが再生されてしまいました・・・・。
>> なぜそうなってしまったのか、わからないのですが・・・・?

と言われましても,こちらも FLAファイル が見えない以上,
どういう状況かが全くわからないので,わかりませぬぅ…
困った。
(FLAファイル を見てもわからない可能性は大ですが。)


とりあえず,
第一の最低条件は,
Flash は 本来アニメーションソフトですから,
メインムービー( _root )も,ム...続きを読む

QXAMMP APACHE でhttp://localhost/が表示さ

XAMMP APACHE でhttp://localhost/が表示されないで困っています。


XAMMPを起動し、APACHEを開始(起動)をクリックしたのち、
http://localhost/
をインターネットエクスプローラーで表示しようとしたら、
「Internet Explorer ではこのページは表示できません」
というメッセージが出ます。
これは、どこか設定を間違っているのでしょうか?

Aベストアンサー

ここは、FlashのQ&Aなので、PHPで、質問されたら良いでしょう。
どう設定されたか、分からないので、回答はできませんが、通常は、「It Works!」と表示されますので、設定が間違っているのでしょうね。
PHPサイトで、その辺の設定方法を詳しく、記載した上で、聞いて下さい。
今の質問を繰り返しても、同じ回答になると思います。


おすすめ情報