·您当前的位置:首页 > 技术教程 > Rtmp技术 >

[FMS]Flash Media Server之教程附示例代码(6)

时间:2012-09-18 14:15www.riabook.cn
看客户端的代码。。 case NetConnection.Connect.Rejected : //注意这里,服务器拒绝你的情况,如果遭到拒绝,将会调用两次mync.onStatus, //第一次NetConnection.Connect.Rejected第2次NetConnection.Connect.Clo

看客户端的代码。。

case "NetConnection.Connect.Rejected" :
//注意这里,服务器拒绝你的情况,如果遭到拒绝,将会调用两次mync.onStatus,
//第一次"NetConnection.Connect.Rejected"第2次"NetConnection.Connect.Closed"
trace("遭到服务器拒绝");
trace("服务器返回信息:"+info.application.msg);
break;
遭到服务器拒绝后会trace出服务器返回的错误消息,这是一个最基础的与服务器交互的例子,以后还会有很多滴
下边进入新一层次。。。
视频,流

这个比较重要,但超简单,网上播放电影,在线录制,在线播放,视频会议,视频电话,全靠他了 ,下边我们先做一个最简单 录制和播放

录制视频

打开flash,新建一个fla,Ctrl + L 打开library,右键新建视频,确定。
拉到舞台上起个名叫my_video
第一帧开始加代码

//从麦和设像头显示视频显示在my_video上
my_video.attachVideo(Camera.get());
my_video.attachAudio(Microphone.get());

//像以前一样连接
nc = new NetConnection();
nc.connect("rtmp://localhost/aaaa"); //注意这里,Applications文件夹里要有aaaa文件夹哦!

//可以理解为在nc连接上绑一个流
nsOut = new NetStream(nc);

//在流上加麦克风和视频头
nsOut.attachVideo(Camera.get());
nsOut.attachAudio(Microphone.get());

//发布 2.flv
nsOut.publish("2", "record");
第一个参数是文件名,后一个参数要"record"才是录制
把fla发布一下, 录一会儿,把视频关掉,打开你的

叉盘:\Program Files\Macromedia\Flash Media Server 2\applications\aaaa\
是不是多了个streams\_definst_
打开C:\Program Files\Macromedia\Flash Media Server 2\applications\aaaa\streams\_definst_
看见2.flv了吧。。

这里下载原文件 : http://www.nshen.net/blog/attachments/200601/25_163617_c1.fla
播放flv
用fms播放的flv目前是无法下载的,这可以保护你的版权 :)

打开flash,新建一个fla ,Ctrl + L 打开library,右键新建视频,确定。
拉到舞台上,这回起个名叫view ,我们来播放你刚才录的那个视频
nc = new NetConnection();
nc.connect("rtmp://localhost/aaaa");
res = new NetStream(nc);

//view元件要加载res流
view.attachVideo(res);
view.attachAudio(res);

//播放
res.play("2");
原文件 : http://www.nshen.net/blog/attachments/200602/13_223604_p1.fla

现场流
上边做的都是先录制好了视频,然后才播放,网上的实时视频会议,视频电话是怎么做的呢?总不能先录好再播放吧?
这要用到现场流,现场流是指你连接到服务器后,你在发布的同时,其他人就可以实时的看到你
很难吗?看看吧,把上边录制视频的例子拿下来
nsOut.publish("2", "record"); 这句改成 nsOut.publish("2", "live");
把"record" 改成"live"后,就不会生成flv了,取而代之的是一个看不到的实时的视频流
ok 了,发布,这就是直播端了,同时再发布上边那个播放端,已经可以实时看见你了吧。现在你是用本机测试,等你有了服务器。其他人也能同时看见你了哦

到这里你已经可以自己做一个网页上的直播了,发布端不要让别人看到,让别人看你的播放端就好了 :) 至于为什么要用两个swf,因为目前为止你还不知道怎么样跟服务器之间传递消息,这样做可以避免这些东西,等你把后边的东西全都学完就可以在一个swf里,写个视频会议之类的东东了

远程共享
远程共享?

共享的概念就是让每个连接到服务器的swf都能实时的得到服务器端共享的数据。
一个人更改了这些数据,其他人都会看得到通知。可以想象聊天室里的发言,一个人发了以后其他人都可以看到。

attachments/200708/29_151512_6.jpg

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器