flash media server播放实时视频流

标签:

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图2.连接到电脑的所有摄像头

注意:你可以使用多种摄像头甚至是数字视频录像机来捕获视频。正如FME支持文档中所阐述的那样:Flash Media Live Encoder被用来和微软遭人抱怨的视频流驱动设备协同工作。访问Flash Media Live Encoder Device Compatibility Matrix (PDF, 13K)获得Adobe已专门测试的设备清单。这个列表绝不是全位置的,它只是目前经过Adobe测试的设备清单。完成的第一条线索就是清单中缺失了iSight摄像头。

3.在format弹出菜单中选择VP6.这是压缩最终FLV文件所用到的多媒体数字信号编码器。另一个选项是H.264。如果你有一个可以拍摄高清的DV的话,选择这个选项。必须意识到最终生成的文件不会是QuickTime文件,它是一个F4V文件,这是与FLV等同的MP4文件。

4.从位率弹出菜单中选择350kbps。你需要在本地运行,所以350kbps是不会有问题的。

5.为该FLV文件大小设置为640*480,同时在帧率弹出菜单中设置为24fps

6.如果你使用一个外部的麦克风,例如我用的Rode Podcaster,那么从音频设备弹出菜单中选择它。

7.设置音频格式为单声道的MP3

8.最终从Sample rate弹出菜单中选择22050kHz,设置bit rate为48Kbps

9.使用音量滑块来调整麦克风的音量。

在窗口的底部可以看到音频位率和视频位率之和的总位率。这是一个非常重要的数字因为它直接影响了用户体验。如果你不确定使用什么数字的话,去向Robert Reinhardt的 Flash Video Bitrate Calculator 寻求帮助。

在FLASH MEDIA LIVE ENCODER中创建FLV

已经为FLV设置好了,你可以把你的注意力转向到创建FLV文件:

1.在输出面板,取消选择Stream to Flash Media Server,因为捕获不会实时播放所以不需要这个选项。

2.单击浏览按钮打开另存为对话框。定位到你的vod文件夹(C:/Program Files/Adobe/Flash Media Server 3.5/applications/vod/media ), 命名此文件然后点击保存按钮。

3.点击绿色Start按钮开始记录并并创建FLV文件。当你单击这个按钮的时候,界面转向开始显示日志,日志提示你视频记录过程已经开始(见图3)。见到视频预览时就可以移动和谈话了。

4单击Stop按钮完成记录。进而返回到FME界面。

5.如果你愿意,可以退出FME。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3。摄像头记录行为。

在FLASH中播放此FLV

现在已经创建了一个FLV文件,是时候该播放它了:

1.启动Flash cs4(或CS3)创建一个新的ActionScript3.0 文档。

2.设置舞台大小为640*520匹配刚刚创建好的FLV大小以及给FLVPlayback皮肤留有空间。

3.拖动一个FLVPlayback组件副本到舞台上,设置其大小为640*480.选中此组件,在Flash cs4中选择窗口>组件检查器,在Flash CS3中单击属性检查器的参数选项卡。

4.双击skin参数选择SkinUnderAllNoFullNoCaption.swf.单击ok。

5.单击source参数输入rtmp://localhost/vod/YourFLVName.谨记你只需输入FLV的名字而不需要扩展名。

6。保存并测试影片。见图4,你的网络摄像头和其他设备已经从一个有趣好笑的工具转变成了一个真正实用和非常重要的东西。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图4.播放视频捕获

创建一个实时广播

既然你已经知道了如何使用Flash Media Live Encoder创建一个FLV文件,是时候将知识付诸实践创建一个实时广播了。一下就是有趣的地方:工作流程和之前的练习基本一样。区别在于不再是创建一个文件而是你通过Flash Media Live Encoder直接将流广播到网页中。具体步骤如下:

1.打开Flash Media Live Encoder。但不要更改音视频编码选项。

2.在输出领域,选中Stream to Flash Media Server选项。一旦你选中它就会注意到URL自动设置为Flash Media Server3.5的vod文件夹。

3.选择stream输入文本框中的文本。这就是你将输出的文件名称。默认名称是livestream但你可以随意更改。

4.Flash Media Live Encoder的一个简洁方面是它具备保存广播副本的能力。选中Save to File,单击Browse按钮,保存捕获的内容到你的vod文件夹或其他位置。这是创建广播文档的轻便方法。

5.现在,你已经准备好开始你的广播了(见图5)。先不要退出Flash Media Live Encoder。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图5.实时广播的输出设置

在FLASH中创建一个实时广播接受者

在内容的前面我慎重的使用"几乎"这个词。你需要创建Flash文档接受来自Flash Media Server的live文件夹的种子。

1.打开Flash cs4,创建一个640*480大小的ActionScript3.0文件。

2.拖动一个FLVPlayback组件到舞台上,设置大小为640*480.

3.选择舞台上的组建,打开Flash cs4中的属性面板

4.双击source参数输入 rtmp://localhost/live/livestream。单击ok关闭对话框。即使你已经告诉Flash去哪里找实时视频流,但你还没有告诉Flash去哪里播放实时视频流。

5.选择舞台上的组件。在属性检查器中输入实例名称myVideo.

6.添加新图层,命名为actions(见图6)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图6.为实时视频流做准备

7.选择actions图层的第一帧按下F9打开动作面板。

8.单击脚本窗格输入:

myVideo.isLive = true;

FLVPlayback组件的isLive属性只能取两个值:TRUE或False。只有当种子正从Flash Media Server

中流出来的时候属性才会工作。如果你使用的不是Flash Media Server,而是从一个HTTP地址以渐进

方式下载视频,同时isLive又被设置成了true,那么Flash就会简单忽略了ActionScript,任何事情都

不会发生。

9.关闭动作面板,选择文件>发布设置.打开发布设置对话框后在类型列表中选中Flash(.swf)和HTML

(.html).

10.单击发布,完成后关闭地画框,保存文件并退出Flash。

广播网络摄像内容

已经创建了使用Flash Media Live Encoder的"种子"以及用Flash cs4创建了接收种子的SWF文件,

那么你就可以使你的网络摄像头开始工作并创建广播:

1.返回到Flash Media Live Encoder单击Stream输入之下Connect 按钮。这就创建了FME和本地

Flash Media Server的live文件夹之间的连接。连接创建好之后,button名字就变成了Disconnect.

2.单击Start按钮。

3.在浏览器中打开Flash中创建的HTML页面。会有稍许的延迟但那就是你,活生生缤纷多彩的你。

4.完成后,返回到Flash Media Live Encoder单击红色的Stop按钮,退出浏览器并关闭Flash Media

Live Encoder.

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图7.真实的来自街头的我

接下来

此文告诉你Flash Media Server3.5 和Flash Media Live Encoder是如何协同工作向你提供由易到难的实时因视频流能力。如果你对这一话题感兴趣,以下的两篇文章是你应该阅读的:

****Learning Flash Media Server 3 excerpts: Nonpersistent shared objects and two-way A/V communications :摘自William B Saunders的Learning Flash Media Server3的这两张告诉你在不采用Flash Media LiveEncoder的情况下如何使用FMS和实时消息协议记录和流传输媒体。

****Working with metadata for live Flash video streaming : Jens Loeffler撰写的此文告诉你如何创建一个将元数据整合到实时视频流中的Flash视频程序。

posted @ 2009-05-15 16:17 Andy 阅读(25) | 评论 (0) 编辑

 

四、Flash Media Server3.5安全特性

此文是结构松散的初学者教程系列第四篇。主要阐述了如何更好的应用Flash Media Server3.5的新安全特性。首先我将告诉你如何加密视频,使用户无法拦截网络上的流信息。然后我将解释如何添加SWF证书,从而使得用户无法反编译以及重新使用你的SWF文件。

他们不把它叫做“野生,野生的网页”的原因是它的情况并不少见。例如,当你发布影片到你的网站上,几分钟之后它就会出现在别的地方。事实上,如果有正当理由困扰着网络视频的使用的话,那就是不安全性。

让我说清楚本文的目的。在这里我将采用的方法并不是像保护一个州的首脑一样将视频包裹在一个安全的警戒区。相反,我将会使它可以被自由的使用,但想偷就不是那么容易了。

我将用类比的方法来阐述内容。最近我需要为我的笔记本电脑配置一个鼠标。在如此简单的购物中使我感到震惊的是鼠标的包装:它被包装在一个坚硬的塑料壳里面,想要打开它必须要用到链锯。这样包装的目的就是防止偷窃。想要打开它需要非常长的时间而且机会是很好的。如果你试图打开包偷走鼠标的话,会有一名监视你的保安人员走过来询问你究竟要做什么。

采用渐进方式下载视频,也就是使用HTTP连接将FLV文件下载到Adobe Flash Player中等同于将鼠标用USB线悬挂在架子上。绝对是不安全的,而且比较容易被偷。原因是FLV文件被下载到了浏览器的缓存中。将此FLV文件从缓存中复制到桌面是不费吹灰之力的。

如果仅仅是通过手机向祖父传递儿子的视频或相片的时候,安全不那么重要。换句话说,如果你花钱购买了内容或者是投资了内容的生产,那么保护你的投资对你来说就变得意义重大了。这也就是Flash Media Server产生的原因。

当通过FMS流传输视频的时候,没有任何东西进入浏览器的缓存。Flash Player担当起了将比特流转换成网页中放器中FLVPlayback组件能播放的视频。通过FMS流传输视频为视频的安全做出了重大升级。就像是零售商将鼠标锁在了橱窗里,或将鼠标转移到上锁的陈列盒里。

注意:阅读Flash VIdeo Learning Guide的“Delivery options for Flash Video"章节获取更多的网络传输视频方法,同时观看视频技术中心的“Delivering video on the web”视频了解渐进式下载FLV文件和流传输之间的区别。

Flash Media Server3.5内置了两种特性帮助你将鼠标放回到架子上而且不会被偷走:加密和SWF证书。此文告诉你如果应用这些特性到一个流视频中。

加密或静区

你不是很讨厌当你在和别人谈话的时候,别人趴在墙上偷听吗?在互联网上这是非常普遍的,很多第三方开发的程序已经被用来监听服务器和客户端的信息。当它们捕获到一个感兴趣的数据流后直接就会抓住它,而不先进行询问。

FLash Media Server内置了加密特性,最令人喜欢的一点就是:为了使用它你并不需要获得量子物理学的博士学位,而仅仅需要的是多按下键盘上的一个键。

具体步骤如下:

1.下载将会用到的文件http://download.macromedia.com/pub/developer/beginner_security_fms3.zip 。解压后,拖动Vulures.flv和Vultures.mp4两个文件到vod文件夹下的media文件夹里。路径是C:/Program Files/Adobe/Flash Media Server 3.5/applications/vod/media.

2.打开一个新的Flash Cs4 文件。拖动一个FLVPlayback副本到舞台上。

3.在组建检查器的参数选项卡中,双击source参数打开内容路径对话框(见图1)。

4.输入如下路径:rtmpe://localhost/vod/Vultures

5.点击Ok,当Flash将元数据加载到FLV文件中后对话框会关闭。

6.保存并测试影片。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图1:通过在rtmp路径中添加字母e实现Flv文件加密

播放视频的FLV文件是一个加密的文件。通过添加字母e到路径上,你就告诉了FMS3.5对vod文件夹中的FLV文件添加实时的加密。在服务器到客户端Flash播放器的传输过程中文件都是加密了的,而Flash Player并不需要任何钥匙就可以实现文件的解密。

只有当你打开FMS3.5 管理控制台后才会被提示流是经过加密处理的。如果你单击View Applications然后单击Client选项卡,你就会看到在协议栏里流出服务器的视频流所采用的协议是RTMPE。(见图2)

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图2.管理控制台指示协议栏的加密FLV流。

SWF文件的防盗校对

如果你接触网络有一段时间了,你就会明白捕获一个SWF文件是多么容易的一件事。事实上,关于这个操作的一个非常普遍的讨论时“嘿,我已经得到了 一个SWF文件,问题是我该如何反编译它从而获得源文件呢?”我不想深入讨论有关的道德问题,因为在特定情况下这样操作是十分必要的。但总体而言,反编译SWF文件是不可接受的。

这就提出了一个相当有意思的问题:“我已经花费了大量的时间和金钱开发SWF文件。我该如何防止它被其他人反编译呢?”如果你采用Flash Media Server3.5话,那将会是一件极其容易的事情。

具体步骤:

1.创建一个新的Flash Cs4文档。

2.舞台上添加一个FLVPlayback组件,并将其源参数设置为rtmpe://localhost/vod/mp4:Vultures

3.在皮肤属性,选择SkinUnderPlaySeekFullscreen.swf.

4.添加一个新图层,在此图层的舞台顶部加入一些文件或者画一个简单的图形。文字或图形在这个练习中是十分重要的。

5.继续,测试影片。一切工作正常,文本位于视频之上(见图3)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3:视频正常播放

注意:正如我以前指出的那样,当指向的是vod文件夹中的mp3和mp4文件时需要在媒体类型后追加冒号和文件名,没有扩展名。如果文件无法正常工作,认真检查无比确保冒号和文件名中间没有插入空格。

保护文件不被偷走和反编译是Flash Media Server3.5的一个极其漂亮的特性。关于这一特性,默认情况下是不被激活的,你要启动它需要改变一些设置。

首先改变驱动该特性的XML文件。如果你不太适应直接改变application文件,那么事先先把文件复制到桌面,这样如果你犯了错误的话,还可以用原来的文件替换掉。

6.保存文件并定位到C:/Program Files/Adobe/Flash Media Server3.5/conf/_defaultRoot_/_defaultVHost_,打开此文件夹里的Applications.xml文件。

注意:我会用Dreamweaver来打开这个XML文件,至于采用什么应用程序完全取决于个人爱好。

7.向下滚动到726行,如果没有行标,那么用SWf作为关键字进行搜索就可以找到了。

8.现在把<SWFVerification enable="false">中的false改成true,见图4.

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图4.更改设置为true,打开SWF证书。

先不要保存文件,这个过程还有一个你需要知道的方面。

你不能仅仅打开SWFVerification就高兴的希望它能工作。你同时还需要放置一个SWF文件副本到某特定的位置。如果向下滚动XML文档就会注意到这样一个标签<SWFFolder></SWFFolder>。如果你已经阅读了在此标签之前的注释文字的话(见图5),你就会明白需要创建一个文件夹(推荐使用SWFs名字),同时将即将创建的SWF文件放置到这个文件夹下。将会发生的是服务器会首先去包含此SWF文件的文件夹以及证实其是否正确。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图5.通过将SWF文件放置到一个特定的文件夹锁定它。

9.如果继续向下滚动到XML文件的下一部分,就会发现可以设置采用的Flash播放器的版本。不要随便修改这里。唯一可用的版本是Flash Player 9.0.115及更高版本。这里的设置是为了使其能够适应未来的播放器更高的版本。

10.滚动到<Cache>标签区域。你就会看到SWF文件会存活--TTL标签意味着Time To Live--1440分钟在缓存中也就是24小时。如果你认为过长或过于偏执,你可以更改数值。事实上,改成5的话就意味着只会在内存中保留5分钟。(见图6)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图 6.SWF只在缓存中保存5分钟

11.保存文件并退出编辑此文件的程序。

在更改了服务器配置之后,你将要做的是重新启动FMS3.5server。

具体步骤如下:

1.启动Flash Media Server管理控制台,打开后,单击Manage Servers按钮。

2.在servers面板的底部有5个按钮。中间的那个像圆形箭头的按钮(见图7)就是要找的按钮。用来重启服务器或主机。单击后,将会提示你是否要重启服务器。单击Restart后,SWF Verification就被打开了。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图7.单击中间按钮重启服务器

3.返回到Flash Cs4中,发布Vultures影片。在浏览器中打开HTMl文件,视频不会播放。事实上,你应该看到的是酒吧,但你现在看到的是SWF文件不能被确认而服务器拒绝了此流。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图8.SWF文件不能被证实时看到的(你没有做错人和事)。

4.现在为了使一切正常工作,需要做的是复制粘贴此项目中的SWF文件到Application.xml中你启动SWFVerfication时所指向的文件夹中。定位到C:/Program Files/Adobe/Flash Media Server 3.5/applications/vod创建一个名为SWFs的文件夹。

5.回到包含已发布HTML文件的那个文件夹中,打开HTMl文件,视频开始播放了!

6.为了更真切的认识到这一特性是如何加固房屋的,返回到Flash 项目中,移动图层2里的对象到舞台的另一位置,见图9.你所做的正式模拟一个盗贼偷盗你的SWF文件,反编译它,以及玩弄它。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图9.屋内的盗贼

7.使用相同的名字发布次文件,打开HTML文件。你就会看到图10 所示的内容。事实上,FMS3.5已看到了当前的SWF文件,指向了SWFs文件夹,然后询问“此文件夹中的SWF文件是当前正播放的SWF文件吗?”响亮的回答“不是”。结果就是否定了这次连接请求。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图10.由于两个文件不匹配且不能被证实所以否定了流

最后,一下是一些需要知道的详细信息:

1.如果设置了

<SWFVerification enabled="true">,那么就打开了这一特性,所有本地创建的SWF 文件都需要被证实。如果你不认为自己会用到这一特性,那么在学习完此教程之后就将值设置为false.

 

2.如果任由verification特性打开,确保所有使用FMS3.5的SWF文件都被复制到了SWFs文件夹。如果不这样做的话,什么都不会工作--我猜Adobe的技术支持热线必定会接到许多盛怒的电话。

 

在本篇文章里我已经告诉你了如何在本地工作。如果这两个特性对你来说直观重要,那么为了将盗贼挡在门外你需要和你的网络服务提供商或FVSS讨论这些特性。

 

接下来

 

此文告诉你了一些保护你的内容的方法。其中之一相对简单---RTMPE加密视频流,另一种是采用fms3.5的SWFVerification新特性。如果你比较关注这一话题,以下是其他相关的内容:

 

1.Lisa Larson-Kelley在 Scaling and securing streaming media applications with Flash Media Server 文中围绕这一主题进行了更深入的阐述。

 

2.如果你真的需要工业实力保护,你可能想了解Flash Media 版权管理服务器,请阅读Laurel Reitman's overview .

 

下一篇文章涵盖了使用FLVPlayback组件和ActionScript3.0实现音频的基本流处理。

 

posted @ 2009-05-15 16:16 Andy 阅读(9) | 评论 (0) 编辑

 

五、Flash Media Server3.5实现音频流式处理

此文是Flash Media Server3.5初学者教程的第五篇。这一部分告诉你如何通过FMS3.5对音频进行流处理。首先我将带你总体认知一下Flash Media Server的音频流处理能力。然后通过一些应用程序例子告诉你如何流处理音频以及如何控制它,通过新的FLVPlackback2.5组件和ActionScript3.0两种方式(此后的文章将会更深入研究通过ActionScript流处理视频)。

截止目前为止,你已经处理流媒体视频文件。然而,有时候某些人会要求你通过Flash Media Server3.5传输音频。

关于音频和FMS3.5,你首先需要了解这是和使用ActionScript3.0处理音频完全不同的游戏。ActionScript包含了一些声音类来管理音频。在FMS3.5中,那些类则扮演了次要的角色。理由很简单:文件正被加入流中,因此ActionScript3.0 中的"attachAudio"方法无论出于任何目的都被认为是无用的。

Flash Media Server3.5能够流处理三种音频格式:NEllymoser,mp3和ACC。在这个教程中,你真的不会用到Nellymoser,它更多的代表语音。ACC是新生物。这种格式有一些新的特性,好消息是Adobe Flash支持AAC+,HE-AAC,AAC v1和AAC v2.坏消息是ACC内容只能在Adobe Flash Player9.0.115或更高版本中播放。(这是有道理的,因为这是伴随着Flash Player更新所推出的H.264播放)。

注意:为了获得AAC格式的概要认识,请阅读我的Adobe Developer Connection同事Fabio Sonnati博文:HE-AAC v2: A quick technical overview .

现在已经知道了可以用什么,接下来告诉你如何使用它。

FLVPLAYBACK组件与流式音频

最近我开始使用一个苹果的笔记本电脑以及美洲豹操作系统,我又安装了微软的Vista操作系统。问题是每当我启动Vista的时候,我禁不住要思考“这是错误的,我正使用苹果电脑呢”无论我什么时候通过FLVPlayback组件流式处理音频时我就会获得同样的感觉。通过一个我用来播放视频的组件播放音频需要做出很大的适应。

通过FLVPlackback组件做基本的音频流

开始之前:

1.下载本文所用的文件http://download.macromedia.com/pub/developer/beginner_audio_fms3.zip 。解压已下载的案例文件,打开Exercise文件夹,复制AndreHprofile.mp3文件到C:/Program Files/Adobe/Flash Media Server 3.5/applications/vod/media文件中。

2.打开一个新的Flash cs4 ActionScript3.0文档。

3.选择窗口>组件打开组件面板。

4.拖动一个FLVPlayback2.5组件副本到舞台上。

5.选中舞台上的组件,打开组件检查器单击参数选项卡了解FLVPlayback组件的相关参数信息。

6.双击skin参数。选择皮肤对话框打开后,选择SkinUnderPlay.swf。

7.双击source参数输入rtmp://localhost/vod/mp3:AndreHprofile(见图1)

单击ok后出现一个进度条指示组件正在读取音频文件的元信息。这里的关键仍然是媒体类型。注意它是mp3。如果你不在路径中添加mp3的话,音频文件是不会播放的。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图1.通过FLVPlayback2.5组件流处理音频

8.保存并测试影片。音频开始播放,同时可以通过点击相应的按钮打开和关闭音频播放。

很明显这里有两个不好的地方。首先有很大一块用来播放视频的空白区域。第二点就是皮肤似乎仅仅是摆设。这意味着添加皮肤可能并不是一个好的想法;本来可以得到更好应用的舞台控件全被FLVPlayback组件用完了。

注意:在运行的时候你可以用一张图画去填充FLVPlayback屏幕。我很乐意告诉你如何做,但这超出了本文的讲授范围。

因此,假设音频会在后台播放,而并不需要打开或关闭它。

9,移动元件到剪贴板(见图2),选中组件后设置skin参数为None。

10.测试影片。视频文件依旧播放。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图2。使用组件播放背景音频

通过FLVPlayback组件控制音频流

在先前的例子中音频可以播放。问题是这并不能被认定为工业最佳产品。用户应当可以控制音频的播放和关闭。

具体步骤如下:

1.打开下载的案例文件Component3.fla,可以看到已经在剪贴板中添加了FLVPlayback组件副本以及加入了一些文字。

2.选择Audio图层打开组件面板。

3.打开Video组件列表拖动一个MuteButton组件到舞台上(见图3)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3.通过MuteButton组件控制音频

4.选择舞台上的FLVPlayback组件,设置其source参数为rtmp://localhost/vod/mp3:AndreHprofile

5.保存并测试影片。点击Mute按钮时,播放/关闭音频。

现在你已经知道了如何使用组件,接下来我会告诉i如何通过ActionScript3.0完成相同的工作。

ActionScript3.0 与流式音频

如果你已经接触Flash有一段时间,你就会知道使用FLVPlayback组件会增加SWF文件大小。FLVPlayback2.5组件也不例外。例如,上一个练习产生的文件大小在62kb左右。要想完成相同的任务而文件大小仅仅2kb该怎么办呢?ActionScript就可以做到。

正如我在开始提起的那样,当使用Flash Media Server传输音频文件时需要用不同的思维方式。你正在流传输音频而不是播放它。很好的区别这一点对于你的理解是至关重要的。这里不会用到声音对象。

流传输一个音频文件

开始之前,打开已下载的文件夹复制AudioTest文件夹到 C:/Program Files/Adobe/Flash Media Server 3.5/applications。打开AudioTest后,就会发现在整个系列教程中用到的main.asc和4个音频文件在_definst_文件夹里。

打开已下载文件夹里的DevCenterApp.fla文件。正如图4所示,已经在舞台上添加了两个按钮和一些文字。唯一要做的就是用ActionSript让它运转起来。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图4.两个按钮和一些文字;ActionScript变魔术

选择Actions图层的第一帧按下F9(windows)或Option+F9(Mac)打开动作面板,在脚本窗格中输入如下代码:

var nc:NetConnection = new NetConnection();

var ns:NetStream;

nc.connect("rtmp://localhost/AudioTest");

nc.addEventListener(NetStatusEvent.NET_STATUS,

netStatusHandler);

function netStatusHandler(evt:NetStatusEvent):void{

if (evt.info.code == "NetConnection.Connect.Success"

){

playNetStream();

}

};

function playNetStream():void{

ns = new NetStream(nc);

ns.play("mp3:AndreHprofile");

};

pauseBTN.addEventListener(MouseEvent.CLICK,pauseIt);

function pauseIt(evt:MouseEvent):void{

ns.pause();

};

playBTN.addEventListener(MouseEvent.CLICK,playIt);

function playIt(evt:MouseEvent):void{

ns.resume();

};

我会带领你完成此代码,以便你明白是怎么回事。

前两行创建了NetConnection和一个用来加载音频到FLash Player的NetStream变量(ns)。采用这一变量

而不是NetStream对象的原因就是在开始播放文件之前需要确保建立了一个真实的连接到Flash Media

Server。下一行创建到你复制到applications文件夹的VideoTest应用程序的连接。

注意:如果你使用的不是一个应用程序而是vod文件夹,那么这一行就要写成:

nc.connect("rtmp://localhost/vod");

代码块的最后一行告诉Flash收听NetConnection并监听一个名叫NET_STATUS的NetStatusEvent,一旦间听到

就执行netStatusHandler函数。

对于流新手而言,需要知道一旦Flash Media Server和Flash Player之间建立了连接,它们就开始相互交谈

。交谈采用特定的形式-其中之一就是你在特定情况下监听什么。所有的监听者都是在交谈开始后立即开始

监听。

下一个代码块是netStatusHandelr函数。条件语句精确地告诉Flash监听什么(NetConnection.ConnectSuccess)

以及一旦监听到就执行playNetStream()函数。

下一个代码块是音频如何播放。使用nc NetConnection创建一个NetStream对象。NetStream然后使用play()

方法播放音频。

剩下的两个函数使用NetStream类的pause()和resume()方法关闭音频以及重新开始播放。

保存并测试文件。

从多个音频文件中选择

现在你已经知道如何播放一个文件,我将会告诉你如何从多个音频文件中选择。

我的女婿,Phil Darling是多伦多一个非常流行的乐队里的贝司手和Tin Bangs的创始人。这个乐队发布了

一个包含三首歌曲的密纹唱片,它们想把这些歌曲通过流方式传输出去以便让歌迷能够听到。(非常感谢

Phil 和乐队的其他成员允许我在这个例子中使用这些文件)。

这意味着你的流应用程序的使用者应当可以从三首歌曲中进行选择。我选择使用ComboBox,这样一个弹出的

可用音乐菜单不会对界面产生多大的干扰。

注意:这个文件使用ListBox组件一样可以很容易的完成。我将会采用硬编码的方式将音乐导入项目中。如果

你觉得这种方式古怪的话,可以采用XM作为listBox和ComboBox组件的数据源。由于篇幅有限,我不会采用这种

方法。

打开TinBangs.fla文件,就会我已经为你构建好了界面。如果打开库(见图5)就会看到ComboBox组件和背景

图片。你将要做的事使用ActionScript3.0将组件添加到舞台上并将音频文件以流方式传出去。

注意:练习用到的音频文件在之前安装的文件夹AudioTest下找到。如果你跳过了这部分练习,那么复制

AudioTest文件夹到C:/Program Files/Adobe/Flash Media Server 3.5/applications .

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风 图5.少量的ActionScript激活这个项目

选择actions图层的第一帧按f9打开动作面板。动作面板打开后会发现我已经写好了将ComboBox拉出库,

格式化并放置到舞台上的代码。关键代码在第5行,创建一个名为songs的数组。

ComboBox组件使用一个值对:label和data,label是ComboBox在舞台上呈现给用户的,data是使项目中

事情发生的字符。data字符是AudioTest文件夹中的歌曲名字不带扩展名。数组的第一项Select a song

标签不带数据;起到告诉用户做什么的作用。运行的时候单击它就会打开ComboBox了。

下一个代码块创建了一个名为songsCB的ComboBox对象,设置它的参数和舞台上的位置,告诉从哪里获取数据

以及最终通过addChild方法放置到舞台上。

下一个代码块通过为文字设置字体、字体颜色、大小和样式来修饰ComboBox的内容。

用户已经可以选择歌曲了,接下来我将告诉你当ComboBox中列举的歌曲被选中时如何播放它。

向下滚动到代码的28行输入如下代码:

songsCB.addEventListener(Event.CHANGE, playTune);

var nc:NetConnection = new NetConnection();

var ns:NetStream;

nc.connect("rtmp://localhost/AudioTest");

nc.addEventListener(NetStatusEvent.NET_STATUS,

netStatusHandler);

代码开始于创建一个监听ComboBox的CHANGE事件的事件监听器。当用户点击一个歌曲标题时就会产生一个事件。

一旦FLash监听到就会执行playTune函数。

按回车键两次输入如下代码块:

function netStatusHandler(evt:NetStatusEvent):void {

if (evt.info.code == "NetConnection.Connect.Success"

) {

ns = new NetStream(nc);

// trace("Congratulations. You are connected.");

}

};

这属于家务管理的领域,切忌,ns永远不会被连接 因为一个NetConnection从来没有确立NetStream。

此代码是你告诉Flash如何等待直到获得一个成功的连接。

伴随着这种家务管理的方式,你可以添加功能。

注意:trace注释语句用于本地测试目的。最终把文件上传到FMS服务器的时候删除或保留此语句都可以。

按两次回车键添加如下代码:

function stopMusic():void { ns.close();}; function playTune(evt:Event):void { ns.close(); if (ComboBox (evt.target).selectedItem.data !="") { stopMusic(); ns.play("mp3:"+ComboBox(evt.target).selectedItem.data); }};

第一个函数stopMusic()完成如何管理一首歌曲的功能。仅仅简单使用NetStream的close()方法关闭

流。最后的函数playTune完成如何播放歌曲的功能。通过使用close()方法关闭所有可能正在播放的歌曲。

条件语句处理ComboBox中哪一项被选中。首先做的是询问是否有数据和选中的项目关联。如果没有,就不会

发生什么。因此可以使用ComboBox的第一项关闭正在播放的歌曲,因为没有数据和第一项关联。在这种情况下,

单击此处意味着函数简单返回到上一行。

如果有数据关联的话,stopMusic()函数被执行。如果删去stopMusic()此行代码当你选择一首不同的歌曲就

会有两首交替播放的歌曲。(根据Martha Stewart的说法,这不是什么好东西)。

在关闭当前歌曲之后,代码的最后一行将第五行的数据中的数据传入到ns.play()方法中。

因此,如果选中第一首歌曲,方法将会是:

ns.play("mp3: WhiteLies(Timekiller)");

检测代码,如果一切正确保存并测试项目。单击ComboBox(见图6)中的一项,歌曲就会播放。

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图6.最终的项目

接下来

我希望你明白Flash Media Server3.5除了简单的播放视频外还可以做很多。它同样可以播放音频。正如

你所看到的,你可以采用多种方法播放一首歌曲以及整个歌曲列表。由于使用的是FMS3.5所以音频文件不会

进入浏览器的缓冲区,这是最好的一点。

如果你真的希望创建或控制自己的音频文件的话,最好的起点是使用Adobe Soundbooth CS4,它逐渐被

认为是Flash的音频编辑器。SoundBooth帮助支持中心提供了一些指引你在相对短的时间内掌握此程序的

教程。

如果你正寻求一些工业强度的音频工作,Adobe Audition3适合你。你可以下载一个测试版然后购买。

此系列教程的下一篇将深入研究使用ActionScript3.0流式传输实时视频。

 

posted @ 2009-05-15 16:16 Andy 阅读(12) | 评论 (0) 编辑

 

三、Flash Media Server3.5中应用ActionScript3.0

此文是Flash Media Server3.5初学者系列教程的第三篇。主要讲述了如何通过使用ActionScript3.0实现对来自vod 文件夹以及应用程序的H.264视频的流式处理。

vod文件夹内的视频进行流处理

首先,我将向你演示如何使用ActionScript流处理来自vod文件夹的H.264视频

1.下载本文所用文件。那个MP4文件是我工作的大学的一位影视创作的学生制作的.下载地址:http://download.macromedia.com/pub/developer/beginner_as3_fms3.zip

2.解压文件后,复制Vultures.mp4文件到剪贴板

3.定位到C:/Program Files/Adobe/Flash Media Server 3.5/applications .下面会有一个vod文件夹,打开它

4.打开文件夹,粘贴vultures.mp4文件到此文件夹。

5.关闭打开窗口。

并没有什么新的知识点。如果你一直紧紧跟随着此教程的学习,你就会明白vod文件是被看作一个发布点。到目前为止,我们所要做的仅仅是将FLVPlayback组件的内容路径设置为C:/Program Files/Adobe/Flash Media Server 3.5/applications .以及播放视频。

在此文中,我们将不再使用FLVPlayback组件,转而采用舞台上的视频组件接收vod文件夹中的视频。具体步骤如下:

1.   打开已下载的范例文件夹内的H264_StreamVOD.fla文件。如果你习惯使用Flash CS4,你将会在FlashCS4文件夹下找到此FLA文件。

2.   打开文件之后,你就会发现我已经为你创建好了界面。

3.   视频播放器中有一个名为myVideo的视频对象。你所需要做的仅仅是用ActionScript3.0将这个项目贯穿起来。选择actions图层的第一帧,按下F9打开动作面板。

    注意:视频对象的尺寸和宽高比应和要播放的FLV或MP4文件匹配。舞台上视频对象的默认大小是160*120.这种4:3的宽高比对同样比的FLV文件才适用。如果将高清内容应用通常的16:9的宽高比,那么将会造成错误的调整视频大小以致出现扭曲的现象。

4.   点击脚本面板,输入以下内容:

var nc:NetConnection = new NetConnection();

nc.connect("rtmp://localhost/vod");

var ns:NetStream = new NetStream(nc);第一行的代码创建了NetConnection对象,第二行告诉Flash这个NetConnection对象指向的是FLash Media Server3.5中的vod文件夹。如果你一直采用视频对象实现文件的渐进式下载的话,你就会发现connec字符是FMS3.5服务器上的vod文件夹路径而不是 一个空字符。在这个例子中,你是采用的是FMS3.5开发版在本地工作。如果你 有一个商业账号,localhost就会被一个实际的RTMP地址(一些列数字)所代替,它可能是也可能不是一个指向vod文件夹的路径,一切之取决于你的互联网服务提供商的独特要求。

在连接建立和NetStream已确定之后,是时候该做些家务管理了,从而可以确保成功的连接到服务器上以及在流之前增加被缓冲的视频量。步骤如下:

1. 按Enter键两次,输入以下代码:

nc.onStatus = function(ncObj:Object) {

trace(ncObj.code);

if (ncObj.code == "NetConnection.Connect.Success") {

ns.setBufferTime(2);

此代码通过检测是否成功的连接到FMS3.5的状态事件来启动。主要通过捕获当SWF连接到FMS3.5是发送到

Adobe Flash Player的("NetConnection.Connect.Success")字符来完成。当成功连接好以后,trace语句

将会打开输出面板并显示图1所示的代码。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图1.输出面板中的连接代码

如果成功连接好了,NetStream类的setBufferTime()方法会把两秒的视频内容进入缓冲区。默认的缓冲值是0.1秒;设置一个多大的缓冲值由你决定。

2. 按Enter键换行,输入剩下的代码:

myVideo.attachVideo(ns);

ns.play("mp4:Vultures");

}

};

第一行将舞台上的myVideo视频对象和NetStream连接起来。第二行使用NetStream的play()方法播放视频。

注意到字符中必需包含媒体类型mp4和冒号这一点是十分重要的。同样,因为你使用的是FMS3.5,因此

添加视频内容的扩展名则不是必需的。

注意:如果使用的是FLV文件,play字符串将会是"Vultures".对于FLV文件并不需要加入媒体类型。

3. 保存并测试影片。由于2秒钟的内容会加入到到缓冲区所以会有一些轻微的延迟。当缓冲完毕之后,你

就会访问土耳其秃鹰幼子的巢穴,如图2所示。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风 图2.可爱的小动物,不是吗?

创建一个流视频应用程序

截止目前为止,在这些教程中,你一直是操纵着一个自动驾驶仪,让FMS3.5自动的帮你完成将vod文件夹内

视频流装载到FLVPlayback组件中或者是舞台上的视频对象中。有时候vod文件夹会变成碍脚石。vod文件夹

也是Flash Media Interactive Server版的一大特征。如果你正使用Flash Media Interactive Server,你

需要知道如何创建一个能够播放来自服务器的视频的应用程序。

事实上,并不是多么神秘的用法,但如果你是FMS3.5的初学者就可以能有一点点难以理解。首先,你的发布

点不再是vod文件夹,而是你的应用程序文件夹。这个文件夹位于FMS3.5的applications之下,名字任意。

另一个重大区别是实例的使用。这和ActioinScript没有任何关系。一个实例就是一个你必须创建的具体的

_definst_文件夹,用来存放视频和音频文件。

另外,在应用程序文件夹内通常会有一个.as文件包含一些相关的比较简单的服务器端代码。让我们来看一看

我在说什么:

1.在已下载的文件夹内有一个名叫Exercise的文件夹。打开它,在它里面有一个BabyVultures文件夹。这就

是你就会 用到的应用程序。

2.打开此文件夹你会看到一个streams文件夹和一个main.asc文件(见图3)。这个文件必须叫main.asc;它

包含了使系统工作的服务端代码。

注意:我必须要谢谢我的同事 Lisa Larson-Kelley因为这个main.asc是他的。

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3.一个FMS应用程序的基本文件结构

可以通过两种方式来创建.asc文件,一种是选择Flash启动画面面板中的ActionScript通信文件,另一种

是通过选择文件>新建>在新建文件对话框中选择ActionScript通信文件。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风 图4.Flash cs4启动界面中创建ActionScript通信文件

3.打开main.asc文件就会发现服务器端的代码是多么的简单:

application.onConnect = function(p_client)

{

this.acceptConnection(p_client);

}

所有的代码的意思就是在影片开始播放的时候,FMS3.5服务器准备接受连接请求。这是一个十分简单的

main.asc文件例子。当开始深入共享对象领域以及使用自定义组件时,代码就会变得非常复杂、包含上千行

代码。

4.关闭打开的Flash文档,打开streams文件夹。自爱这个文件夹下是_definst_文件夹。此文件用来存放

媒体文件。如果你打开_definst_文件夹就会发现一个Vultures.mp4文件副本。

现在既然 已经知道了这些事物的结构,是该付诸实践流处理视频的时候了:

1.打开applications文件夹,C:/Program Files/Adobe/Flash Media Server3.5/applications ,从Exercise

文件夹下复制BabyVultures文件夹到applications文件夹下。这样就创建了一个名叫BabyVultures的程序,它

的路径就是 C:/Program Files/Adobe/Flash Media Server 3.5/applications/BabyVultures . 现在需要做的

就是让程序运行起来。

2.双击Exercise文件夹下的H264_StreamApp.fla文件,在Flash CS4中打开它。

3.点击actions图层第一帧,打开动作面板。

4.动作面板打开以后,单击脚本窗格输入如下代码:

var nc:NetConnection = new NetConnection();

nc.connect("rtmp://localhost/BabyVultures");

var ns:NetStream = new NetStream(nc);

与之前例子的重大区别是第二行的NetConnection字符。发布点已不再是以前所有例子中的vod文件夹,

转而变成了BabyVultures程序,

注意:如果你希望此文件增强安全性或添加数字版权管理,把rtmp替换成rtmpe就会自动加密流信息。

5.按Enter键两次输入剩下的代码:

nc.onStatus = function(ncObj:Object) {

trace(ncObj.code);

if (ncObj.code == "NetConnection.Connect.Success") {

ns.setBufferTime(2);

myVideo.attachVideo(ns);

ns.play("mp4:Vultures");

}

};

如果就此测试影片的话,视频会播放。Flash Media Server最伟大的一点就是它的智能性。当连接被建立好,

它就会自动寻找一个streams文件夹。当找到后就会想“哈哈,nc.play()方法中的视频原来在_definst_文件夹

里!”它就会立刻进入那个文件夹,找到视频后把它扔进流中。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风 图5.代码以及运行程序。

接下来做什么

现在你已经知道了如何通过在FMS服务器上创建的程序来播放视频,你可能想拓展自己你的知识。最好的

地方就是查看这些文章(目前仍然是关于FMS3的):

采用Flash Media Server的缩放和安全流媒体程序 (Lisa Larson-Kelly)

Flash Player和Flash Media Server的新的缓冲策略 (Fabio Sonnati)

接下来的教程会向你展示如何在Flash Media Server3.5中加密你的网页视频流以及建立SWF证书。

posted @ 2009-05-15 16:15 Andy 阅读(6) | 评论 (0) 编辑

 

二、采用Flash Media Server3.5对视频进行流式处理

此文是Adobe Flash Media Server3.5初学者系列教程的第二篇.主要讲述了通过使用Flash Media Server3.5所提供的视频点播服务完成在Flash视频播放器(SWF)中播放视频流。

关于视频点播的所有信息

为了理解视频点播,首先需要花一分钟倒回去去理解关于使用Flash Media Server3.5的基础内容。早期版本的Flash Media Server实在不能被称赞易学。事实上委婉的讲,当第一次学习FLash Media Server2时,很多人都发现学习曲线十分的陡峭。甚至连安装服务器、启动Flash 工具、生成FLV文件、进入流游戏都不是简单的事情。没有办法,同时又不知道该怎样。

以下就是Flash Media Server3.5的迷人之处:你现在要做的事情。

为了理解我正在做什么,你必须清楚的认识到Flash Media Server3.5采用的是客户端-服务器架构,Adobe Flash扮演着客户端的角色,同时FMS扮演了服务器端的角色。为了正确的工作,你必须略微重新思考你的工作流程。视频文件不再是存放在你的web服务器中某个文件夹中,取而代之的是将其放在FMS服务器上,仍然使用熟悉的渐进式下载模式。

FMS服务器上文件夹通常被认作“程序”;而存放媒体文件的文件夹呗成为“实例”。看起来有点像这个:rtmp://server/Application/Instance.(RTMP路径随后将被使用)。

这个概念阻拦了一大批决定进入FLash Media Server流游戏的人,一开始我甚至也被它困住了。

为了继续前行,你同时必须具备服务器端ActionScript脚本语言的基础知识。ActionScript的长度取决于项目的复杂度,有时只有一行代码有时却需要上百行。

FMS的最新版本标志了标准操作的一项重大突破。如果你想编写成千上百行的代码,你将会非常喜欢Flash Media Interative Server3.5,但如果你和我一样仅仅是想让视频播放,那么Flash Media Streaming Server3.5就很适合你,它所提供的视频点播服务可以说是为你量身定做的。

现在就让我们开始吧

1.下载此文中所用到的文件。其中的FlV文件是一个搞影视创作的学生在的大学创作的。地址为http://download.macromedia.com/pub/developer/beginner_vod.zip

2.定位到C:/Program Files/Adobe/Flash Media Server 3.5/applications .在这个文件夹内会发现一个名字叫做vod的文件夹。打开它

3.从下载的文件中复制Legend.flv文件到子文件夹中。

4.关闭打开的窗口。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图画1:例子视频文件放到media文件夹中

Flash Media Server3.5所具备视频点播能力,揭示了vod文件夹的用处。视频点播服务允许你在不写任何代码和配置服务器的情况下,通过服务器实现对音频和视频的流式处理。你需要做的仅仅是将Flash的FLVPlayback组件或Flash视频对象指向此文件夹中的文件。所有的MP4、FLv、Mp3文件都可以顺利播放。

创建一个视频点播流程序

现在视频已经放置到正确的位置了,接下来让我们通过在流服务器上通过使用视频点播服务实现本地视频播放:

1.在Flash cs4 专业版创作环境中,选择文件>新建>Flash文件(ActionScript3.0)创建一个新的文件。打开文件后,从组件面板拖动一个FLVPlayback组件副本到舞台上。

2.保存此Flash文件到任意的文件夹。

3.单击舞台上的组件,点击属性面板(Flash cs3)或打开组件检查器(Flash Cs4)进行如下设置:

  •  

    align

    : center

  •  

    autoPlay

    : true

  •  

    cuePoints

    : None

  •  

    isLive

    : False

  •  

    preview

    : None

  •  

    scaleMode

    : maintainAspectRatio

  •  

    skin

    : SkinUnderAllNoFullNoCaption.swf

  •  

    skinAuthoHide

    : false

  •  

    skinBackgroundAlpha

    : 1.00

  •  

    skinBackgroundColor

    : #009933

4.双击源文件 参数,在打开的内容路径对话框中输入rtmp://localhost/vod/Legend(如图2所示)

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图2:采用RTMP地址的视频文件路径

这个地址就是FLV文件的路径,同时遵循我刚才提到的rtmp://server/Application/Instance语法格式 。在这个例子中,localhost匹配server,vod对应application,media文件夹总的legend.flv就是instance.

注意:关于如何设置FMS为localhost在初学者指南之安装Flash Media Server3.5章节中已讨论过。

5.保存并测试影片。如果一切正常的话,视频就会开始播放(见图3)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3:欢迎来到Flash Media Server3.5!

流式处理多种文件格式:

Flash Media Server3.5并不仅限于Flv格式的文件,脱离了vod文件夹还可以处理MPEG-4和MPEG-3格式的文件。如果打算使用这两种格式,内容路径将会不同,因为vod文件夹并不不支持这两种格式。

假设现在你有一个MPEG-4和MPEG-3格式的Legend文件,同时文件分别被命名为Legend.mp4和Legend.mp3,并且已经将他们放置到vod文件夹中。

为了访问MPEG-3文件,使用一下文件路径:

rtmp://localhost/vod/mp3:Legend

注意/vod后发生了改变,一样,你并不需要在文件名后追加mp3扩展名。

当流处理MPEG-4文件时有点不同。正如图4 所示,文件路径应当如此:

rtmp://localhost/vod/mp4:Legend.mp4

注意这次必须包含文件扩展名(.mp4).对于其他采用H.264标准的文件格式例如MOV文件同样适用。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图4:设置MPEG-4文件的路径

如下总结了不同的语法格式:

  • FLV: rtmp://domain/app/streamname (不加.flv后缀)
  • MPEG-3: rtmp://domain/app/mp3:streamname (不加.mp3后缀)
  • MPEG-4: rtmp://domain/app/mp4:streamname.mp4 (任何兼容MPEG-4的文件都采用此后缀: .mov, .avi, .mp4, 等.)

当然,一切都很好,但问题是如何在实时FMS3.5 服务器上播放视频呢?

 

只要对代码做略微改动就是答案。用Flash Media Server托管服务提供商提供的RTMP地址和您的业务替换掉localhost。很自然你需要将视频上传到你在托管服务提供商的服务器里的账户中,除了地址改变和上传之外,你不需要做任何其他更多的事情。

注意:谨记不存在两个被同等创建的Flash Media Server托管服务提供商,正如在顾客指南之使用Flash Media Server托管服务提供商 中人们所指出的那样。你的RTMP地址和工作流程可能稍许不同,因此最好在刚开始就检查一下你的托管服务提供商。

FMS的一个不需要动画、不需要编码的方法

这是Flash Media Server3.5的一项全新的技术,应当受到任何开发者的关注,只要他不是生活在纯HTML和CSS的世界里。如果你经常告诫自己没有事件去学习动画,那么现在就是你的时间了。你所需要的仅仅是Adobe Dreamweaver(CS3或CS4)。如果你是纯文本编辑器如记事本才是标准的代码编写工具,那么随你便。

当安装好Flash Media Server3.5后,运行Apache2.2的HTTP服务器也被安装了。如果打开webroot文件夹(C:/Program Files/Adobe/Flash Media Server 3.5/webroot )你就会发现这也是一个vod文件夹。让我们使用这个文件夹实现在开始页面的视频播放器中播放一个视频:

1.启动开始页面(见图5)。打开后,将会看到视频播放器以及一个文本框。单击文本框并且同时按下contrl和A键选择文本框中所有的HTML代码。将选择的文本复制到剪贴板中。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图5:将会用到的视频播放器(左侧)和如何使用的代码(右侧)

另一种方法:定位到Flash Media Server3.5文件夹中的sampels文件夹,打开videoPlayer文件夹然后双击文件夹中的videoPlayer.html。然后复制页面底部的代码,关于这一点在下一章节将会进行深入讲解。

2.启动Dreamweaver CS3或CS4。创建一个新的页面并保存到FMS3.5的webroot文件夹中(C:/Program Files/Adobe/Flash Media Server 3.5/webroot )

3.点击页面,然后选择插入>媒体>SWF(Dreamweaver CS4)或插入>媒体>Flash(Dreamweaver CS3)。

4.定位到swfs文件夹(C:/Program Files/Adobe/Flash Media Server 3.5/webroot/swfs ),将videoPlayer.swf文件插入到Dreamweaver网页中。

5.打开代码视图面板,选择<object></object>标签之间的所有文本,包括这两个标签。

6.粘贴代码,单击属性检查器上的刷新按钮。

7.返回设计视图,在浏览器中测试页面,或者按F12快捷键或者选择文件>在浏览器中预览.现在你就正在通过Flash Media Server3.5对视频进行流式处理,而唯一的技巧即时你需要知道如何在一个Dreamweaver页面上放置SWF文件。(见图6)

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图6:使用Flash Media Player3.5中的videoPlayerSWF

接下来将会学习如何使用ActionScript3.0流式处理vod文件夹里的H.264视频,以及来自应用程序的相同视频。

posted @ 2009-05-15 16:14 Andy 阅读(11) | 评论 (0) 编辑

 

一、安装Flash Media Server3.5

对于我们很多人来说,AdobeFlash MediaServer十分神秘。我们能够看到它的好处,但同时当使用它创建Flash应用程序时所需掌握的特殊技巧往往又使人感到困惑。如果你是第一次接触这项技术,你将会发现相比以前的版本而言3.5版本的Flash Media Server拥有一个全新的工作空间。比起简单的编译一个SWF文件同时上传这个SWF文件以及一些FLV文件到服务器上,这个工作空间略显更复杂一点。

这篇文章是初学者教程系列的第一篇。我计划不采用大量的技术语言来实现引领你学习如何使用Flash Media Server3.5.一旦你学习了这些教程你就有希望能够阅读Adobe Developer Connection上由我的同事撰写的其他文章,以及理解他们在谈论些什么。

以下就是这一系列教程:

1:安装Flash Media Server3.5

2:采用Flash Media Server3.5对视频进行流式处理

3:Flash Media Server3.5中使用ActionScript3.0语言

4:Flash Media Server3.5的安全特性

5:Flash Media Server 3.5音频流式处理

6:使用Flash Media Server 3.5 构建实时视频流媒体服务器

7:Flash Media Server3.5动态流

此文章始于过程的开端。你已经下载了Flash Media Server即将启动安装程序。在点击鼠标之前,先看一看你正深入了解什么。

正如安装程序附带的文档清晰地解释那样,Flash Media Server (俗称FMS)是一个存放音频和视频媒体文件的网络中心。一旦需要访问它们,视频播放器(SWF文件)生成一个请求并通过实时消息协议发送请求,定位媒体文件,进而加载到你的播放器中。真正伟大的事情就是“播放就是播放”,音频和视频文件一旦抵达运行着Flash Player插件的浏览器就开始播放。不需要等待部分内容装载------最好的一点是------文件不会下载到浏览器的缓存中,因而文件十分的安全。

实时消息协议是采用传输控制协议实现Flash Player和Flash媒体播放器之间数据包传递的私有协议。相对于其他传输机制此方法的真正优势在于实时消息协议是用来传输视频、音频文件到SWF文件,而此SWF文件可以内嵌到一个网页中、移动电话中、甚至是位于使用者本地的AIR应用程序文件中。

关键是,插入到SWF文件中的媒体并非位于你的网络服务器中,它位于运行Flash媒体服务器的服务器某个文件夹中,而Flash媒体服务器可以是你的公司拥有,也可以是被网络服务提供商所管理,也可以是Flash流媒体服务器。为了实现本篇文章的目的,Flash媒体服务器采用你自己的电脑。

你即将安装的开发版本与Flash媒体交互服务器并无太大差别。虽然它拥有商业版本的所有特征,但它只能作为测试服务器。就像你会在本地测试Falsh文件然后再上传到网络服务器上一样,你同样可以使用这个安装的FMS版本完成测试最终将被流处理的影视。

在获得这些预备知识后,让我们开始安装服务器。

如果你已经安装过Flash Media Server以前的版本,就会发现安装过程有一些改变。例如,在William Saunders的Flash Media Server2视频教程中概述的一些步骤已被调整了。在开始安装之前必须要做的事情还有就是卸载电脑上的旧版本Flash Media Server。

1.双击FlashMediaServer3.5.exe 启动安装程序,将会看到图1所示的启动画面。服务器的三个版本都被列了出来。接下来出现的界面告诉你即将发生什么同时建议你关闭其他的所有应用程序。如果确实现在有其他的程序在运行,那么现在就可以保存文件然后退出其他应用程序。点击Next按钮开始安装过程,

2.显示通常的法律术语。这一授权协议规定了软件的使用条款等等。随意阅读。假如您同意,请点击“我接受协议”的单选按钮,然后单击下一步继续安装过程。

3.下一个界面要求您输入序列号(见图2)。当您需要安装开发版时并不需要输入序列号。如果留空点击NEXT,那就意味着您仅仅想安装一个本地版本而已。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图2:安装Flash Media Server3.5不输入序列号

4.下一个界面确认您正在安装Flash Media Server3.5(见图3).提醒您一下,如果您已经购买了本产品,当您看到这个界面是最好点击后退按钮然后输入序列号。然而,对于这个教程来说这不是必需的,因此继续点击Next按钮

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图3:安装 Flash Media Development Server3.5

5.现在你必须决定程序的安装位置。在Windows操作系统下默认的安装位置是电脑的Program Files文件夹下的Adobe文件夹(见图4)。如果你想改变位置,点击浏览按钮然后进行定位。当选择好安装位置之后单击下一步按钮。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图4:默认安装位置

6.在确认安装位置后,你就会发现此版本的Flash Media Server与旧版本之间的根本区别。现在是决定是否安装FMS附带的Apache2.2服务器的时候了。如果选中此选项,您将会两全其美:HTTP服务器具备以渐进式下载方式传输视频内容的能力,或者充分利用FMS的各种特性从而不必再在不同位置(从FMS服务器附近的服务器到世界另一端的任何互联网服务提供商)之间传播您的视频内容。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图5:HTTP服务器(FMS3.5新特性)

7.现在你被提示决定程序快捷键的存放位置(见图6)。默认位置是开始菜单,但如果你不想开始菜单显得过于零乱,尽管点击浏览按钮选择一个替代的位置,点击下一步

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图6:快捷方式的存放位置

8.在这一点上,安装过程需要一定的程度的认真对待。管理服务界面出现并提示你输入一个用户名和密码(见图7)这些信息在使用管理员控制时会用到,关于管理员控制很快会被讲到。

输入一些你记得住的内容是个不错的想法,因为每当启动服务器时都会用到这些信息。我使用我的名字——如果我忘记了,我一定是有精神病--------密码则是我出于其他目的经常使用的。

因为这并不是像我的PayPal那样高危险,因为我做的另外一件事就是将用户名和密码发到自己的电子邮箱里。这样,如果碰到“非常时刻”我仍然可以很容易的找到记录的信息。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图7:选择进入服务器的管理控制时所需的登陆信息

9.在确定安装程序的安装位置以及创建好访问管理控制所需的用户名和密码后,你接下来需要确定服务器所使用的端口(见图8)。除非有令人信服的理由去改变,否则采取默认的就可以了。虽然你可以使用多个端口,但是除非你非常自信自己正在做什么,否则最好还是简单的单击一下下一步按钮。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图8:除非你真的知道自己在做什么,否则不要轻易改变端口

10.现在一切都已准备就绪,你可以在此浏览所有的设定信息以及做出改变(见图9)。这里没有Next按钮了,如果一切正确的话,点击安装按钮。安装过程相当迅速你会看到通常熟悉的文件释放及服务器初始化过程的界面。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图9.最后一次调整的机会

11.一旦安装过程完成,会呈现与图10 相同的界面。你可以选择是否阅读Readme文件以及是否自启动Flash Media Server3.虽然你可以手动的打开关闭服务器,我比较喜欢在需要时打开,因此选择第三个选项。在日常工作时FMS后台运行并不会使电脑慢多少,尽管单击完成按钮吧。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图10 。成功!现在开始工作吧

查看管理控制界面

管理控制界面帮助你管理服务器。因为包含很多东西,因此我不想太深入。举例来说,假如你刚刚买了一辆新车,你的邻居们前来拜访检查你的新东西。你怎么做?打开引擎盖开始指出所有的物件,让我们向你的邻居展示一下你拥有什么。

首先震惊许多Flash Media Server新手的是它并不是一个应用程序。即使你已经把软件安装到与Flash cs3和其他Adobe产片相同的目录下,它并没有产品图标。管理控制界面是一个HTML文档。非常有意义,因为你正在处理的是一个服务器而不是一个单击版的应用程序。

为了打开管理控制,或者定位开始菜单中,或者点击开始菜单中所有程序按钮定位Adobe>Flash Media Server3.5>Flash Media Administration Console(见图11)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图11.定位开始菜单中的管理控制

除此之外还可以定位到 C:/Program Files/Adobe/Flash Media Server 3/tools文件夹双击Flash Media Administration Console链接(见图12)。确定双击的是HTML文件(fms_adminConsole.htm)而非fms_adminConsole.swf,来启动管理控制。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图12.在资源管理器中定位管理控制

当打开管理控制之后,提示输入用户名和密码,出现登陆界面(见图13)。你会注意到服务器被分配了一个名字和地址(localhost),你的用户名和密码已经被填写好。同样可以设定控制台记住密码自动登陆。这些都是个人喜好,但很多情况下需要遵从团队方针。如果你不确定,就要与负责人协商。如果一切正确,单击登陆按钮。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图13.管理控制启动页面

接下来看到的就是通常的管理控制界面(见图14)。有几个需要注意的地方。在任务条右侧是一个绿灯。通过视觉指示服务器运行状态良好。帮助按钮(问号)帮助你寻求帮助文件。点击问号标志附近的文件夹并不能向你所想的那样加载文件。相反,这个按钮直接指向一些FMS资源,覆盖范围从本文到FMS论坛。你通过论坛可以想其他的FMS开发社区人员请教问题。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图14.管理控制

在控制台顶部,你可以选择服务器刷新页面的频率。幅度从1秒到1分钟;甚至可以暂停服务器的刷新率。然而你不能办到的是输入数值。如果你想强制刷新或者你不耐烦了,点击右上角的刷新链接即可。点击注销链接将会彻底关闭服务器。

注意有三个按钮横跨控制台的顶部。 当前选中的View Application直观的展示了当前与FMS相连的应用程序。这些程序通常被成为“实例”(在后面我会加深讲解这点)但如果你单击左下方的新建实例按钮,将会出现一个程序/实例列表,只要单击选中就可以把它加载进来。目前暂且不管它。反而单击管理用户按钮。

单击管理用户按钮将会出现与图15相同的界面。它允许你添加删除用户以及改变你的密码或者是他们的密码。为什么你想在这个本地程序中添加用户呢?也许你想和工作组的其他人共享这台电脑,也许此程序运行在一个服务器上。必须谨记开发版仅允许同时10个连结,因此这的确是个测试服务器。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图15。管理用户

想修改密码只需点击用户名然后单击密码重置按钮进而打开重设密码对话框(图15)。输入两次新密码后点击重设密码按钮使修改生效。如果你改变注意,单击取消按钮以关闭对话框。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图16.更改用户密码

单击管理服务器按钮以打开管理服务器面板(见图17)。此区域将呈现后台正在运行着什么,Detail区域直观的展示了任何可能正在运行的程序的性能以及带宽和CPU使用量。Connections按钮则告诉你连接着多少个服务器,同时提供各种服务器的少量性能和状态信息。Applications告诉你多少个应用程序正在运行以及它们的工作表现。由于使用的是开发版,因此License面板是不相关的。即时如此,还是在面板的下方有一个升级到交互服务器版本的链接。最后的区域,Server Log提供服务器运行的日志信息。任何时候通过单击Clearlog按钮就可清除日志。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图17,管理服务器面板

在此面板中你可能还想做一件事:确保服务器就是“localhost”。以下就是教你如何做。在管理服务器面板顶部中间的“AB”按钮是用来编辑服务器日志信息的按钮。如果想改变你的用户名和密码,就在这个地方更改。之所以输入"localhost"是因为这是用来测试程序的RTMP地址。任意更改然后单击保存按钮。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图18.确认服务器是localhost

这一阶段告一段落 ,早因此退出浏览器关闭管理控制台。

使用THE FLASH MEDIA SERVER 3.5 START SCREEN

Flash Media Server新手将会发现这个新特性是一个不可或缺的资源,而老手们则会以热烈的掌声欢迎它。现在正是时候。

Adobe是第一个承认由于产品的十分复杂而导致学习FMS是一个令人畏惧的任务。同样,学习使用产品和获得支持通常开始于一个简单的问题“信息在哪?”START SCREEN出色的回答了这一问题:

1.单击开始>所有程序>Adobe>Flash Media Server3.5>Flash Media Server Start Screen(见图19)。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图19.启动start screen

2.假设你已经安装了Flash Player10,你将会看到图20所呈现的界面。它被划分成4个区域。顶部是一系列用途自明的链接和一个文本输入框用来根据搜索条件完成搜索功能。正下方的区域允许你启动管理控制台从而避免了返回到开始菜单中去,同时还有一访问更新的按钮。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图20.FMS start screen,产品中的一个受欢迎的附加物

3.下一个区域包含一个视频播放器。注意Adobe支持复制和粘贴将此播放器嵌入到网页的代码。在页面上你也会发现一个动态流播放范例。两个按钮允许轻松访问学习Flash Media Server以及提供一个交互的例子。

4.向下滚动页面以露出start screen的真正精华(见图21)。关注Adobe(以及以前的Macromedia)的行动已经超过十年了,经常使我感到惊讶的是如此一个大公司却十分的贴近客户是如何做到的。start screen的喜爱那个系区域是客户参与的典型代表。如果有任何一个共同的抱怨Flash Media Server,它就会成为知识的基础,尤其是在Adobe内部,如此蔓延以致几乎不在能被访问。这三列最终平息了人们的抱怨。

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图21.一键访问世界的知识和工具

工具列包含各种工具的链接,从FLVCheck工具到帮助工作更加有效的装载模拟器工具。中间的案例程序和白皮书列旨在通过提供一键访问各种例子和出版物实现技能的提高。

第三列被划分成两个区域,顶端的Getting Started部分提供来自Adobe Developer Connection的各种文章和案例的访问链接,Adobe Developer Connection帮助你立刻跟上FMS潮流。第二部分Getting Support被认为是Flash Media Server的一个本地索引。在这里你可以即时访问任何事物,从找寻Adobe产品本土专家到培训以及围绕着各种需求展开咨询。

你在这里找到答案:安装了Flash Media Server3.5,打开引擎盖向你的邻居们展示了这个新玩意能做什么。同时,你发现了一个strart screen提供的非常有用的资源。接下来的教程将会帮助你做到司机的位置上,点燃引擎,以及围绕着石头转圈。下一个教程告诉你通过使用Flash Media Server3.5的新视频点播服务完成Flash Video Player中视频的流式处理。

 

六、Flash Media Server3.5流传输实时视频  - 风 - 永远的风

图1:Flash Media Server启动画面

posted @ 2009-05-15 16:12 Andy 阅读(14) | 评论 (0) 编辑

 

debian做ftp服务器

这两天重新安装ftp服务器,把流程记录下来,

其中也是参考了网络上许多人的经验帖。

    首先在有刻录机的电脑中下载

ftp://debian.ustc.edu.cn/debian-cd/images/current/

debian-31r0a-i386-binary-1.iso

刻录光盘(把iso文件挂载或者虚拟光驱,然后镜像刻录就可以了)。

ftp://debian.ustc.edu.cn/sources.list/

下载相应源列表,目前stable版是sarge

把列表内容抄录出来。

光盘引导安装。

硬盘分区,给根目录/ 2G应该足够了,剩下基本上是/home的,

也可以给swap,大小和内存差不多就可以了。

安装完成发现其实根目录连600M都没有用到(当然没有安装x)

手动修改安装源列表,

删掉原有的sources.list

输入之前抄录的源

选择手动安装软件,不安装桌面文件。

可能会出现zhcon没有安装成功,那么在符号化终端看来中文就是乱码了,需要解决掉。

提示说xfree86-common安装不成功,则在aptitude中删掉xfree86-common以及其关联

的包。zhcon就能够安装成功了。

在aptitude中安装lftp,vim,emacs等符号化的工具,

检查wget,mutt等是否已经安装。

# apt-get update

# apt-get dist-upgrade

更新

修改ip地址

编辑 /etc/network/interfaces 文件,用 sudo vi /etc/network/i

nterfaces,修改 IP 地址。

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# This is a list of hotpluggable network interfaces.

# They will be activated automatically by the hotplug subsystem.

mapping hotplug

        script grep

        map eth0

# The primary network interface

auto eth0

iface eth0 inet static

        address 202.38.??.??

        netmask 255.255.255.0

        network 202.38.??.??

        broadcast 202.38.??.??

        gateway 202.38.??.??

编辑 /etc/hosts 这个文件并且把新IP地址加进去,用 sudo vi /etc/hosts

127.0.0.1       localhost.localdomain   localhost       userftp

202.38.??.??   ???.ustc.edu.cn          userftp

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters

ff02::3 ip6-allhosts

编辑 /etc/hostname,内容改为 ???.ustc.edu.cn

/etc/init.d/networking restart 重新启动网络。

安装 SSH 

apt-get install ssh openssh-server

现在可以通过其他电脑

ssh **@202.38.??.??

来远程管理服务器了。

安装vsftp

apt-get install vsftpd

配置/etc/vsftpd/vsftpd.conf

以下是我的vsftpd.conf内容

===============================================================

#服务器以standalong模式运行,这样可以进行下面的控制

listen=YES

#接受匿名用户

anonymous_enable=YES

#匿名用户login时不询问口令

no_anon_password=YES

# 接受本地用户

local_enable=YES

# 可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES,

# 若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿

# 名用户上传,所以不设置这两项.

write_enable=YES

#本地用户上传文件的umask

local_umask=022

#如果设为YES,匿名登入者会被允许上传目录的权限,当然,匿名使用者必须要有对

#上层目录的写入权。

anon_upload_enable=YES

#定义匿名登入的使用者名称。默认值为ftp

ftp_username=ftp

#如果设为YES,匿名登入者会被允许新增目录,当然,匿名使用者必须要有对上层

#目录的写入权。

anon_mkdir_write_enable=YES

# 为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.messa

ge)的内容

dirmessage_enable=YES

#本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录

#(/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root

#local_root=/home

anon_root=/home/ftp/

# 使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选

项修改

xferlog_enable=YES

# Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES

#日志使用标准xferlog格式

xferlog_std_format=YES

# You may change the default value for timing out a data connection.

data_connection_timeout=120

# 关闭本地用户chroot()

chroot_local_user=NO

#设置为yes则下面的控制有效。

#开启要设置chroot()用户项.

chroot_list_enable=YES

# (default follows)

#指定要设置chroot()的特定用户文件

chroot_list_file=/etc/vsftpd.chroot_list

#若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中

的用

#户无法login,并且将检察下面的userlist_deny选项

userlist_enable=YES

#若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)

中的

#用户的login请求.若为YES则不接受这些用户的请求.

userlist_deny=NO

#注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将无法lo

gin!!

#匿名用户的传输比率(b/s)

anon_max_rate=512000

#本地用户的传输比率(b/s)

local_max_rate=1024000

#可接受的最大client数目

max_clients=100

#每个ip的最大client数目

max_per_ip=5

# This option should be the name of a directory which is empty.  Also, the

# directory should not be writable by the ftp user. This directory is used

# as a secure chroot() jail at times vsftpd does not require filesystem

# access.

secure_chroot_dir=/var/run/vsftpd

#

# This string is the name of the PAM service vsftpd will use.

pam_service_name=vsftpd

tcp_wrappers=YES

#

# This option specifies the location of the RSA certificate to use for SSL

# encrypted connections.

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

# 每一个联机,都能以独立的process 来呈现.

setproctitle_enable=YES

#若是启动,所有匿名上传数据的拥有者将被更换为chown_username

#当中所设定的使用者。这样的选项对于安全及管理,是很有用的。

chown_uploads=YES

#这里可以定义当匿名登入者上传档案时,该档案的拥有者将被置换的

#使用者名称。预设值为root。

chown_username=root

====================================================================

增加用户名一堆(都属于ftpuser组的)

groupadd ftpuser

mkdir /home/john/

useradd -g ftpuser john

passwd john

更改文件所有者以及权限

chown -v -R john.ftpuser /home/john/

chmod -v -R 700 /home/john/

给ftpuser组所有用户共享一个文件夹,做一个连接

ln -v -s /home/ftpuser/ /home/john/ftpuser

在每个用户的文件夹中设置.message

做欢迎界面

编辑/etc/vsftpd.user_list

列举所有的用户列表。

编辑/etc/vsftpd.chroot_list

填写不准进入上层目录的用户名

给/home/ftp/中允许匿名写的目录修改权限。

chmod -v 777 /home/ftp/temp/

做两个定时工作

crontab -e

在里面写

0 4 * * 1 rm -rf /home/ftp/incoming/temp/*

# 每星期一凌晨4点清空/home/ftp/incoming/temp/文件夹

0 5 10 * * /sbin/reboot

# 每个月10日凌晨5点重新启动电脑

reboot或者重启vsftpd

好了,ftp服务器架构完成了。

posted @ 2009-05-15 14:39 Andy 阅读(24) | 评论 (0) 编辑

 

debian下samba配置

服务器端配置过程:

1.apt-get install samba

2.修改/etc/samba/smb.conf文件

3.添加用户并设置samba访问密码

  smbpasswd -a username

4.重启一下samba服务:

  /etc/init.d/smb restart

1.apt-get install samba (安装)

debconf(选择)

workgroup(随便输入一个工作组,在windows网上邻居找到)

....

2.创建用户 ( 注意:该用户是系统中已经存在的用户,以debian为例)

创建passwd文件:touch /etc/samba/smbpasswd

smbpasswd -a reny

密码:

3.编辑配置文件:

vi /etc/samba/smb.conf

加入我们的配置信息:

[home]

   comment = laowang's data

   path = /home

   valid users = reny

   public = no

   writable = yes

   printable = no

   create mask = 0777

4.重启一下samba服务:

/etc/init.d/samba restart

补充:# chmod 775 /home(window可以写)

转:http://hi.baidu.com/lovely_sunday/blog/item/5d79cc33081c24fc1a4cff13.html

1.安装samba          #apt-get install samba samba

注意; Samba 服务器的配置文件叫 smb.conf,位于 /etc/samba/目录下。在 /usr/share/samba/ 目录下也有一个 smb.conf 文件备份,如果你在配置服务器时把 /etc/samba/smb.conf 改乱了,就可以用该文件来恢复到初始状态。启动脚本位于 /etc/init.d/ 目录下,叫 samba,如果修改了 smb.conf 配置文件,可用 #/etc/init.d/samba restart 命令重启 Samba 服务器。/etc/default/samba 文件可设置 samba 服务器的启动方式,是 daemons 还是 inetd,默认的设置是采用daemons 方式的:

示例:实现windows 和debian的文件共享,在debian上建立一个共享文件夹,windows用户就可以修改这个共享文件夹。

2.建立用户

           #smbpasswd -a 了linuxsir(给用户建立samba密码)

提示输入密码。。。。

3.配置samba,打开配置文件/etc/samba/smb.conf,

替换为:

[global]   --->全局配置,必写

workgroup = LinuxSir ---〉Windows中显示的工作组

netbios name = LinuxSir05 --->在Windows中显示出来的计算机名

server string = Linux Samba Server TestServer --->Samba服务器说明

security = share --->验证和登录方式,

[linuxsir]

        path = /opt/linuxsir    --->共享目录的位置

        writeable = yes         ---〉可以向共享目录中写入

        browseable = yes         ---〉可以浏览

        guest ok = yes           ---〉匿名用户以guest身份登录

4.建立相应目录并授权;

5.启动samba   # /etc/init.d/samba   start

6.检查当前配置 # testparm

7.假设windows下IP为192.168.0.7      debian下的IP 为:192.168.0.8

在debian下输入:smbclient -L 192.168.0.7    访问windows

在windows下输入://192.168.0.8     访问debian ,在网上邻居就可以看到debian主机共享的文件夹了。

8.

关闭服务器可用 smbcontrol 这个程序。命令格式如下:

debian~:# smbcontrol smbd shutdown

附.设置目录共享及权限

    ========Share Definitions ===============

    [share]                     设置共享名称

            comment =   目录的注解说明

            path = /data/temp     要共享目录的绝对位置

            以下属可选择项目录

            browseable =   no       目录是否可见,预设为可见

            writable = yes             目录是否为可写

            read only = no            目录是否为只读

            guest ok = yes            来宾是否可以访问,与"public = yes" 作用相同

            write list =user,@group   可写清单,@后表示某个群组

            valid users = ...            允许访问的使用者清单

            read list   =   ...               只可读的使用者清单

           invalid users = ...           禁止访问的使用者清单

           admin users = ...            有管理权限使用者清单

           create mask = 0755        使用者建立档案的权限,预设为0744

#mkdir -p /opt/linuxsir

#id nobody

uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)

[root@localhost ~]# chown -R nobody:nogroup /opt/linuxsir

samba命令使用:

1.查看共享的目录

#smbclient //debian

2.进入共享的目录操作

#smbclient \\\\debian\\share -U sunday

在提示符后输入“?”命令查找你可使用的命令。

posted @ 2009-05-15 14:12 Andy 阅读(47) | 评论 (0) 编辑

 

Debian安装/设置笔记

1.使用2.6内核的话在开始引导的时候输入:linux26,否则默认使用使用的是2.4内核,

也可以在输入:installgui(图形安装界面) 或 expertgui(专家图形安装界面)。回车后进入图形安装界面,接着会出现选择安装的语言及地区,键盘类型,网络设定,镜像站点(cn99速度不错),硬盘分区,时区设定,root密码设定,普通用户建立,等等。但只安装基本的系统,不要安装软件,然后安装grub.退出,重起。

2. 结束base-config后,就可以登入系统了

登陆系统后先配置:source.list

#vi /etc/apt/source.list

添加cn99的debian源

然后运行apt-get update和apt-get -u upgrade,升级系统至最新.

3.安装编译器和VIM:

apt-get install make gcc g++ gdb

apt-get install vim

4.安装常用工具:

rcconf(启动服务器设置)

hdparm(硬盘参数设置)

lynx(终端下的Web浏览器)

apmd(高级电源管理,我用的是2.4内核,不装此模块则无法自动关机,如果使用的是2.6内核则不用安装)

bzip2 wget mc less sudo ncftp2 man manpages

这样一个基本的Debian开发环境就搭建起来了。

5.Debian默认安装后ls命令是没有颜色的,需要自己手工设置下:

在终端下输入 vi ~/.bashrc

找到

#export LS_OPTIONS='--color=auto'

#eval "'dircolors'"

#alias ls='ls $LS_OPTIONS'

#alias ll='ls $LS_OPTIONS -l'

#alias l='ls $LS_OPTIONS -lA'

把前面的注释符号#全都去掉,存盘退出,重新登录就可以了。

6.Vim编辑器的设置:

打开vim的配置文件 vi /etc/vim/vimrc

在文件末端添加如下语句

"Kevin Config

set ts=4 "设置tab为4个空格,默认是8个,编程的时候比较有用

set sw=4 "自动缩进也为4空格

set encoding=prc "支持中文,否则会出现“半个汉字”问题。

set fileencoding=prc "和上面差不多,默认的文件编码。

set number "显示行号

set nobackup "不自动生成备份文件,有人喜欢,比如我。

set autoindent "自动缩进

syntax on "打开语法标亮

vim 自己带了一个推荐的配置,也比较好用

以root权限执行 cp /usr/share/vim/vim63/vimrc_example.vim /usr/share/vim/vimrc 就可以了。

7.安装alsa 驱动声卡.

apt-get install alsa-base alsa-utils

执行 alsaconf 一路回车。 再执行alsa-mixer 设置音量,M键取消静音,ESC 键退出。

保存设置 alsactl store

测试 cat /dev/urandom > /dev/dsp

8.安装ATI的显示卡

apt-cache search fglrx*

搜索后显示有:fglrx-dirver

          : fglrx-kernel-src

然后:#apt-get install fglrx-driver

   : #apt-get install fglrx-kernel-src

然后再执行:#aticonfig --initial

         :#reboot

9.Gnome 桌面篇

1) 安装hal (硬件抽象层)、pmount (gnome下自动挂载)以实现你的移动设备(usb)自动挂载。

apt-get install hal pmount

它将会自动安装dbus (信息总线)以实现hal与gnome应用程序通信,实现设备自动发现

2) 安装gnome

apt-get install gnome-core (如果你需要所有gnome 套件的话 apt-get install gnome 或者 gnome-desktop-environment

3) 安装gnome下的声音支持。

apt-get install gnome-media gnome-audio esound

esound是gnome下的软件混音器。(安装后在gnome的桌面--首选项-->音效里面选择 启用软件混音器,重启。)

4) 安装必要的gnome管理工具或程序

apt-get install gksu gnome-utils gnome-system-tools file-roller gconf-editor gnome-system-monitor gnome-volume-manager

其中:

gksu是执行管理任务时 su或者sudo的。 gnome-utils是一些小工具(如:抓屏 printscreen键)

gnome-system-tools是一些管理工具 桌面-->系统管理里面的。

file-roller是归档管理器。

gnome-system-monitor是任务管理器。

gnome-volume-manager是卷管理器。管理本地磁盘的。

如果你喜欢gnome控制中心,那么

apt-get install gnome-control-center

安装gnome

#apt-get install gnome-core

如果是apt-get install gnome,则会预装gimp,totem,mozilla,abi等软件

也有一些轻量级的桌面,如:XFCE,fvwm等

【gcc C编译器 (装gnome-core已装)

g++ C++编译器 (装gnome-core已装)

synaptic 软件包管理器

gnome-system-tools 系统工具

gnome-system-monitor 系统监视器

gnome-nettool 网络工具

esound (办公室装) esound声音驱动

esound-clients (办公室装) esound声音驱动

gdm gnome图形登陆管理

udev U盘

sysvconfig 系统服务管理,命令:sysvconfig

gnome-utils 包括gfloppy,gnome-system-log的工具

gnome-volume-manager 可移动驱动器和介质

x-ttcidfont-conf (选xtt) X系统的字体配置程序truetype、CID字体

gnome-audio gnome事件音效文件包

gnome-themes gnome主题

vino 远程桌面

10. 安装登录管理器。

apt-get install gdm

11. 把你安装时建立的那个用户加入sudoers

visudo

在 root ALL=(ALL) ALL 下面加入

%adm ALL=(ALL) ALL

然后执行 gpasswd -a username adm

如我的是 gpasswd -a roy adm

12. 安装字体

这里我们安装bitstream-vera 加 uming (ubuntu用的)。

当然你也可以安装WQY的点整字体(目前的Debian里的WQY字体是经过压缩的,所以可能会影响系统速度。)

apt-get install ttf-bitstream-vera ttf-arphic-uming

WQY点整字体: apt-get install xfonts-wqy

openoffice 安装

#apt-get install openoffice.org openoffice.org-writer openoffice.org-math openoffice.org-impress openoffice.org-l10n-zh-cn openoffice.org-help-zh-cn openoffice.org-gtk-gnome

简单美化

1、 安装主题

apt-get install gnome-themes

如果你喜欢更多主题,apt-get install gnome-themes-extra

2、 安装一个简单的图标

apt-get install tango-icon-theme

Dropline gnome 的这个图标也不错,apt-get install gnome-icon-theme-dlg-neu

你也可以去www.gnome-look.org自己找一个你喜欢的。

3、 安装桌面背景

apt-get install gnome-backgrounds

然后可以到主题里面更改你喜欢的主题了,图标在主题细节里面。

到这里,gnome 安装完毕.

13. 安装输入法(scim)

apt-get install scim-pinyin im-switch scim-gtk2-immodule (如果要五笔等 apt-get install scim-tables)

im-switch -s scim -z default

然后编辑:gedit /etc/X11/Xsession.d/95xinput

输入如下内容:

/usr/bin/scim -d

XMODIFIERS="@im=SCIM"

export XMODIFIERS

export GTK_IM_MODULE=scim

14。优化清理

优化: apt-get install prelink

执行 prelink -a -m

清理 : apt-get clean (清理你apt-get install 所下载的包,在/var/cache/apt/archives/partial下面)

(可选)本地的ntfs fat磁盘自动挂载

编辑 /etc/fstab sudo vi /etc/fstab

/dev/sda1 /media/sda1 ntfs nls=utf8,umask=222,user 0 0

/dev/sda2 /media/sda2 ntfs nls=utf8,umask=222,user 0 0

/dev/sda3 /media/sda3 ntfs nls=utf8,umask=222,user 0 0

/dev/sda5 /media/sda5 vfat utf8,umask=000,user 0 0

象上面这样加

如我的sata 的c:/ 是ntfs 那么就这样

/dev/sda1 /media/sda1 ntfs nls=utf8,umask=222,user 0 0

我的sata 的f:/是fat32 那么就这样

/dev/sda5 /media/sda5 vfat utf8,umask=000,user 0 0

保存

建立挂载点 mkdir /media/sda1 (- 5) 你有几个建立几个

测试 (这很重要!)

mount /dev/sda1

mount /dev/sda2

.........

每个都测试下!

15。常见应用程序安装

上网浏览 iceweasel (就是firefox) 版本2.0.0.1

#apt-get install iceweasel iceweasel-l10n-zh-cn

注:后来用testing版本升级后,firefo变英文了。

升级firefox以后,突然发现中文的变成了英文版,

输入about:config

在 Filter 一栏中输入locale

找到并用鼠标双击general.userAgent.locale

将 en-US 改为 zh-CN 。

重新启动以后仍然是英文版,怀疑是没有中文语言包了,于是

stable源

#apt-get install mozilla-firefox mozilla-firefox-locale-zh-cn

testing源

#apt-get install mozilla-firefox iceweasel-l10n-zh-cn

重启firefox,熟悉的中文界面终于出现了。

电子邮件 thunderbird

看你自己喜欢什么?

#apt-get install icedove icedove-locale-zh-cn

电子书pdf

#apt-get install evince (gnome 下常用的)

即时消息

#apt-get install gaim ( gnome中 )

MP3+WMA...

GNOME中 sudo apt-get install rhythmbox gstreamer0.10-ffmpeg

电影 DVD+VCD+RM............

首先添加debian-multimedia的源,这里提供一个国内的,电信的ADSL下载很快。

#testing: (etch)

deb http://update.inlsd.org/debian-multimedia testing main

deb-src http://update.inlsd.org/debian-multimedia testing main

#unstable: (sid)

deb http://update.inlsd.org/debian-multimedia unstable main

deb-src http://update.inlsd.org/debian-multimedia unstable main

导入公钥 gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 1F41B907

gpg --armor --export 1F41B907 | sudo apt-key add -

apt-get install mplayer w32codes libdvdcss

去http://www.mplayerhq.hu下载个皮肤。

推荐PowerPlayer wget http://www3.mplayerhq.hu/MPlayer/ski...er-1.1.tar.bz2

tar jxvf PowerPlayer-1.1.tar.bz2 (不能解压的话sudo apt-get install bzip2)

sudo cp -R PowerPlayer/ /usr/share/mplayer/skins/

设置

打开mplayer 选择这个皮肤。video 里面选xv,subtitles & OSD 里面 Encoding 选cp936,font 填/usr/share/fonts/truetype/arphic/uming.ttf

mplayer没什么好说的,棒就一个字,我只说一次。

结合firefox的MediaPlayerConnectivity 和MediaWrap 扩展能很好的播放在线电影。

MediaPlayerConnectivity http://addons.mozine.org/firefox/23/

MediaWrap http://addons.mozine.org/firefox/116/

但是mplayer在播放在线电影的时候可能提示你 Couldn't resolve name for AF_INET6: ................

那么 sudo vi /etc/mplayer/mplayer.conf

在里面加入

# Disable IPV6

prefer-ipv4 = yes

来禁用ipV6。

3D桌面beryl安装

前提,你必须已经安装好显卡驱动。

1、导入公钥

wget http://download.tuxfamily.org/mybery...e/A42A6CF5.gpg -O- | sudo apt-key add -

2、添加源

sudo vi /etc/apt/sources.lst

加入 deb http://download.tuxfamily.org/mybery...tively-stable/ ./

3、安装

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install beryl emerald-themes (如果你是KDE用户可以安装aquamarine窗口管理器,sudo apt-get install aquamarine)

在菜单中开始beryl-manager。

debian 飞鸽g2ipmsg安装

首先安装依赖的包:

sudo apt-get install libxml-parser-perl libgnomeui-dev libpanel-applet2-dev

去 http://www.ipmsg.org 下载 gnome2 的 IP Messenger

wget http://www.ipmsg.org/archive/g2ipmsg-0.9.1.tar.gz

解压:

tar zxvf g2ipmsg-0.9.1.tar.gz

将 g2ipmsg-0.9.1/src/codeset.c 中的CP932 改为 CP936 ,把日文改成中文。

然后配置

/configure –prefix=/usr –sysconfdir=/etc –enable-systray

编译 make

安装 sudo make install

如果列表中没有其它用户,在设置里的Broadcast address setting加入自己的广播地址(将自己的子网掩码取‘反’再与自己的IP相‘或’)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值