2012.08.21
Flash Media Server4.5 ⑥ ビデオチャットを作成する~その5~
Flash Media Server4.5 ⑥ ビデオチャットを作成する~その5~
「FlashMediaServer4.5(FMS)の環境を利用し、簡易ビデオチャットを作成する」の5回目です。
今回は、FMSから配信される動画を受信する部分の実装を行います。
【解説】動画の受信方法
- Adobe Flashを起動し、前回作成したflaファイルを開きます。
前回までの実装をまとめると以下のようになります。123456789101112131415161718192021222324252627282930313233var
mycam=Camera.getCamera();
var
mycam_audio:Microphone = Microphone.getMicrophone();
mycam.setMode(
800
,
600
,
5
,
false
);
mycam.setQuality(
0
,
100
);
var
myvid:Video =
new
Video();
myvid.x =
0
;
myvid.y =
0
;
myvid.width =
360
;
myvid.height =
270
;
myvid.attachCamera(mycam);
addChild(myvid);
var
nc:NetConnection =
new
NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
nc.connect(
"rtmp://[IPアドレス]/test"
);
function
onNetStatus(e:NetStatusEvent):
void
{
trace
(e.info.code);
if
(e.info.code ==
"NetConnection.Connect.Success"
){
var
ns:NetStream =
new
NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, nNetStatus2);
ns.attachCamera(mycam);
ns.attachAudio(mycam_audio);
ns.publish(
"nspublish"
,
"live"
);
function
onNetStatus2(e:NetStatusEvent):
void
{
trace
(e.info.code);
}
}
}
少し長くなってきましたね。
- if文の中に、下記スクリプトを追加します(上記スクリプトの31行目です)。
12345678910111213141516
var
r_ns:NetStream =
new
NetStream(nc);
r_ns.addEventListener(NetStatusEvent.NET_STATUS, r_onNetStatus);
function
r_onNetStatus(re:NetStatusEvent):
void
{
trace
(re.info.code);
}
r_ns.play(
"nspublish"
);
var
rvid:Video =
new
Video();
rvid.x =
370
;
rvid.y =
0
;
rvid.width =
280
;
rvid.height =
210
;
rvid.smoothing =
true
;
rvid.attachNetStream(r_ns);
addChild(rvid);
- パブリッシュプレビューして確認してみましょう。
パブリッシュプレビューで表示されるSWF画面を見てみましょう。
以下のように、Webカメラの映像の右側にもう一つ同じ映像が表示されているでしょうか。左右同じ映像が表示されているかと思いますが、右側の映像はFMSに送信されたWebカメラの映像(左側)を、受信した映像になります。映像に動きを与えると、若干右側の方が遅れて動くことがわかると思います。
まとめ
以上のスクリプトにより、映像の送信⇒受信までの簡単な流れが実装できました。
次回は、受信部分のスクリプトの説明を行いたいと思います。