xgnic 发表于 2018-2-10 23:48:52


                     
/d/file/news/eaa49f0836981852b099c070faf707ce.jpg
这是有益设想,建立一个客户-服务器架构上的Flash Media Server 4.5:一个SWF文件是在客户端和FMS服务器。然而,你必须重新审视自己的工作流程略。而不是放在一个文件夹在您的网页上您的视频文件服务器熟悉的渐进式下载的模型,你把一个文件夹中的在FMS服务器上的影片。此文件夹被称为“应用程序”,在媒体文件所在的文件夹被称为“实例。” 该文件夹的路径看起来像这样:RTMP :/ /服务器/应用/实例。
在本教程后,你会​​学到更多的RTMP路径。它起初是有点棘手,但一旦你调整你的工作流程和学习的基本概念与Flash Media Server流媒体内容变得更加容易部署。
等式的其他部分涉及基本掌握了服务器端的ActionScript开始开发应用程序。在ActionScript可以从一个单一的代码行数百行不等,这取决于项目的复杂性。
这最新一轮的FMS标志着与以前的标准实践的重要突破。如果你喜欢写几百行代码,那么你就崇拜Flash媒体互动服务器4.5。如果你的目标很简单,让您的视频和运行,然后Flash媒体流服务器4.5和VOD服务为您量身订做。
设立样本项目
在本节中,你会开始配置一切准备样品项目。按照以下步骤开始:

    [*]要求“一节中提供本教程下载的示例文件。解压缩归档文件,并练习文件夹内,打开01VOD_Samples文件夹。
    [*]导航到C:程序文件 Adob​​e Flash Media Server的4.5的应用。找到一个名为VOD的子文件夹并打开它。
    [*]复制三个文件下载01_VOD_Samples到媒体的子文件夹的文件夹,如图1所示。
    [*]关闭打开的窗口。

/d/file/news/631fd1716967b8f633b3e1ea36800ebc.jpg
图1。将媒体文件夹中的三个样本的视频文件。
Flash Media Server的4.5包括对需求的视频流的能力,这也解释了文件夹的名称:VOD。VOD服务,让您流,而无需编写任何应用程序代码或配置服务器通过服务器的视频和音频文件。你可以简单地指出在此文件夹中的Flash FLVPlayback组件或Flash视频对象到一个文件,该文件将发挥只要它是一个MP4,F4V,FLV或MP3文件。
创建一个流媒体视频点播应用
影片放置在合适的位置后,您将学习如何发挥他们在本地使用的流媒体服务器上的视频点播服务。遵循以下步骤:

    [*]启动Flash Professional和选择文件>新建> Flash文件(ActionScript 3.0),以创建一个新的文档。打开“组件”面板中拖动FLVPlayback组件从组件面板的阶段。
    [*]保存FLA文件可以保存在任何文件夹,你喜欢它。
    [*]在舞台上点击一次选择FLVPlayback组件。打开参数面板或组件检查器(CS4中),并输入以下设置:


    [*]align: center
    [*]autoPlay: Selected
    [*]cuePoints: None
    [*]isLive: Deselected
    [*]preview: None
    [*]scaleMode: maintainAspectRatio
    [*]skin: SkinUnderAllNoFullNoCaption.swf
    [*]skinAuthoHide: Deselected
    [*]skinBackgroundAlpha: 1.00
    [*]skinBackgroundColor: #009933

    [*]点击“编辑”按钮(铅笔图标)推出的内容路径“对话框源选项旁边。在该领域进入以下路径:rtmp://localhost/vod/Legend(见图2)。

上面显示的路径指向FLV文件和前面提到的rtmp://server/Application/Instancesyntax如下。在这种情况下,服务器是localhost ,应用程序是VOD的实例是Legend.flv的媒体文件夹中。
/d/file/news/20e8608b6c2be1436a6dac32ab00e1cd.jpg
图2。输入使用RTMP地址的视频的路径。
你可能已经注意到,明显缺乏。FLV扩展后的文件名的路径。FMS的不需要的文件扩展名时播放FLV文件。同样重要的是要注意流使用FLVPlayback组件时,你不应该单击“浏览”按钮和导航定位视频。浏览选择视频文件失败的整个目的使用的FMS,因为由此产生的路径,将其视为一个渐进式下载视频。
注意:您学习了如何设置FMS服务器为localhost 第1部分。
    [*]保存并测试你的影片。如果所有的文件都是在正确的位置,在视频开始播放(见图3)。

/d/file/news/a73bfec32f1506912e62a4c986f0ecdb.jpg
图3。测试影片,观看的视频播放。
流的MP4文件
的Flash Media Server 4.5的FLV文件格式比其他工作。它还流的MPEG-4(MP4),F4V文件vod文件夹。如果您决定使用这两种格式,内容的路径会有所不同。让我们每一个流:

    [*]创建一个新的Flash ActionScript 3.0中的文件,并设置舞台大小为720×520像素。这个阶段的规模将容纳两个物理尺寸的视频和FLVPlayback组件的皮肤。
    [*]保存FLA文件可以保存在任何文件夹,你喜欢它。
    [*]打开“组件”面板,拖动FLVPlayback组件副本到舞台上。打开属性检查器,并设置其X和Y位置为0。
    [*]虽然被选中FLVPlayback组件,点击旁边的箭头图标元件的参数属性检查器的面积扩大。不用担心设置。重要的选项,把重点放在源参数。
    [*]点击“编辑”按钮(铅笔图标)旁边的“源”选项打开的内容路径“对话框。在该领域进入以下路径:rtmp://localhost/vod/mp4:CableCar.mp4 (见图4)。

/d/file/news/57c546c1b6004cea56a228d05281cc91.jpg
图4。输入的MP4文件的路径。
    [*]单击确定以关闭“内容路径”对话框。在舞台上的FLVPlayback组件实例的增长,以适应视频文件的物理尺寸。使用选择工具组件移动到的位置。
    [*]测试影片。

正如你可能已经注意到,事情有点不同工作流的MP4文件时。如图4所示,文件路径是:
rtmp://localhost/vod/mp4:CableCar.mp4
不同的是FLV文件,这一点很重要,包括文件扩展名(MP4)。告诉FMS的文件类型是什么流,简称4.5在FMS流的前缀(MP4)。这个文件的扩展要求,是真正使用其他格式的H.264/AAC标准,如F4V文件,你会流在下一节。
F4V流媒体文件
当Flash Player 9,0,115,0发布,Adobe公司还推出了F4V文件格式。一些Flash开发划伤了他们的头,不知道为什么它是必要的。简单来说,F4V文件格式包装,如在前面的练习中使用的MP4文件,H.264视频。你能想到的F4V文件为FLV文件类似,但增加了支持的H.264/AAC内容。F4V文件只能通过一个SWF文件播放之间的F4V格式和MP4格式的主要区别是,他们通常有宽高比为16:9,如果需要,可以提示点嵌入到F4V文件使用Adobe Media编码器CS5.5。
要了解更多有关Flash视频文件格式规范,请阅读Adobe的Flash视频文件格式规范10.1版本,以获得全面深入到F4V文件格式。
流F4V文件,请按照下列步骤:

    [*]创建一个新的Flash ActionScript 3.0中的文件和设置舞台大小为720×445像素。这个阶段的规模将容纳两个物理尺寸的视频和FLVPlayback组件的皮肤。
    [*]保存FLA文件可以保存在任何文件夹,你喜欢它。
    [*]打开“组件”面板,拖动FLVPlayback组件副本到舞台上。打开属性检查器,并设置其X和Y位置为0。
    [*]虽然被选中FLVPlayback组件,点击旁边的箭头图标元件的参数属性检查器的面积扩大。不用担心设置。重要的选项,把重点放在源参数。
    [*]点击“编辑”按钮(铅笔图标)打开的内容路径“对话框源选项旁边。输入路径:在以下领域的RTMP :/ / localhost/vod/mp4的:SandRiver.f4v(见图5)。

使用ActionScript视频流文件
如果你以前开发Flash项目中,有大小的限制,你可能已经避免使用FLVPlayback组件,因为它增加了52 KB发布的SWF文件。大小事务时,你可以使用一个视频对象,而不是从Flash图书馆。
在本教程中,你会跳过使用FLVPlayback组件和饲料从文件夹到一个视频对象在舞台上的VOD视频。遵循以下步骤:

    [*]打开位于文件夹中的示例文件02_AS3。复制Vultures.mp4 vod文件夹的文件。
    [*]双击MP4_StreamVOD.fla文件示例文件在Flash Professional中打开它。
    [*]当文件打开时,你会发现该接口已创建。
    [*]视频对象,实例名称“MyVideo网站,坐落在视频层。所有仍然完成的应用程序添加ActionScript 3.0代码。选择在行动层的第1帧,按F9键打开“动作”面板。

注意:您使用的视频对象应匹配的尺寸和/或您正在播放的FLV或MP4文件的长宽比。视频对象在舞台上的默认大小为160×120像素。这是宽高比为4:3,这个比例与FLV文件使用的作品。如果您正在使用的高清内容,使用共同的宽高比为16:9,未能调整到正确的宽高比或视频尺寸将导致扭曲的视频显示在视频对象时,它的视频对象。
    [*]点击一次在“脚本”窗格中输入以下代码:

var streamClient = new Object();
var nc: NetConnection = new NetConnection();
var ns:NetStream;   
streamClient.onBWDone = onBWDone;
该代码首先通过声明一个变量为streamClient对象FMS使用管理带宽。带宽检测所谓的本地带宽检测,建成的FMS。这是一个最好的做法,包括在ActionScript代码的小函数调用功能内置到服务器的带宽。接下来的两个变量被分配到NetConnection和NetStream类将用于准备播放视频。
最后一行告诉FMS的做什么,同时进行带宽检测。
随着地方的变量,下一步涉及到服务器的连接。
    [*]按Return / Enter键两次,输入以下代码:

nc.client = streamClient;
nc.connect("rtmp://localhost/vod");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
闪光,一个客户对象已经创建,这个对象将被检查的带宽流入客户端的代码警报。传达这一重要信息后,下一行代码告诉Flash正在取得连接。最后一行提示Flash来听的连接和显示其通过名为netStatusHandler功能地位。
    [*]按Return / Enter键两次,下面的代码添加到脚本:

function netStatusHandler(event:NetStatusEvent):void
{       
switch (event.info.code)       
{       
case "NetConnection.Connect.Success" :       
trace("Stream Found");       
beginStream();       
break;       
case "NetStream.Play.StreamNotFound" :       
trace("Stream not found: " );       
break;       
}
}
netStatusHandler监听FMS和SWF文件之间的调用。它监听的具体谈话告诉FMS的SWF文件的NetConnection已成功地连接到FMS的。下一行跟踪(“流”) ,证实了在Flash Professional中的“输出”面板中显示的消息(参见图6)。如果在NetConnection发现流,下一行告诉Flash,开始播放视频。其余的代码是相当明显的:显示在“输出”窗口中的错误信息,如果没有发现流和等待。
/d/file/news/25132b3f3e03d0a2648c0b81830657f4.jpg
图6。跟踪消息将显示在“输出”面板。
    [*]按Return / Enter键并输入其余的代码:

function onBWDone():void {}
当您查看上面的代码,你可能会奇怪,为什么内流而不是自身的功能。前面的代码块就是答案。确认后,有一个成功的连接到Flash Media Server的视频只能播放。
第一线在beginStream手柄重视的NetStream,NetConnection和接下来的两行创建的NetStream客户端和视频播放前两秒钟的视频添加到缓冲区。下一行包括使用ActionScript通常播放的方法,但重要的是要注意,你需要包括媒体类型,MP4(包括结肠)在字符串。因为您正在使用的FMS 4.5,你并不需要添加文件扩展名视频的名字,但它是一个最佳实践,包括它。
不过,在这个例子中,你使用的是两个版本的MP4和F4V文件格式的视频文件。如果你不添加扩展,它可能会导致错误的视频播放。最后一行的beginStream处理的NetStream视频对象的实例MyVideo网站在舞台上。
注:如果你使用的FLV文件,而不是发挥字符串将是Vultures。记住,你不流FLV文件时,需要添加的媒体类型。
代码的最后线只是初始化的onBWDone的的处理程序。
    [*]保存FLA文件和测试影片。你会发现有轻微的延迟两秒钟的视频添加到缓冲区。当它完成缓冲,您可以观看视频,设有婴儿土耳其秃鹰巢(见图7)。

/d/file/news/fb9d4e2777880ff7ffc069288de264f0.jpg
图7。观看视频播放,并检查了婴儿秃鹰巢。
流媒体视频直播服务器上时的注意事项
在本节中,你将学到的技巧和策略,当一个真正的,活的Flash Media Server 4.5的服务器上的内容流。
主要区别涉及更改FLVPlayback组件或源的参数nc.connect();在ActionScript中的参数。您需要更换的本地主机 与您的Flash媒体服务器托管服务提供商提供的RTMP地址。当然,你还需要托管服务提供商的服务器,但改变地址和上传媒体以外的视频文件上传到您的帐户,你真的不需要做的远不止于此。
注:请记住,Flash Media Server的托管服务提供商具有独特的要求。要了解更多信息,请阅读使用Flash Media Server的托管服务提供商通过Influxis 的消费指南。供应商使用RTMP地址和工作流程上的不同,可能会有点不同,所以它始终是最好检查你开始与您的托管服务提供商。
创建视频流应用程序
在这一点上,你已经允许的FMS 4.5自动送入从VOD文件夹到FLVPlayback组件或在舞台上的视频对象的视频流。有可能会vod文件夹的时候比资产更是一个障碍,但是。此外,VOD文件夹的Flash Media流媒体服务器的功能。如果您正在使用Flash Media交互式的服务器,你需要创建一个应用程序,从该服务器中。
其实,这是不是非常神秘的使用,但如果你是新来的FMS 4.5,它可以是有点混乱。第一个区别是你的发布点是不是一个vod文件夹,这是您的应用程序文件夹。被放置在此文件夹的FMS 4.5的应用程序文件夹,但你的名字。
下一个大的区别在于使用的一个实例。这有什么做用ActionScript。一个实例是一个具体的文件夹名为的_definst_你必须建立并必须包含视频或音频文件。
注意:文件夹名称的_definst_是“默认实例”,是一个共同的最佳做法在FMS社区。Flash媒体服务器总是会_definst_文件夹的路径中不存在的netconnection() URL。
此外,还有通常是在应用程序文件夹,其中包含一些相对简单的服务器端代码的ASC文件。在本节中,你看看这是如何工作的:

    [*]在示例文件中,找到一个文件夹,名为03_ VideoApplication并打开它。它包含名为BabyVultures的文件夹。这是你将要使用的应用程序。
    [*]打开BabyVultures文件夹中找到一个文件夹命名流和名为main.asc文件。该文件通常命名为main.asc,因为它包含了服务器端的代码,使应用程序的工作,并可以在多个应用程序使用(见图8)。

/d/file/news/0a6e3beb5d2974fbd3303ab44b34434a.jpg
图8。查看FMS中的应用程序中使用基本的文件夹结构。
可以创建在Flash Professional中的ASC文件,选择“文件>新建,在新建文档对话框中选择的ActionScript通讯文件”选项(参见图9)。另外,您也可以使用Adobe Dreamweaver中CS5.5或文本编辑器编写代码。当你完成后,保存与。ASC延伸的文件。
/d/file/news/a231fdcbc60ca7ebe5d4bc660080395e.jpg
图9。使用新的文件对话框创建一个ActionScript通信文件。
注:感谢我们的同事莉萨拉森-凯利使用这个main.asc文件。
    [*]打开main.asc文件,看看服务器端的代码:

上面的代码表示,当客户端连接,在FMS 4.5服务器接受从SWF文件中的连接。这是一个非常简单的例子,一个main.asc文件。当你开始移动到共享对象的境界,并使用自定义组件,这个代码可以变得非常复杂和运行数百行。
    [*]关闭ASC Flash文档,并打开流文件夹,找到_definst_文件夹。这是在那里你将媒体。对于这个例子,如果你打开​​_definst_文件夹,你会发现的Vultures.mp4文件的副本。

注:如果你想创建一个简单的流没有服务器端代码,它不再是要创建一个ASC文件。刚刚创建的应用程序,并复制到位于的_definst_流“文件夹中的文件夹,视频文件。
现在你知道如何在应用程序的结构,它的时间把你的新知识,使用和流视频:

    [*]打开应用程序文件夹(C:程序文件 Adob​​e Flash Media Server的4.5的应用)和应用程序文件夹复制的BabyVultures从03_VideoApplication文件夹文件夹。你刚才创建的名为BabyVultures的应用程序,其路径是C:程序文件 Adob​​e Flash Media Server中的4.5 应用程序 BabyVultures。现在唯一的任务依然是挂钩的应用程序。
    [*]双击在03_VideoApplication文件夹的MP4_StreamApp.fla文件,打开它在Flash Professional CS5.5。如果您正在使用Flash Professional CS5中或Flash Professional CS4的工作,你会发现在Flash_Older文件夹中的文件的相应版本。
    [*]选择的行动层的第1帧,打开动作面板。
    [*]在“动作”面板,在“脚本”窗格中单击一次。删除2号线的意见,并在第11行到改变的参数:

nc.connect("rtmp://localhost/BabyVultures");
前面的例子相比最大的区别是的NetConnection字符串。已从vod文件夹,你在这个系列中的所有例子,BabyVultures,这是应用程序的发布点。
注:如果你想添加到这个文件的安全或数字版权管理(DRM)的程度,改变RTMP RTMPE自动加密流。
如果您保存FLA文件和测试在这一点上的Flash电影,视频播放(见图10)。
/d/file/news/8974a53add90dcd10eb740c4494c1117.jpg
图10。更新在第11行的代码和测试影片看到应用程序运行。
关于Flash Media Server的伟大的事情是,它位于文件播放。连接时,它会自动搜索一个流“文件夹中。当它找到的文件夹,它承认发现,在视频ns.play()方法是_definst_文件夹中的文件。FMS立即识别该文件夹中,找到了视频,流媒体。
重要的是要记住,你在这里使用的是一个文件夹名为_ definst _ 如果您重命名该文件夹中,其他一些名称,如“媒体”,代码将不会工作,FMS将呈现一个错误,表明它无法找到流。
页: [1]
查看完整版本: Flash Media Server 4.5(fms4.5)教程二:RTMP流媒体视频点播