·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

FMS3.5开发指南[精简版]

时间:2012-07-11 14:39baidu
FMS为构建富媒体应用提供流媒体和交互式服务,如即时开始、直播视频流和基于用户带宽的各种流速率。FMS有三个不同的版本

FMS3.5开发指南
  第一章:入门
  1、服务器版本
  FMS为构建富媒体应用提供流媒体和交互式服务,如即时开始、直播视频流和基于用户带宽的各种流速率。FMS有三个不同的版本:
(1)flash media interactive server:功能最全;
(2)flash media development server:FMIS的开发版本,限制连接数;
(3)flash media streaming server:仅仅支持直播和点播服务,不能改写服务器端代码和录制流。
  2、FMS概述
  应用程序通过rtmp协议连接到FMS,服务器可以向已连接的用户发送数据,也可以从已连接的用户获取数据,比如用户可以用摄像头向服务器推流,然后世界各地的用户都能观看到服务器上的视频流,FMS还能用来开发网络游戏。
  客户端-服务器端结构:客户端的应用程序可以用flash或者flex来开发,它能捕获音视频和与用户交互,服务器端的应用程序在服务器上运行,它管理用户连接和授权等。
一个典型的FMS应用程序包括以下几个部分:客户端用户界面、客户端AS代码、视频或音频文件、摄像头或麦克风和服务器端AS代码。
  、配置开发环境
  安装FMS,Flash或flex。
  4、创建“Hello World”应用程序(sample1:Hello World)
  这是一个客户端与服务器连接的小例子,实现的功能是:用户端有一个按钮和label,当按钮的text为connect时,点击按钮,label中显示“Hello, World! ”,按钮的text变为disconnect,再次点击按钮,label中的内容清空。
  实现过程:点击connect时,客户端先通过NetConnection与服务器建立连接,连接成功后,用call()调用服务器端的serverHelloMsg(),并传送一个字符串“Hello”,服务器做出响应,并且返回一个字符串“Hello, World! ”,显示客户端的label中。点击disconnect时,中断与服务器的连接。
  5、创建一个应用程序
  写客户端代码:Flash——as3.0,2.0,1.0;Flex——as3.0
  写服务器端代码:一般而言,只有在以下情况下才需要写服务器端代码:
(1)鉴定客户:通过用户名/密码或者其他服务器和数据库中的凭证
(2)执行连接logic:当用户连接或断开时采取一些措施
(3)更新用户:调用客户端方法、更新影响所有用户的共享对象(share objects)
(4)处理流:允许用户播放、录制,管理推向服务器和服务器发布的流
(5)连接到其他服务器:调用网络服务或是创建一个与其他服务器通信的网络socket
  服务器端代码一般命名为main.asc或应用程序名.asc,存放在安装文件中的applications\应用程序名文件夹下(application文件夹的位置可以通过编辑fms.ini或Vhost.xml来修改)
  服务器端的脚本有两个特殊的对象:client对象和application对象。当用户与服务器建立连接之后,服务器创建一个服务器端client类来代表这个用户。一个应用程序可以与成千上万个用户建立连接。在服务器代码中,你可以使用client对象来与每个用户通信。每一个应用程序也有一个单独的application对象,这个对象是服务器端应用程序类的一个实例。这个application对象代表应用实例,你可以用它来与用户进行连接和关闭应用程序等。
  6、测试应用程序
  客户端:用trace()语句观察每一步的执行结果,用设置断点来帮助调试。
  服务器端:使用Administration Console
  通过Administration Console可以直接加载,停止或重新加载一个应用程序,当服务器上的应用程序实例对用户做出某些响应时,可以观看到该实例的live log、clients、share objects等信息。
  7、部署应用程序
  部署一个应用程序,一般包括以下几步:
(1)在服务器上注册一个application:即在applications文件夹下新建一个文件夹,命名为应用程序的名字。这个文件夹用来存放服务器端脚本代码和媒体文件,它也可以为空,也可以包含一个Application.xml文件。
(2)复制脚本文件(main.asc)到服务器上:也可以把它放在scripts子文件夹中(注意:当应用程序新增了一个asc文件,你需要在控制台restart该应用程序)。该文件用来与客户端进行通信。
  打包服务器端文件:FMS提供了一个命令行工具far.exe,用来把服务器端的文件打包成一个far文件来简化部署,也可以用它把服务器端文件编译成字节码(扩展名为.ase)来为加载应用程序加速。FAR文件包含了主要的脚本文件,far.exe的使用语法如下:
  D:\ far –package –archive main.far –files main.asc (注意路径一致)
(3)把媒体文件复制到服务器:放到应用程序文件夹下的streams文件夹中。
(4)复制客户端代码到web服务器(提供web服务):可以把swf文件和html文件部署到任意web服务器上,swf文件包含NetConnection.connect()方法,html文件是swf文件的一个容器。默认情况下,FMS自动安装了Apache HTTP服务器,如果想通过http发布文件,把文件放在RootInstall/webroot文件夹或者合适的子文件夹下;如果想提供CGI项目服务,把文件放在RootInstall/Apache2.2/cgi-bin文件夹下。

热门文章推荐

请稍候...

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

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