FMS3技术文档之一.docx

上传人:b****5 文档编号:29987222 上传时间:2023-08-04 格式:DOCX 页数:11 大小:118.95KB
下载 相关 举报
FMS3技术文档之一.docx_第1页
第1页 / 共11页
FMS3技术文档之一.docx_第2页
第2页 / 共11页
FMS3技术文档之一.docx_第3页
第3页 / 共11页
FMS3技术文档之一.docx_第4页
第4页 / 共11页
FMS3技术文档之一.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

FMS3技术文档之一.docx

《FMS3技术文档之一.docx》由会员分享,可在线阅读,更多相关《FMS3技术文档之一.docx(11页珍藏版)》请在冰豆网上搜索。

FMS3技术文档之一.docx

FMS3技术文档之一

序言

如果你对使用FMS3和Adobe的实时消息协议来录制和播放流媒体感兴趣的话,这本书是一个很好的初级入门。

它虽然不是一个参考书,但是它系统的带领你使用AS3.0来开发FMS3应用程序,章节侧重于服务器介绍和它们的工作原理。

FMS3和其它正规的服务非常不同。

因为它是一个open-socket的服务器技术,直到用户退出程序它才断开连接,你可以实时的播放声音、视频、文字、和其它媒体。

FMS3也和前面版本非常不同,熟悉fms2或者fcs1.5的开发者很快就会察觉到。

不用担心。

在学习fms3和有一点flashcs3和as3.0的经验,任何人都可以快速进入。

你将学习怎么样安装FMS3,用Apacheweb服务器一起组织你的开发环境,在进入为什么和怎么样前,使用控制管理器:

∙用H.26和VP6格式录制和播放流媒体

∙使用新的FlashMeidaEncoder来录制视频

∙设置摄像头和麦克风

∙非持久的客户端远程共享对像

∙双向音频-视频通讯

∙广播和服务端的带宽控制

∙与服务端的工作:

file类

∙服务端共享对像

∙服务端流

∙成立一个软件加载处理器,使用fms3的新服务器端Netstream

∙实现在数据和与配置文件工作

在每章内部都是一组核心的代码,显示不同程序的最小需求。

除此之外,学习FMS3提供给你许多可使用的不同版本的FMS3:

所有功能型的服务器、只有流的服务器、和有限制用户的开发型服务器。

它是一个全新的世界媒体,这本书做为你的入门之阶。

准备进入了吗?

章1.开始FlashMediaServer3

1.1.FMS3的新口味

FMS3有三种不同的服务器:

∙第一个FlashMediaInteractiveServer3(FMIS3)有交互流的全部功能,有fms2版本全部的功能,FMIS3还有一些特色:

对并发连接或者带宽使用没有限制。

∙第二个FMS3的版本是FlashMediaStreamingServer3(FMSS3)。

这个服务器限于流媒体。

想像它似渐进式下载,除FMSS3使用服务端流。

如果你的主要目标是从一个站点播放流媒体,这个选项提供更少的成本。

∙第三个版本是FlashMediaDevelopmentServer3(FMDS3),功能和FMIS3一样,这个版本限制10个并发用户和不能用在成品的环境中,主要是用来给开发者使用的。

为了避免混淆,本书简单地用FMS3来引用所有的三个版本。

你需要紧记,FMSS3服务器不能用来录制视频或者交互式的聊天,还有其它限制。

无论如何,使用开发者版本的服务器,你可以建立和测试本书中的所有例子,可以录制你自已怕FLV视频文件和在其它的服务器上播放它们。

1.2.什么是MediaServer?

如果你使用过FlashCommunicationServer或者FlashMediaServer2和明白它的使用,你可以跳过本小节。

FlashMediaServer3是FlashMediaServer的最新版本和有些改进。

如果你刚开始使用opensocket技术,请继续。

FMS3是一个opensocket服务器,与web服务器不同的是一旦你从web服务器接收到信息后连接就断了。

如果你打开一个web页面,web服务器发送给你的页面是连同所有关联的图片,文字,和其它媒体。

你的电脑发送一个信息返回说:

”gotit!

”,连接关闭了。

一个opensocket服务器,连接始终保持连接,直到你退出程序或者引发一个事件切断连接。

因为连接保持打开,你可以实时地播放在网络上可用的流媒体、视频、文字和任何其它媒体。

你不能用一个正规的web服务器来做到这点,因为它是一个完全不同的结构体系。

1.2.1.EnterRTMP

当你使用一个正规的web页面,你很可能使用着HTTP协议。

为了能与流媒体一起工作,Adode开发了实时消息协议(RTMP)。

通常,当你使用FMS3,第一个连接到web服务器是通过HTTP,然后到FlashMediaServer使用RTMP。

因为这些安排,你同时与两种不同的协议一起工作:

一是web站点,二是流媒体。

1.2.2.专业语言和文档

为了能处理FMS3能做的所有事情,你有两个额外语言API,两个API是:

ActionScript-客户端媒体ActionScript和服务端媒体ActionScript,在本书中简单地叫CS和SS。

这些文档都有包含在安装包中,

1.3.安装FMS3(请参考原文,略过…)

注意:

你不能在MacOS或者AppleOS服务器上安装FMS3

1.4.组织你的开发环境

如果你是按照默认安装,你的FMS3会在你的电脑启动时自动启动的。

在这个环境里面,你需要设置你的工作环境,好让你更方便的测试你的应用程序

1.4.1.Server-SideFiles服务端文件

当你在Windows上安装FMS3,默认的安装会设置你的服务端文件在下面的路径中:

C:

\ProgramFiles\Adobe\FlashMediaServer3\applications

所有的服务端应用程序所在的文件夹是叫applications。

图1-10显示了一个在applications文件夹中的三个应用程序(ideafactory、flvedit、textChat)的路径视图。

应用程序的目录名必须为应用程序的名称。

如果你的应用程序名为“vidChat”,你必须建一个叫“vidChat”的目录。

目录可以是空的或者包含其它文件。

如果你为你的应用程序写服务端代码,文件名必须为main.asc或者和你的应用程序名称相同,像vidChat.asc。

在本书中,我使用与应用程序和名称来命名ASC文件,以减少当讨论更多的服务端代码时产生的混淆。

图1-10服务端程序路径

在图1-10中,ideafactory和flvedit应用程序目录下有与目录名相同名称的ASC文件,textChat应用程序的ASC文件名是main.asc,它也可以命名为textChat.asc。

同样地,其它的ASC文件也可以命名为main.asc。

1.4.2.客户端文件

你的客户端文件是一些Flash相关的文件如:

FLA、AS、SWF文件。

如果你的服务器安装在你的电脑上,这些文件可以放在任何地方。

当你测试影片的时候,你的服务器可以找到它们,可以正确的工作,如果你想在局域网内测试你的应用程序,你需要把所有的swf和html文件放置在你的web服务器上,你也可以把源文件:

fla和as文件和它们放在一起,这样方便测试。

图1-11展示了典型的一个在WindowsXP上使用ApacheWeb服务器的结构:

图1-11供远程访问的客户端文件

根据你web服务器的主目录,你的设置可以多样地。

例如,如果你使用一个IIS服务器,它的路径可能是这样:

C:

\Inetpub\wwwroot\FMS3apps

注意:

如果你与两个不同的“目录”工作:

服务端一个目录,客户端一个目录。

为它们做一个捷径,它可以节省你很多时间,让开发更顺利。

你可以在你的WindowsPC上不使用web服务器而,很完美的开发应用程序。

如果你在单机上开发和测试觉得很舒适地话,你可以把你的客户端放在任何地方,桌面是一个不错的地方。

1.4.3.在Macintosh上设置(略。

1.5.测试FMS3连接

连接到FlashMediaServer3的协议是RTMP-Real-TimeMessagingProtocol。

最新的RTMP是RTMPE(E代表加密)。

以下例子同时展示了这两种。

旧的RTMP是比较快点,但是RTMPE有加密而比旧的更安全。

设置一个网络连接,然后把RTMP路径放置在你的NetConnection实例中。

基本如下:

nc=newNetConnection();

nc.connect(”rtmp:

/appName”);

如果你的服务器在你的电脑上,你可以只使用一个”/”,如果你的服务器在局域网或者远程,你必须使用两个”//”

同一台电脑

nc.connect(”rtmp:

/FMSapp”)

不同一台电脑

nc.connect(”rtmp:

//www.myD

因为我在局域网中开发,所以我用了后者。

我喜欢把RTMP字符串放在一个变量中。

然后当我想要改变RTMP地址时,我只需要注释掉旧的字符串,当我需要它时,我只需要所注释去掉就可以了。

在本书中的例子都是使用单斜杠,LAN版本注释掉了。

同样,如果你使用一个LAN,确保你的RTMP使用了FMS3服务器的IP地址,而不是使用你本机客户端的IP地址。

当你的目录设置完,你需要测试一下是否能连得上FMS3。

通常,你需要一个简单的FMS3应用程序来测试一下。

如果你没有安装Flash,可以从A网站下载后安装。

在接下来的例子你需要用到FlashIDE。

下面步骤展示了怎么样建立一个简单的测试FMS3应用程序:

1.新建立一个flash文件,保存为FMS3Connect.fla

2.添加一个logo到舞台的左上角(可选)

3.打开属性检视窗口,在文档类中输入:

FMS3Connect保存文件

4.建立一个AS文件,保存为FMS3Connect.as。

5.添加Example1-1中的代码,保存文件

Example1-1.FMS3Connect.as

package

{

import.NetConnection;

importflash.display.Sprite;

importflash.text.TextField;

importflash.events.NetStatusEvent;

publicclassFMS3ConnectextendsSprite

{

privatevarnc:

NetConnection;

privatevarrtmpNow:

String;

privatevarmsg:

String;

privatevarconnectText:

TextField;

privatevarposX:

Number;

functionFMS3Connect()

{

nc=newNetConnection();

nc.addEventListener(NetStatusEvent.NET_STATUS,checkConnect);

rtmpNow="rtmpe:

//192.168.0.11/connect";

//rtmpNow="rtmpe:

/connect";

nc.connect(rtmpNow);

}

privatefunctioncheckConnect(event:

NetStatusEvent):

void

{

connectText=newTextField();

msg=event.info.code;

connectText.width=250;

connectText.text=msg;

addChild(connectText);

posX=connectText.stage.stageWidth;

connectText.x=(posX/2)-((msg.length/2)*(6));

connectText.y=175;

}

}

}

6.在服务端,添加一个叫connect的目录。

位置:

C:

\ProgramFiles\Adobe\FlashMediaServer3\applications\connect

记住,所有的服务端文件必须放置在FMS3服务器所在的电脑上,即使你使用LAN。

目录名称就是应用程序的名称。

可能有点不习惯,但是最后会变得极容易。

图1-13展示了你的应用程序应该显示的内容,一开始你可能要多等几秒,尤其是如果你使用LAN的话。

稍后你将会学习这个消息”NetConnection.Connect.Success”是什么。

它的意思是你的应用程序已成功的连接上了FlashMediaServer3。

图1-13.指示成功连接上服务器的消息

1.6.使用FMS3的AdministrationConsole(管理员控制台)

为了看看在你的服务器上是怎么回事,你需要使用到FMS3管理控制台。

它展示了在你服务器后台是怎么一回事。

打开如下图所示

如果你头一次打开管理控制台,会要法度你输入管理员用户名和密码。

管理员的用户名和密码和你在安装的时候所输入的是一样的。

如果你的服务器在一个安全的地方,你可以勾选记住信息,下次你再登录的时候,就不用输入了,它会自动进入。

为了开发方便你可以勾选上。

运行前面刚制作的FMS3Connect应用程序。

在管理员控制台,选择ViewApplications-Clients选项。

当应用程序运行成功,你可以看到当前使用应用程序的客户端数量。

另外有关客户端的信息请看图1-14:

图1-14.FlashMediaAdministrationConsole

当你比较熟悉了FMS3后,你会发现管理员控制台非常地有用。

在随后的章节中,你将会看到它可以提供有价值的反馈信息,关于你的服务正在做的事件。

1.7.使用这本书

学习FlashMediaServer3由你选择,但是每章的核心是一组核心的代码,为不同的程序展示最少的要求。

后面有一些会比较复杂,和优化FMS3。

章节中会包含一些不同操作的抽象代码。

此代码是作为一个程序的唯一目的:

澄清必须放在某个地方,某件事情才会出现发生。

它不会很精密,但是它会工作和帮助你了解怎么样实现不同的目的。

在更多高级的章节中,同样的操作可能会被呈现为一个类或者一个组件。

有时在同一章中,您会看到一个多样化的解决方案,为相同的任务,从一个简单的程序到一个面对对像的类的设计模式。

后面的略过…主要是简单的介绍了一下AS,更详细的参考和学习资料当然是安装包随附的文档

默认路径在:

C:

\ProgramFiles\Adobe\FlashMediaServer3\documentation

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1