`

Macromedia Flash Flash Media Server配置教程

阅读更多
简介:FMS的简单介绍  
 Macromedia Flash Media Server 2 是一个富媒体应用程序的开发框架和部署环境。开发 者可以使用Macromedia Flash Flash Media Server 来编写媒体应用程序,然后使用Flash Media Server来部署这些应用程序. Flash Media Server提供给你流媒体的能力,以及一种强大的急具弹性的开发环境。这 使你能够创建和呈递各种各样的交互媒体应用程序。比如视频点播,WEB事件实况广播,或 是MP3流。你也可以开发诸如视频博客,视频消息,以及多媒体聊天环境这样的通讯应用程 序。Flash Media Server 是Macromedia完整的数据库连通性,目录系统,以及现场服务解 决方案中的一个组成部分,是唯一的能够将音频和视频呈递给流行的Flash Player的服务 器。


 
FMS的安装!
FMS=Flash Media Server
FCS=Flash Commucation Server
最新的下载地址是


--------------------------------------
下载完毕后选择安装!(不安装怎么用啊,嘿嘿)
下一步下一步都会吧!
安装完毕后最好再配置一下服务器!
服务器的配置:
一.设定文件结构
设定档均放在C:\Program Files\Macromedia\Flash Communication Server MX\conf目

录下
 
1.conf目录下内建_defaultRoot_目录,与server.xml档案
  server.xml内涵括整个server的设定,如设定管理者帐号密码,在这Server上包含多少Adapter,Adapter有哪些VirtualHost, 而这些VirtualHost允许哪些帐号使用。  
  _defaultRoot_目录名称即是预设之Adapter名称,若你在服务器上设定多个Adapter,即会有多个目录,当然你若只是使用个人
  Developer版本的FCS,是不允许你使用多个Adapter。  
2.在Adapter目录(_defaultRoot_)下会有一个内建_defaultVHost_目录与一个Adaptor.xml档案
  Adaptor.xml内涵括目前所在Adapter的设定,主要是设定这Adapter内的host要使用哪个ip哪个port来进行联机。当你的Server 上有多个Adapter时,每个Adapter间绝对不可同时使用相同ip相同port号,否则会发生冲突,而致系统异常。  
  _defaultVHost_目录名称即是预设之VirtualHost名称,当你在这Adapter内设定多个VirtualHost,则需要有多个与所设定VirtualHost同名的目录存在。  
3.在VirtualHost目录(_defaultVHost_)内包含application.xml与vhost.xml两个档案 vhost.xml内设定了包含,这VirtualHost所要使用的application目录,application.xml内设定了要套用在application的设定。
二.如何增加server管理者帐号?
管理帐号是写在server.xml内在<admin>往下找会看到<UserList>,server可以有多少管理帐号,就会有几组的<User></User>。 name放的是使用者帐号,<Password encrypt="true">内是已编码的的密码数据,你可以将encrypt设成false,即可直接填入密码,不做编码,不过不建议这样做,可以透过以下两个方式设定编码之密码。
1.透过FCS提供之管理接口,在"Admin Users"项目下方加入或修改密码
2.使用Server Management Action Script写一个管理用的flash文件,利用指令addAdmin(admin_name, password)即可做到,至于Server Management ASD如果你有FCS光盘里面就有,若无则需要到Macromedia网站下载,FCS Help内并无这份资料。

三.如何指定FCS使用指定IP,指定port
开启Adaptor.xml,修改<HostPort>192.168.0.2:1935,443,80</HostPort>
使用rtmp联机server时即可将server ip设成192.168.0.2,然后联机会依序找1935port是否可用,若port 1935被挡,会接下来找port 443,再不行就会走port 80

四.如何指定application所在位置
系统安装好,application的位置都是预设在C:\Program Files\Macromedia\Flash Communication Server MX\applications下,也就是说你要联机的ap目录都要放在这里,通常这样的管理是比较不方便的,我会把applicetions要建置的目录放在其它好维护的地方
开启Vhost.xml,找到<AppsDir>填入你放的目录,以下是我的设定  
<AppsDir>d:\www_root\fcs_ap</AppsDir>

五.如何设定影音资料的虚拟目录
如果有预录好的mp3或flv影片檔要播放,这些要做streaming的多媒体档案须放在FCS上,而不是在Web Server,可指定较易维护的目录来放置档案,并设定虚拟目录名称。
开启Vhost.xml,找到<VirtualDirectory>,内可依需求设定多个stream虚拟目录,以下我使用两个目录分别来放video与audio
<Streams>video;D:\www_root\fcs_stream\video</Streams>
<Streams>audio;D:\www_root\fcs_stream\audio</Streams>

将mysong.mp3放到D:\www_root\fcs_stream\audio即可在程序内用mystream.play("mp3:audio/mysong")播放

准备工具:

Flash Media Server..

Flash 8 && Flash 8 Player (-______-)

一个摄像头,一个麦克.

作者:KeeRula
此教程及附带源文件仅做网友个人交流学习使用.请勿用于商业用途.需要商业版请单独联系.

打开FLASH,新建一个FLASH文档.

CTRL + L调出库..在库的右上角有个三角,点一下.然后选择"新建视频元件";

命名为:video

在主场景里新建2个图层,一个名字叫 video_record,另一个叫video_play;

将库里的视频元件分别拖到这2个图层中.起名字叫video_r和video_p.video_r是用来录视频的.video_p是用来放视频的.

(下面起新建MC啊,或命名一类的我就不写了.只做程序介绍.如果连MC命名都不知道的话相信也看不懂这教程.大家见谅

程序部分:
var server_uri:String = "rtmp://localhost/tensharp";
//FMS地址;

var videoName:String = "KeeRula";
//视频名.

var my_nc:NetConnection = new NetConnection ();
//新建一个连接对象,用来连接FMS;

my_nc.connect (server_uri);
//连接FMS;

var my_ns:NetStream = new NetStream (my_nc);
//新建流,用来捕获和播放视频;

var my_cam:Camera = Camera.get ();
video_r.attachVideo (my_cam);
//获得慑像头,并将摄像头获取的视频载入到video_r里.

my_cam.setQuality (1024, 90);
//设置带宽和质量;

var my_mic:Microphone = Microphone.get ();
//获得MIC;

my_ns.attachVideo (my_cam);
my_ns.attachAudio (my_mic);
//将摄像头图象和MIC声音装载到流.

video_p._visible = false;
//将播放窗口设置为不可见.

my_nc.onStatus = function (thisObj:Object)
{
//trace (thisObj.code);
if (thisObj.code == "NetConnection.Connect.Success")
{
RecordStop ("空闲中");
//执行录制停止方法.并将状态设置为空闲
}
else
{
trace ("错误:服务器未启动或URI输入错误.");
}
}
//onStatus这里是指服务器的连接状态.

function Record ()
{
video_r._visible = true;
//将录制窗口设为可见.
video_p._visible = false;
//播放窗口设置为不可见.
my_ns.publish (videoName, "record");
//关键就在这句了.写了这么多全围绕它来的.record为录制.
StreamInfo ("NowRecord");
//执行StreamInfo方法,并将参数设置为NowRecord;
btn_pr.btn_text.text = "停止";
//按钮文字:停止.
RecordInterval = setInterval (RecordTime, 1000);
//统计录制时间.
}
//方法:录制.

var timeNum:Number = 0;
//录制时间.

function RecordTime ()
{
timeNum ++;
txt_status.text = "正在录制" + " " + "时间:" + Math.floor (timeNum / 60) + "分" + (timeNum % 60) + "秒";
}
//方法:录制时间统计.

function RecordStop (__status:String)
{
//__status是当前状态文字.
txt_status.text = "当前状态:" + __status;
btn_pr.btn_text.text = "录制";
StreamInfo ("NowStop");
//执行StreamInfo方法..并将参数设置为NowStop;
clearInterval (RecordInterval);
timeNum = 0;
//不录了..要把统计时间清空.
if (__status == "录制完成")
{
Finished ();
}
//这个应该不用偶说了..
}
//方法:空闲或录制完成.

function Finished ()
{
my_ns.close();
//完成了..就要关闭录制.
var thisObj = this;
var FinishAlert:MovieClip = _root.attachMovie ("Alert", "FinishAlert", 100);
//这个是一个弹出框.具体看库里的MC:Alert.
with (FinishAlert)
{
alertTitle.html = true;
alertTitle.htmlText = "<b>" + "录制完成!" + "</b>";
info.text = "录制完成..请选择下一步操作."
_x = video_r._x + (video_r._width - _width) / 2;
_y = video_r._y + (video_r._height - _height) / 2;
btn_sub.btn_txt.text = "播放";
btn_cln.btn_txt.text = "重录";
btn_sub.onRelease = function ()
{
  thisObj.PlayVideo ();
  thisObj.closeAlert (FinishAlert);
}
btn_cln.onRelease = function ()
{
  thisObj.Record ();
  thisObj.closeAlert (FinishAlert);
}
closed.onRelease = function ()
{
  thisObj.closeAlert (FinishAlert);
}
}
btn_pr.enabled = false;
//把按钮设为不可点.
}
//方法:录制完成.

function closeAlert (__alert:MovieClip)
{
btn_pr.enabled = true;
unloadMovie (__alert);
}
//关闭那个Alert用的.

function StreamInfo (__status:String)
{
btn_pr.onRelease = function ()
{
if (__status == "NowRecord")
{
  RecordStop ("录制完成");
}
else if (__status == "NowStop")
{
  Record ();
}
else if (__status == "NowPlay")
{
  Record ();
}
}
}
//嘿嘿..如果把上面的仔细看了的话这个就不用我说了吧.^_^

function PlayVideo ()
{
txt_status.text = "当前状态:" + "正在播放...";
StreamInfo ("NowPlay")
video_r._visible = false;
video_p._visible = true;
video_p.attachVideo (my_ns);
//将视频载到播放窗口中.
my_ns.play (videoName);
//开始播放.
btn_pr.btn_text.text = "重录";
my_ns.onStatus = function (PlayInfo)
{
if (PlayInfo.code == "NetStream.Play.Stop")
{
  my_ns.seek (0);
  my_ns.pause();
  txt_status.text = "当前状态:" + "播放完成...";
}
}
//流状态信息...详细的请自己 trace (PlayInfo.code);
}
//方法:播放视频.
//需要注意的是用FMS播放的时候不用写路径.因为FMS录的视频直接存在FMS默认的流文件目录里了.
//录的视频的存放路径:FMS安装目录:/application/站点/streams/_definst_

如果上面看个差不多了可以自己动手做一下了.祝大家好运


提供FMS(FCS)服务端获取flv时间长度和删除flv文件的方法

--------------------------------------------------------------------------------

只要在main.asc里添加下列代码
//=====================================================================;
function getStreamLength(name) {
return Stream.length(name);;
}
//=====================================================================;
function clearStream(name) {
trace("clearStream("+name+");");
var stream = Stream.get(name);
return stream.clear();
}
//=====================================================================;
//设置Client.prototype;
//=====================================================================;
Client.prototype.getStreamLength = getStreamLength;
Client.prototype.clearStream = clearStream;


分享到:
评论

相关推荐

    Macromedia FlashPlayer 9.0.16.0

    Macromedia Flash Player 最新版

    Macromedia flash 8入门

    在安装 Flash 8 之前,请确保计算机系统满足最低配置要求,以便软件能正常运行。一般而言,安装过程相对简单,只需按照安装向导提示操作即可完成。 #### 八、学习 Flash - **从何处入手**:对于新手来说,建议先...

    Macromedia Flash Player 8.0 r22

    很多的朋友反映,将喜欢的Flash动画下载到自己的电脑后总是用IE浏览器或者第三方Flash播放器才能观看,感觉不好,希望用Macromedia的Flash Player播放,可是又很难找到!现在我就发一个最新版本的给大家!不过请注意...

    中文版Macromedia Flash MX 2004速成实用教程

    《中文版Macromedia Flash MX 2004速成实用教程》是一本专注于教授Adobe Macromedia Flash MX 2004这一经典版本的教材。Flash MX 2004是Macromedia公司(后被Adobe收购)推出的一款强大的交互式矢量图形和富媒体开发...

    FLASH 注册序列号 Macromedia Flash 8.0 简体版.exe

    在探讨“FLASH 注册序列号 Macromedia Flash 8.0 简体版.exe”这一主题时,我们首先需要了解几个关键的概念和技术背景。Macromedia Flash 8.0 是一款由Macromedia公司开发的动画创作软件,后来被Adobe Systems收购。...

    Flash Media Server 入门教程.doc

    ### Flash Media Server (FMS) 入门教程详解 #### 一、Flash Media Server简介 Flash Media Server(简称FMS)是Adobe Systems公司推出的一款专为流媒体传输设计的服务器软件。它支持实时数据和流媒体传输,广泛...

    Macromedia Flash MX 2004 V7.01 简体

    Macromedia Flash MX 2004 V7.01 简体

    Macromedia Flash MX 2004 V7.01 简体中文版

    Macromedia Flash MX 2004 V7.01 简体中文版 文件太大,我分8个,每个1分。

    Macromedia Flash v8.0 官方简体教程

    《Macromedia Flash v8.0 官方简体教程》是针对初学者和进阶者的一款详尽的教育资源,旨在帮助用户掌握Flash这一强大的多媒体创作工具。Flash是由Adobe公司(之前是Macromedia)开发的,主要用于创建交互式动画、...

    Macromedia™ Flash Lite™ 1.1入门

    ### Macromedia™ Flash Lite™ 1.1 入门 #### 一、关于 Flash Lite 1.1 **Flash Lite 1.1** 是由 Macromedia(现已被 Adobe 收购)开发的一种轻量级版本的 Flash 技术,专为移动设备设计。它允许开发者利用 Flash...

    Macromedia Flash MX 2004

    Flash是交互式矢量图和Web动画的标准。网页设计者使用Flash能创建漂亮的、可改变尺寸的、以及极其紧密的导航界面、技术说明以及其他奇特的效果。完全汉化版,实用于测试正式版!本次更新的内容:汉化95%的函数,更改...

    Macromedia flash作品

    【Macromedia Flash作品详解】 Macromedia Flash是一款曾经风靡全球的动画创作软件,它以其独特的矢量图形编辑和交互式内容制作能力,成为互联网早期动态内容的主要创作工具。Flash作品不仅包括动画,还涵盖了游戏...

    Macromedia.Flash.8.For.Dummies.pdf

    《Macromedia Flash 8 For Dummies》是一本详尽且易于理解的指南,旨在帮助初学者和有经验的用户掌握Adobe Flash(现为Adobe Animate)的第八个版本。这本书由Ellen Finkelstein和Gurdy Leete共同编写,是Wiley ...

    安装Flash Media Server 2,FLEX初学应该有用的吧。

    Flash Media Server (FMS) 2 是由Macromedia(后被Adobe收购)开发的一款用于传输实时音视频数据的服务器端软件。它提供了强大的流媒体处理能力,能够支持包括视频点播(VOD)、网络直播、音频流等多种媒体应用形式。...

    flash教程_flashmx2004教程

    Flash MX 2004是由Macromedia公司(现已被Adobe收购)开发的一款强大的交互式多媒体创作工具,它被广泛用于创建网页动画、游戏、应用程序和教育内容。本教程旨在帮助初学者掌握如何利用Flash MX 2004来设计和制作...

    Macromedia.Flash.Player.7.0.0.2

    Macromedia.Flash.Player.7.0.0.2

    Macromedia Flash MX Professional 2004 v7.2

    Flash是交互式矢量图和Web动画的标准。网页设计者使用Flash能创建漂亮的、可改变尺寸的、以及极其紧密的导航界面、技术说明以及其他奇特的效果。完全汉化版,实用于测试正式版!本次更新的内容:汉化95%的函数,更改...

Global site tag (gtag.js) - Google Analytics