質問

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

通報する

回答 (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 形式の動画の制御から研究してみるといいと思いますよ。

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

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

わっかりましたー!
#1です。

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

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

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


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

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

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

書かれているサイトに
ウェブカメラ映像を表示した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 …

この回答へのお礼

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

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

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

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

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

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

このQ&Aは役に立ちましたか?5 件

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

新しく質問する

注目の記事

フリーアナウンサー長谷川豊氏の新コーナー「このニュースどう思います?」がスタート!

元フジテレビのフリーアナウンサー長谷川豊氏から気になるニュースについておしトピの皆さんに質問します! 皆さんの意見をもとに長谷川豊氏がコラムを執筆します! アプリリリース記念として最大1万分のアマゾンギフト券プレゼントキャンペーンも実施中!

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


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集