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

More Related Content

PDF
深入研究雲端應用程式平台-AppFabric
DOC
如何利用Microsoft visual source safe進行版本控管
PPT
SWsoft_Prim@Telecom
PPTX
Misato engine hugh_tsai-蔡浩宇
PPTX
Bambook sdk 与action script
PPTX
Bambook开放之路
PPT
Introduction to air for android 邱彦林
PPTX
Swf文件格式和abc代码混淆工具 黄珏坤
深入研究雲端應用程式平台-AppFabric
如何利用Microsoft visual source safe進行版本控管
SWsoft_Prim@Telecom
Misato engine hugh_tsai-蔡浩宇
Bambook sdk 与action script
Bambook开放之路
Introduction to air for android 邱彦林
Swf文件格式和abc代码混淆工具 黄珏坤

More from FLASH开发者交流会 (20)

PPT
松耦合代码之开发方法与工具演示 刘争辉
PPTX
Flash 独立游戏开发之路 徐黎明
PPTX
程序接口的另类理解与使用 孙毅
PPTX
Flash游戏大会 商文烨
PPT
Flash ria usability 刘轩飞
PPTX
9月18技术交流会大赛作品介绍 廖湘宁
PPTX
简化复杂的Flash应用程序 谈熠
PPTX
Flash mmorpg游戏引擎及工具开发概述-张明光
PPT
Web base 吴志华
PPTX
Flash 游戏应用框架和模块化开发 邱广钦
PPTX
7月24日交流会麻球演讲 廖湘宁
PPT
浅析Flash特效开发 陈勇
PPT
Flash网络通讯处理 陈苏俊
PPT
轻量级Flash服务器开发框架(刘恒)
PPT
Ghost cat 以皮肤为主体的ui框架(唐翎)
PDF
Flash 原型开发(刘磊)
PPTX
Avm2虚拟机浅析与as3性能优化(陈士凯)
PPTX
Actionscript中的元编程和开发流程解耦(谈熠)
PPT
Flex开发实践经验谈(谢敏)
PPT
Flash独立游戏 现状分析与发展思考(陈静)
松耦合代码之开发方法与工具演示 刘争辉
Flash 独立游戏开发之路 徐黎明
程序接口的另类理解与使用 孙毅
Flash游戏大会 商文烨
Flash ria usability 刘轩飞
9月18技术交流会大赛作品介绍 廖湘宁
简化复杂的Flash应用程序 谈熠
Flash mmorpg游戏引擎及工具开发概述-张明光
Web base 吴志华
Flash 游戏应用框架和模块化开发 邱广钦
7月24日交流会麻球演讲 廖湘宁
浅析Flash特效开发 陈勇
Flash网络通讯处理 陈苏俊
轻量级Flash服务器开发框架(刘恒)
Ghost cat 以皮肤为主体的ui框架(唐翎)
Flash 原型开发(刘磊)
Avm2虚拟机浅析与as3性能优化(陈士凯)
Actionscript中的元编程和开发流程解耦(谈熠)
Flex开发实践经验谈(谢敏)
Flash独立游戏 现状分析与发展思考(陈静)
Ad

Flash media server 开发经验谈 沈先彬

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