- 浏览: 14340 次
最新评论
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都能实时的得到服务器端共享的数据。
一个人更改了这些数据,其他人都会看得到通知。可以想象聊天室里的发言,一个人发了以后其他人都可以看到。
待续......
发表评论
-
来自同行朋友的book list
2012-01-20 09:49 602来自同行朋友的book list 2011年04月24日 ... -
[原创]Google App Engine使用简介
2012-01-20 09:49 749[原创]Google App Engine使用 ... -
Linux + opencv(1.X 和2.0)
2012-01-20 09:49 1440Linux + opencv(1.X 和2.0) 2010年 ... -
使用Gnu gprof进行Linux平台下的程序分析
2012-01-20 09:49 869使用Gnu gprof进行Linux平台下的程序分析 201 ... -
SIP和Media帮助文档【译】
2012-01-20 09:49 1064SIP和Media帮助文档【译 ... -
如何加强幼儿园安全管理
2012-01-19 14:55 665如何加强幼儿园安全管 ... -
3年后广东入园贵入园难基本解决 因地制宜制订各地幼儿园收费标准
2012-01-19 14:54 5993年后广东入园贵入园难基本解决 因地制宜制订各地幼儿园收费标准 ... -
园长联谊会发言稿
2012-01-19 14:54 682园长联谊会发言稿 2011年12月19日 园长联谊会发言 ... -
幼儿园园长以及教师的职责
2012-01-19 14:54 635幼儿园园长以及教师的职责 2010年07月25日 幼儿园 ... -
马湖乡中心幼稚园教师奖惩制度
2012-01-19 14:54 655马湖乡中心幼稚园教师奖惩制度 2011年06月17日 ... -
Opengl:显示中文改进版
2012-01-17 04:38 609Opengl:显示中文改进版 2010年07月09日 由 ... -
转载:OpenGL显示文字
2012-01-17 04:38 616转载:OpenGL显示文字 2010年07月03日 本课 ... -
想成为编程高手,从基础做起 .
2012-01-17 04:37 577想成为编程高手,从基础做起 . 2011年10月18日 ... -
DOS的命令
2012-01-17 04:37 653DOS的命令 2011年04月23日 先介绍一下通配符的 ... -
转20.1.2 嗨!Flash Communication Remoting for .net
2012-01-16 03:31 607转20.1.2 嗨!Flash Communication R ... -
FMS视频聊天室的开发
2012-01-16 03:31 1241FMS视频聊天室的开发 20 ... -
Flash Communication Server
2012-01-16 03:31 628Flash Communication Server 200 ... -
fms的目录结构【转】
2012-01-16 03:31 801fms的目录结构【转】 20 ...
相关推荐
Flash Media Server 入门教程
这是在网上copy N神的Flash Media Server 入门教程 个人认为非常不错,值得一读!
NULL 博文链接:https://ljl-xyf.iteye.com/blog/794664
FMS开发Flash Media Server 入门教程 我把我以前的那些FMS学习笔记整理了一下,做了下修改,成了一页的FMS教程,方便想学FMS的新手来看,如果还有错误或者看不懂的地方欢迎留言,或email偶,偶会进行更改 什么是...
Flash Media Server配置与开发入门
Flash media server(原名Flash Communication Server)自带的资料都是英文版的,对于许多的读者来说,阅读起来很不方便,这一份中文版的翻译,真不错,可惜只有一部分,但是对于学习FMS入门绝对是一份很好的教材
Adobe_Flash_Media_Server_5_介绍与入门
如果你对使用FMS3和Adobe的实时消息协议来录制和播放流媒体感兴趣的话,这本书是一个很好的初级入门。它虽然不是一个参考书,但是它系统的带领你使用AS3.0来开发FMS3应用程序,章节侧重于服务器介绍和它们的工作原理...
最近在用FLEX+FMS写些小程序,觉得这个对入门的兄弟应该也有帮助的吧!
目录 第一章 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技术平台概述 Windows Media组件 ASF格式 Windows Media9系列音频编解码 Windows Media9系列视频编...
FMS的最新版本已经到FMS 3了 ,本入门教程使用Flash Media Server 2 演示,但你可以很容易的升到 3,因为FMS 到 FMS3 的更新几乎没有什么改动 ,还有本教程客户端使用as1演示如果你需要用AS3的话,语法会有些变化,...
FlashPlayer播放器4.0的VC++源代码 如题。 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本...
FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...
FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...
FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...
FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...
FlashPlayer播放器4.0的VC++源代码 FreeBird2011最初版(模仿飞鸽,可聊天+传文件) 该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了...