原FlashCommunicationServer已经正式改名为FlashMediaServer.
FlashPlatform提供了一流的网络视频体验。如今,绝大部分的网络视频需要利用一大批眼花缭乱的可选件和下载件才能展示,如果把最新发布的FlashMediaServer2与无所不在的FlashPlayer相结合,就能跨众多平台、各种连接速率和浏览器,可靠地提供流畅、即时的视频体验。发布者也可以把视频集成到自己的网站和应用当中,而且可以完全控制回放、互动和品牌建立,获得无缝体验。
Macromedia高级副总裁、总经理TomHale说:“FlashPlatform是向互联网上最广泛的受众提供网络视频和丰富媒体应用的最佳方式,就集成到网络体验当中的流视频而言,目前还没有比FlashMediaServer2更好的选择。”
FlashMediaServer2是在大规模部署环境下提供录制和实况FlashVideo的基础,如视频点播、实况网络广播、MP3媒体流、视频博客和视频/音频聊天等应用。新版本引入了可扩展的新款Edge-Origin服务器,这个企业级就绪的可选架构简化了负载均衡、故障替换和集群工作,从而能够确保流式传输富交互体验具有更高的可靠性和扩展性,即使是在流量高峰期间。FlashMediaServer2拥有独特的可编程流媒体环境,包括性能可靠的应用编程接口(API),对媒体流、资产和特性(如定制互动、用户验证和带宽检测)实现精确的代码控制,从而提供真正不同的用户体验。FlashMediaServer2视频体验充分利用了FlashPlayer8中新的高质量视频编解码器,并具有自动检测客户端的带宽连接、相应调整媒体流的功能。
FlashMediaServer可以在标准的Windows或Linux服务器上运行,可以与现有的数据库、万维网和数据服务集成。进一步拓展的扩展功能使用户能够管理基于XML的媒体元数据、访问本地系统资源、控制日志和报告,以便与现有的媒体吸收和管理系统更紧密地进行集成。
原FlashCommunicationServer正式改名为FlashMediaServer
FMS2还是不给屏幕共享功能,我们可以通过第三方软件实现的.
Thescalablemediaserverforstreaminginteractivemediaapplications
MacromediaFlashMediaServer2softwareofferstheuniquecombinationoftraditionalstreamingmediacapabilitiesandaflexibledevelopmentenvironmentforcreatinganddeliveringinnovative,interactivemediaapplicationstothebroadestpossibleaudience.
FLASHCOM学习笔记1
第一章
3.保存客户端的fla文件到任何地方(如果涉及后台交互的话建议保存在webserver目录下)4.如果包含client端需要相应的server端的asc文件,请拷贝到server端的相应目录(建议保持和客户端相同的文件名,而只是后缀不同)5.然后发布你的swf文件并运行默认的服务器端asc文件存储位置在C:\Programfiles\Macromedia\FlashCommunicationServerMX\applicationsinWindowsor/opt/macromedia/flashcom/applicationsonUNIX.当你需要创建一个communciation应用程序时,就需要在applications下面建立子目录,存放下面的数据文件:asc服务器端通信文件flv数据流播放文件fso远程共享对象数据文件客户端的swf和html(或者php等服务器文件)可以放在你指定的任何目录,在产品发布的时候需要移走fla源文件。每一个应用程序的实例也位于不同的目录,如:
如果没有指定实例,客户端实际上连接到一个默认的名为_defInst_的实例,可以对不同的实例建立不同的共享对象
四、在FlashCom中使用的文件类型1.ASC和JS文件服务端使用的文件类型FlashCommunicationServer在服务端的scriptlib目录下提供了一个脚本库,包含了一些组件和FlashRemotingservices.的server端脚本2.FLV和IDX文件视频播放文件和索引文件3.SOL,SOR和FSO文件共享对象数据文件(依次为Local、Remote和两者)
FLASHCOM学习笔记:2连接示例
一个简单的连接服务器示例首先确保服务器已经启动,在windows下面可以直接启动服务就可以了。在Linux下面需要运行serverstart命令启动。在客户端写代码打开连接my_nc=newNetConnection();//创建连接对象my_nc.connect(targetURI);//连接服务器参数格式为:其中实例名可以省略rtmp://localhost:port/appName/instanceName//本地服务器也可以省略前面的直接写成rtmp:/appName/instanceNamertmp://host:port/appName/instanceName//远程服务器注意协议类型一定要使用rtmp,否则会连接失败下面是一个简单的实现方法:
//建立远程连接
//发布视频流
//播放视频流
定义好这些函数后,就可以用下面的代码简单实现
FLASHCOM学习笔记.7.理解共享对象
确认资料是否存储成功可以通过onstatus事件来获取返回的code值为SharedObject.Flush.Success(写入成功)SharedObject.Flush.Failed(写入失败)代码示例:
远程共享对象的数据读取和写入方法和本地共享对象类似,也是通过data属性和flush方法。使用下面语句可以把数据资料写入服务器端应用程序文件夹共享对象目录
当远程共享对象的内容改变或者初次联机时,它都会向客户端发出onsync(同步)事件,好让所有联机用户都能实时取得最新的共享对象资料。示例代码:
代理共享对象(proxiedsharedobject)代理共享对象是可以在用户端和服务器端共享的一种远程共享对象,区别在于它是由服务器端的ActionScript程序建立的,例如,在服务器端有两个聊天室的实体chat01和chat02,在chat02中可以连接到在chat01中定义的共享对象,更多的信息可以参考手册的SharedObject.get方法。和客户端的sharedobject不同,设置共享变量的值要通过SharedObject.setProperty,取得共享变量的值通过SharedObject.getProperty。实例代码:
在使用远程共享对象之前,请确认SharedObject.connect返回true,在客户端调用SharedObject.flush方法只是在本地拷贝了一份,要确保服务器端的拷贝,必须在服务器端使用SharedObject.flush方法,如:
3.通知客户端当服务器端收到客户端的同步请求的时候,SharedObject.onSync事件会通知用户端更改被拒绝,然后提供一个用户界面来给用户解决这种冲突。这种技术通常用于客户端不是经常更新的情况。4.接受某些,拒绝其它的应用程序根据“先到先服务”的原则来解决同步的冲突问题。通常需要于客户自己重新请求来解决冲突。5.通过send方法来提高控制级别SharedObject.send命令给所有连接到该远程共享对象的客户端广播消息,也包括发送者本人。
FLASHCOM学习笔记.8Application对象
如果使用communicationserver组件的话,还可以使用Application.onConnectAccept和application.onConnectReject事件可以查看下面的实例程序:
或者
注意:如果要call客户端的方法,请确认已经调用application.acceptConnection以保证客户端正常连接。
可以参考下面的程序:
我们看到的main.asc文件可能并没有包含上面的任何一个事件,那是因为有可能通过load方法加载了其它的组件定义,但是我们仍然可以在main.asc文件中定义我们需要的事件和方法。
FLASHCOM学习笔记.9Camera对象
这一节主要讲述camera对象的使用,包括camera的使用优化、设置合适的带宽和如果使得一个camera用于多个应用程序。Camera对象允许你从摄影机捕捉视频并追加到任何一个MC中,当使用FlashMxComserver的时候,还可以在联机对象间传输、显示,甚至录制捕捉到的视频。应用这个特性,你可以开发例如视频会议、视频聊天等应用程序。当然你也可以不通过服务器来使用Camera对象,例如可以捕捉你的视频并附加到某个MC。Camera常用的属性:
需要创建Camera对象,使用下面代码:
如果在不同的网域访问,就会弹出窗口让用户确认使用或是拒绝使用:
当用户对弹出窗口响应后就会触发onStatus事件,请参考muted参数当然也可以记住用户的选择,点击鼠标右键出现设置窗口
在该窗口选择允许,并选中记住,下次就不会弹出确认窗口了。更高级的示例是弹出设备选择窗口让用户选择:
Flashcomguru的arckid提供了一个很好的检测Camera的方法,把它略作修改如下
要设置Camera对象的模式,可以用setMode()方法,如下:
不同带宽的建议设置默认的Camera设置对所有的带宽提供了一个相同的足够好的传输品质,如果需要手动设置以适应不同的带宽要求,设置Camera参数的方法如下:
下面对不同的带宽给出了建议设置:
打开和设置完Camera之后后要附加到一个视频实体才可以显示
正常关闭camera如果你的应用程序使用camera对象和NetStream对象记录数据,camera仍然保持打开状态,为了确保关闭Camera对象,请在结束的时候使用
在多个应用程序中使用同一个Camera多个应用程序(swfs)可以在同时使用一个Camera。一般而言,多个浏览器窗口使用相同的进程,所以在浏览器环境中多个应用程序可以正常使用同一个Camera。但是,如果一个是在浏览器中运行,一个是独立应用程序,就不能共享使用同一个Camera,因为Camera不能被多个进程共享。事件响应在Camera有两个重要的事件响应1.onStatus事件muted属性变化会触发该事件原参考手册中的一个示例可以说明onstatus的用法
2.onActivity事件视频是否活动的事件响应请参考原手册的范例:
不知道是我问的问题太低级还是没表达清楚,走了N个论坛都没人回帖子.
后来实在没办法了,只能用GOOGLE翻译国外的页面慢慢研究了...
经过俩小时的搜索查看,没白搞.终于理出FLASHMEDIASERVER的目录结构了...
我的FLASHMEDIASERVER安装在D盘.
D:\ProgramFiles\Macromedia\FlashMediaServer2\
打开FMS的目录,进到applications目录,新建一个名叫Tensharp的目录.(就是我的测试站点,嘿嘿.)
然后在Tensharp里新建个名字叫Streams的目录,再在Streams里建个_definst_目录.
FLV文件就放在这里...在FLASH里读的路径是rtmp:/tensharp/life(注意,这里没FLV文件的后缀名.)
打开FLASH,新建一个文档.
新建一个视频对象取名为MyVideo
在第一桢上按F9,输入:
varMyNetConnection=newNetConnection();MyNetConnection.connect("rtmp:/tensharp");MyNetConnection.onStatus=function(TeN){if(TeN.code=="NetConnection.Connect.Success"){trace("服务器开放中...");}};varMyNetStream=newNetStream(MyNetConnection);MyVideo.attachVideo(MyNetStream);MyNetStream.setBufferTime(5);MyNetStream.play("life");
先前做完那个东西感觉FMS并不是很难..比当时第一次用FLASH+XML做东西