Adobe Flash Media Server 基于游戏开发 沈先彬
什么是 Flash Media Server ? <ul><li>简称 FMS ,是一个媒体服务器, 提供给流媒体的能力,以及一种强大的极具弹性的开发环境。 </li></ul><ul><li>可以开发诸如视频博客、视频共享、视频直播、在线游戏...
为什么有 3 个版本? <ul><li>Flash Media Interactive Server (FMIS)  </li></ul><ul><li>基于 Flash Player 、 AIR 及 Flash Lite 提供高性能的、安全的...
Real Time Messaging Protocol  ( RTMP ) <ul><li>RTMP ,标准类型,非加密实时消息协议。默认端口 1935 ,如果端口没有设定, FMS 将尝试用以下端口连接: 443 , 80(RTMP) , ...
连接外部资源 <ul><li>Remoting </li></ul><ul><li>采用二进制压缩,序列化、反序列化。 </li></ul><ul><li>WebServices </li></ul><ul><li>传递信息的格式为 XML <...
开发常用的目录 <ul><li>Logs </li></ul><ul><li>是放日志文件的地方 </li></ul><ul><li>Applications   </li></ul><ul><li>我们放服务端程序的地方 </li></ul>...
客户机连接 FMS 的流程 <ul><li>1. Application.onAppStart 事件; </li></ul><ul><li>通常我们会里这个事件里做一些初始化的事情 . </li></ul><ul><li>2.Applicati...
FMS 的 Administration Console (管理员控制台)
FMS 的 far.exe <ul><li>一是可以编译服务器端的 .asc 文件为 .ase 文件,以提高 FMS 应用程序的访问速度; </li></ul><ul><li>二是可以将分散的服务器端文件打成包,集中到一起方便管理。 </li>...
客户端 Action Script API <ul><li>Camera ,用于捕获视频。使用 NetConnection 和 NetStream 传输视频到其他 FMS 或者客户端。 </li></ul><ul><li>Microphone ...
服务器端 Action Script API <ul><li>Application 一个服务器端单独的类,用来呈现服务器端的应用实例。 </li></ul><ul><li>Client 呈现一个客户端连接到一个应用。服务器端创建一个该客户端连...
SharedObject <ul><li>本地共享对象 </li></ul><ul><ul><ul><li>本地共享对象类似于浏览器  Cookie  ,存储于客户端。 </li></ul></ul></ul><ul><ul><ul><li>用...
File <ul><li>可以让应用程序写入服务器的文件系统 </li></ul><ul><ul><li>这对于在不使用数据库服务器的情况下存储信息、为进行调试而创建日志文件,或是跟踪使用都是很有用的。 </li></ul></ul><ul><...
FMS 游戏 实例 <ul><li>游戏大厅、房间 </li></ul><ul><li>游戏桌子 </li></ul>
F MS  Resources <ul><li>ADOBE </li></ul><ul><li>http://www.adobe.com/devnet/flashmediaserver.html </li></ul><ul><li>http:/...
<ul><li>谢谢! </li></ul>
Upcoming SlideShare
Loading in …5
×

Flash media server 开发经验谈 沈先彬

2,927 views
2,702 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,927
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Flash media server 开发经验谈 沈先彬

  1. 1. Adobe Flash Media Server 基于游戏开发 沈先彬
  2. 2. 什么是 Flash Media Server ? <ul><li>简称 FMS ,是一个媒体服务器, 提供给流媒体的能力,以及一种强大的极具弹性的开发环境。 </li></ul><ul><li>可以开发诸如视频博客、视频共享、视频直播、在线游戏、视音频聊天等交互性质的双向及多向应用。 </li></ul>
  3. 3. 为什么有 3 个版本? <ul><li>Flash Media Interactive Server (FMIS) </li></ul><ul><li>基于 Flash Player 、 AIR 及 Flash Lite 提供高性能的、安全的、易于扩展的及高级别的流媒体及社会媒体应用。 </li></ul><ul><li>提供基于 Edge 模式的配置用来管理更多的并发。 </li></ul><ul><li>Flash Media Development Server (FMDS) </li></ul><ul><ul><li>功能和 FMIS3 一样,这个版本限制 10 个并发用户和不能用在成品的环境中,主要是用来给开发者使用的 . </li></ul></ul><ul><li>Flash Media Streaming Server (FMSS) </li></ul><ul><li>交付视频直播及点播应用􀀁 </li></ul><ul><li> 提供客户端 API ,供开发者开发应用参考􀀁 </li></ul><ul><li> 这个版本不适合提供运营级高性能、高分布级别或定制化的交互视频应用方案 </li></ul>
  4. 4. Real Time Messaging Protocol ( RTMP ) <ul><li>RTMP ,标准类型,非加密实时消息协议。默认端口 1935 ,如果端口没有设定, FMS 将尝试用以下端口连接: 443 , 80(RTMP) , 80(RTMPT) 。 </li></ul><ul><li>RTMPT ,借用 HTTP 通道的 RTMP 。 RTMP 数据通过 HTTP 封装,默认端口 80 。 </li></ul><ul><li>RTMPS ,在 SSL 之上的 RTMP 。 FMS 支持基于 SSL 的 RTMP 数据输入和输出,默认端口 443 。 </li></ul><ul><li>RTMPE ,加密版本 RTMP 。 RTMPE 比 RTMPS 更快,但是不需要认证管理,只需要在 Adaptor.xml 中打开。打开后, RTMPE 通过以下端口尝试通讯: 1935 , 443 , 80(RTMPE) , 80(RTMPTE) 。 </li></ul><ul><li>RTMPTE ,基于 HTTP 通道传输加密的 RTMPE </li></ul><ul><ul><li>http://www.adobe.com/aboutadobe/pressroom/pressreleases/200901/012009RTMP.html </li></ul></ul>
  5. 5. 连接外部资源 <ul><li>Remoting </li></ul><ul><li>采用二进制压缩,序列化、反序列化。 </li></ul><ul><li>WebServices </li></ul><ul><li>传递信息的格式为 XML </li></ul><ul><li>CFC(ColdFusion Components ) </li></ul>
  6. 6. 开发常用的目录 <ul><li>Logs </li></ul><ul><li>是放日志文件的地方 </li></ul><ul><li>Applications </li></ul><ul><li>我们放服务端程序的地方 </li></ul><ul><li>大家也可以修改这两个文件的路径 , 当然要更改配置文件 , 在 conf 目录里放的都是配置文件 , 我们打开 fms.ini 这个文件我们会找到 </li></ul><ul><li>VHOST.APPSDIR = </li></ul><ul><li>LOGGER.LOGDIR = </li></ul><ul><li>这两项就是更改 applications 和 logs 路径的地方 , 如比我们改成 : </li></ul><ul><li>VHOST.APPSDIR = e: fmsapplications </li></ul><ul><li>LOGGER.LOGDIR = e:fmslogs </li></ul>
  7. 7. 客户机连接 FMS 的流程 <ul><li>1. Application.onAppStart 事件; </li></ul><ul><li>通常我们会里这个事件里做一些初始化的事情 . </li></ul><ul><li>2.Application.onConnect 事件; Application.acceptConnection() 接受这个用户的连接 , </li></ul><ul><ul><ul><li>Application.rejectConnection() 拒绝这个用户 . </li></ul></ul></ul><ul><li>3. Application. onDisconnect 事件; </li></ul><ul><li>用户断开 , 都会触发 Application.onDisconnect 事件 . </li></ul><ul><li>4. Application.onAppStop 事件 . </li></ul>
  8. 8. FMS 的 Administration Console (管理员控制台)
  9. 9. FMS 的 far.exe <ul><li>一是可以编译服务器端的 .asc 文件为 .ase 文件,以提高 FMS 应用程序的访问速度; </li></ul><ul><li>二是可以将分散的服务器端文件打成包,集中到一起方便管理。 </li></ul><ul><li>用法: </li></ul><ul><li>far -compile Ddz.asc </li></ul>
  10. 10. 客户端 Action Script API <ul><li>Camera ,用于捕获视频。使用 NetConnection 和 NetStream 传输视频到其他 FMS 或者客户端。 </li></ul><ul><li>Microphone ,用于捕获音频。传输方法同上。 </li></ul><ul><li>NetConnection ,一个双向连接,用于客户端与 FMS 端,或者 FMS 与 Remoting 。 </li></ul><ul><li>NetStream ,一个单向流,用于客户端与 FMS 端存在的 NetConnection 对象之上。 </li></ul><ul><li>Video ,显示直播或者录制的视频,使用 Streaming 的方式。 </li></ul><ul><li>SharedObject 。 </li></ul>
  11. 11. 服务器端 Action Script API <ul><li>Application 一个服务器端单独的类,用来呈现服务器端的应用实例。 </li></ul><ul><li>Client 呈现一个客户端连接到一个应用。服务器端创建一个该客户端连接的 client 对象。使用这个类,可以获取客户端的信息,设定其读写服务器端的权限,还有远程访问的调用。 </li></ul><ul><li>File ,允许应用对服务器端文件系统写入。使用这个类可以在不需要数据库的情况下存储信息,创建调试过程的 log 日志或者跟踪。 </li></ul><ul><li>NetConnection 创建一个双向连接,在 FMIS 和中间件服务器间,在 FMIS 之间,和 FMIS 的多个应用之间。 </li></ul><ul><li>NetStream 通过 NetConnection 打开一个单向流,在不同的 FMIS 之间 </li></ul><ul><li>Stream ,使用这个类进行管理和重新发布流。用 Stream 类创建一个服务器端播放列表,以及用这个类向订阅流的客户端发送数据和向一个直播流添加 Metadata 。 </li></ul><ul><li>WebService 、 SharedObject 、 LoadVars 等(参看服务器端文档) </li></ul>
  12. 12. SharedObject <ul><li>本地共享对象 </li></ul><ul><ul><ul><li>本地共享对象类似于浏览器 Cookie ,存储于客户端。 </li></ul></ul></ul><ul><ul><ul><li>用于 Flash Player 可以离线访问数据或存储用户应用配置,与 FMS 无关。 </li></ul></ul></ul><ul><li>远程共享对象 </li></ul><ul><ul><ul><li>远程共享对象类似于实时数据传输设备。存储于服务端。若要使用远程共享对象,您需要 FMS 。 </li></ul></ul></ul><ul><ul><ul><li>可以进行消息传输,数据同步及数据存储。 </li></ul></ul></ul>
  13. 13. File <ul><li>可以让应用程序写入服务器的文件系统 </li></ul><ul><ul><li>这对于在不使用数据库服务器的情况下存储信息、为进行调试而创建日志文件,或是跟踪使用都是很有用的。 </li></ul></ul><ul><ul><li>客户端读取服务器端指定文件。(如:图片) </li></ul></ul>
  14. 14. FMS 游戏 实例 <ul><li>游戏大厅、房间 </li></ul><ul><li>游戏桌子 </li></ul>
  15. 15. F MS Resources <ul><li>ADOBE </li></ul><ul><li>http://www.adobe.com/devnet/flashmediaserver.html </li></ul><ul><li>http://help.adobe.com/en_US/flashmediaserver/techoverview/index.html </li></ul><ul><li>http://www.adobe.com/devnet/flashmediaserver/article-index.html </li></ul><ul><li>FMS Feature Explorer 1.0 http://download.macromedia.com/pub/developer/fms/fms_explorer.air </li></ul><ul><li>Flash Streaming Tool V1.0 (7yue) </li></ul><ul><ul><li>http://www.7yue.com/post/154.html </li></ul></ul>
  16. 16. <ul><li>谢谢! </li></ul>

×