`
udj38udj
  • 浏览: 14340 次
社区版块
存档分类
最新评论

Flash Media Server 入门

 
阅读更多

Flash Media Server 入门
2009年12月20日
  什么是Flash Media Server ?
  Flash大家庭里的一员,这个东东以前叫Flash Communication Server,传说中的FCS就是这个,现在改叫FMS了...
  不见不知道哦,一见真可怕,adobe还有这么cool的东东,自从见了她,让我做些小东东的兴趣全没了,一心想研究这个
  这东东能做什么?
  视频录制,flash聊天室,在线视频会议,网络游戏
  先要打开服务器
  你在本机装的fms,本机就是服务器了哦!记得现在你的机器既是客户端又是服务端哦
  开始===程序===Macromedia===Flash Media Server 2
  有两个start****,都要打开,关时候两个都要关,如果你怕麻烦直接找tool文件夹里的批处理文件StartServerService.bat,双击他,他会帮你搞定地,想关就找StopServerService.bat。
  applications文件夹
  你可以在里边建一个文件夹例如叫 FirstApp,这就建了一个Application,以后所有此项目服务器端的flv文件啊,共享文件啊都会在这里边,有时服务器端需要写程序的时候里边会有个main.asc 文件,这个就是服务器端程序,服务器端程序目前只支持as1写,是在服务器上执行的,你也可以用trace调试,怎么trace管理服务器时候你会看到,你可能会建若干个app,在一台服务器上同时运行,比如录象的app,聊天室的app。。。这些所有的app都通过fms自带的fms2_console.swf管理。
  有一种协议叫rtmp
  客户端和服务器端通信是使用协议rtmp的,现在在服务器端applications文件夹(当然偶的客户端和服务器端是一台机器了)里建个test1文件夹,你的地址就为rtmp:/test1 或者 rtmp://localhost/test1,注意两个地址中的 "/ "符号
  打开flash
  与服务器通信首先要建个NetConnection()
  nc = new NetConnection(); 连接
  nc.connect("rtmp://localhost/test1");
  怎么知道连没连上呢?顺利连接服务器后会触发一个onStatus事件,自己trace一下info.code
  nc.onStatus = function(info) {
  //trace(info)
  //trace(info.code)
  for (i in info) {
  trace(i+": "+info);
  }
  };
  完整代码:
  nc = new NetConnection();
  nc.onStatus = function(info) {
  trace(info.code);
  if (info.code == "NetConnection.Connect.Success") {
  trace("接通");
  }
  };
  nc.connect("rtmp://localhost/test1");
  视频,流
  这个比较重要,但超简单,网上播放电影,在线录制,在线播放,视频会议,视频电话,全靠他了 ,下边我们先做一个最简单 录制和播放
  录制视频
  打开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了吧。
  播放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");
  现场流
  上边做的都是先录制好了视频,然后才播放,网上的实时视频会议,视频电话是怎么做的呢?总不能先录好再播放吧?
  这要用到现场流,现场流是指你连接到服务器后,你在发布的同时,其他人就可以实时的看到你,把上边录制视频的例子拿下来
  nsOut.publish("2", "record"); 这句改成 nsOut.publish("2", "live");
  把"record" 改成"live"后,就不会生成flv了,取而代之的是一个看不到的实时的视频流
  ok 了,发布,这就是直播端了,同时再发布上边那个播放端,已经可以实时看见你了吧。现在你是用本机测试,等你有了服务器。其他人也能同时看见你了哦
  到这里你已经可以自己做一个网页上的直播了,发布端不要让别人看到,让别人看你的播放端就好了 :) 至于为什么要用两个swf,因为目前为止你还不知道怎么样跟服务器之间传递消息,这样做可以避免这些东西,等你把后边的东西全都学完就可以在一个swf里,写个视频会议之类的东东了
  远程共享
  共享的概念就是让每个连接到服务器的swf都能实时的得到服务器端共享的数据。
  一个人更改了这些数据,其他人都会看得到通知。可以想象聊天室里的发言,一个人发了以后其他人都可以看到。
  待续......
分享到:
评论

相关推荐

    Flash Media Server 入门教程

    Flash Media Server 入门教程

    Flash Media Server 入门教程.doc

    这是在网上copy N神的Flash Media Server 入门教程 个人认为非常不错,值得一读!

    Flash Media Server 入门教程(一)

    NULL 博文链接:https://ljl-xyf.iteye.com/blog/794664

    FMS2.0软件

    FMS开发Flash Media Server 入门教程 我把我以前的那些FMS学习笔记整理了一下,做了下修改,成了一页的FMS教程,方便想学FMS的新手来看,如果还有错误或者看不懂的地方欢迎留言,或email偶,偶会进行更改 什么是...

    Flash_Media_Server-config.rar_flash media server

    Flash Media Server配置与开发入门

    Flash media server 中文翻译

    Flash media server(原名Flash Communication Server)自带的资料都是英文版的,对于许多的读者来说,阅读起来很不方便,这一份中文版的翻译,真不错,可惜只有一部分,但是对于学习FMS入门绝对是一份很好的教材

    Adobe_Flash_Media_Server_5_介绍与入门

    Adobe_Flash_Media_Server_5_介绍与入门

    Flash Media Server 3 英文教程

    如果你对使用FMS3和Adobe的实时消息协议来录制和播放流媒体感兴趣的话,这本书是一个很好的初级入门。它虽然不是一个参考书,但是它系统的带领你使用AS3.0来开发FMS3应用程序,章节侧重于服务器介绍和它们的工作原理...

    安装Flash Media Server 2,FLEX初学应该有用的吧。

    最近在用FLEX+FMS写些小程序,觉得这个对入门的兄弟应该也有帮助的吧!

    Flash Builder 4 快速入门

    目录 第一章 Flash Builder 4 背景 1.1 从Flex Builder到Flash Builder 第二章 Flash Builder 4 界面 2.1 主界面 2.2 主菜单 2.3 工具条 ...·第三章 Flash Builder 4 新特性 ...6.4 与Flash Media Server交互

    流媒体技术基础,包括Windows Media、RealMedia、QuickTime、Flash流媒体

    流媒体技术入门与提高,其中介绍了Windows Media、RealMedia、QuickTime、Flash流媒体等,其中包括Windows Media技术平台概述 Windows Media组件 ASF格式 Windows Media9系列音频编解码 Windows Media9系列视频编...

    fms + flex 开发

    FMS的最新版本已经到FMS 3了 ,本入门教程使用Flash Media Server 2 演示,但你可以很容易的升到 3,因为FMS 到 FMS3 的更新几乎没有什么改动 ,还有本教程客户端使用as1演示如果你需要用AS3的话,语法会有些变化,...

    vc++ 开发实例源码包

    FlashPlayer播放器4.0的VC++源代码 如题。 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本...

    vc++ 应用源码包_1

    FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...

    vc++ 应用源码包_2

    FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...

    vc++ 应用源码包_6

    FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...

    vc++ 应用源码包_5

    FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...

    vc++ 应用源码包_3

    FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...

Global site tag (gtag.js) - Google Analytics