Flash流媒体视频服务器的构建与应用
字数:2450
来源:中国信息技术教育 2013年5期 字体:大 中 小 打印当页正文
摘要:FLV、F4V都是Adobe推出的Flash流媒体产品,目前已成为互联网视频主流格式。它们的传输可以通过HTTP协议或RTMP协议,服务器安装配置简便,客户端只需浏览器安装Flash Player插件即可。因其体积小、质量好、传输速度快等优点,广泛应用在网络教学、视频点播、网络直播、视频会议等领域。
关键词:FLV;F4V;流媒体;RTMP;FMS
● Flash流媒体视频格式
1.FLV视频格式
FLV是Flash Video的简称,它利用了网页上广泛使用的Flash Player平台,把视频整合到Flash动画中。互联网用户只要能看到Flash动画,就能看到FLV视频,不需要再安装其他视频插件。FLV视频采用H.263编码,具有压缩率高、文件体积小、视频质量好、加载速度快等优点,而且相比传统视频更具有适用性和跨平台性,适于在网上传输。
2.F4V视频格式
F4V是继FLV格式后最新的流媒体格式,它支持H.264编码的高清晰视频,码率最高可达50Mbps。作为一种更小、更清晰、更利于在网络传播的格式,F4V逐渐取代了FLV,也已经被大多数主流播放器兼容播放,而不需要通过转换等复杂的方式。
● Flash视频网络传输的两种协议
Flash视频在网络上传输时可以采用两种协议:HTTP协议和RTMP协议。
1.基于HTTP协议传输
Flash视频采用HTTP协议传输时,服务器端服务程序,如IIS,会先将视频文件下载到客户端缓存中,然后嵌入网页中的Flash视频播放器通过客户端的本地连接来播放该视频文件。通过这种方式,Flash视频播放器播放的是客户端本地的视频,而不是远程Flash视频服务器中的视频。因此,在用户机缓存中能找到此Flash视频文件。
2.基于RTMP协议传输
Flash视频采用RTMP协议传输时,可以实时播放服务器的Flash视频文件,是流式传输方式。采用HTTP方式传输时,需要客户端在缓存下载完整的Flash视频文件后才可以选择任意播放点,而采用RTMP方式随时可以任意选择播放点。
由此可以看出,HTTP方式是客户端本地播放,而RTMP方式是服务器实时播放。
● 基于HTTP协议传输的Flash视频服务器配置
基于HTTP协议传输Flash视频,服务器端采用Web服务器程序即可,无需安装其他程序,在此以Windows Server 2003和IIS为例介绍视频服务器配置方法。
1.服务器配置
Windows Server 2003操作系统中,默认通过IIS是无法播放FLV、F4V文件的。原因是IIS中没有指定输出FLV、F4V这两种格式,而Windows Server 2003加强了IIS6的MIME验证,一切未注册的扩展文件格式均显示为404错误。
让IIS支持FLV、F4V的设置方法为:打开IIS,选择“本地计算机→用户站点(如默认网站)”,单击右键在菜单命令中选择“属性”,打开网站属性对话框。选择“HTTP头”选项卡,单击“MIME类型”按钮,通过“新建”按钮添加两种MIME类型。
FLV视频的扩展名是.flv,MIME类型是flv-application/octet-stream。F4V视频扩展名是.f4v,MIME类型是video/mp4。
2.制作播放界面
服务器设置好后,在网页中播放FLV视频时,可以自己制作播放器,也可使用Dreamweaver中提供的播放器。在Dreamweaver中,选择“插入→媒体→FLV”,在“插入FLV”对话框中,选择视频类型为“累进式下载视频”,即通过HTTP方式传输视频。设置好视频URL、播放器外观、窗口大小等参数即可完成FLV视频网页的制作。
● 基于RTMP协议传输的Flash视频服务器配置
基于RTMP协议传输FLV视频采用的是流式传输,需要在服务器端安装服务程序。支持Flash视频流式传输的服务器端程序有两个:Adobe公司的FMS和开源的Red5,在此介绍FMS的配置方法。
1.Flash Media Server简介
Flash Media Server(简称FMS)最早是Macromedia公司于2002年发布的Flash Communication Server MX服务器(简称FCS),是FMS的前一个版本。FMS服务器是用于用户之间相互通讯的新平台,它集成了Flash多媒体交互的特性,能够实现实时视频、音频和数据流传输,能够轻松流畅地实现点播和实时同步广播。与传统流媒体服务器相比,FMS具有互动性,不但可以有效地处理影音数据(包括实时影音数据),而且可以进行文本数据的实时通讯,这种实时通讯可以是一对一、一对多、多对一或多对多。它将这种流媒体能力和其他应用程序服务器集成在一起,从而可以创建功能强大的富媒体应用程序。
2.Flash Media Server的构成
FMS可以监听多个端口,在安装过程中可以定义多个端口号,各端口之间用逗号隔开,而管理服务器的端口号只有一个(最好使用默认安装)。服务器安装成功后,在系统服务中会新加两项服务:Flash Media Server和Flash Media Administration Server。FMS服务器的启动包括服务器的启动和控制台启动两个方面,可以通过“开始”菜单启动,如果在进程表中看到FMSMaster.exe、FMSCore.exe、FMSEdge.exe和FMSAdmin.exe四个进程,则说明FMS服务器和FMS服务器控制台已经启动成功。
Flash Media Server主要由两部分构成:服务器端Server程序和客户端Flash播放器。服务器端的应用程序在FMS上建立私有目录,存放所需的资源和服务端脚本,客户端与服务器端程序通过RTMP协议进行通信。Flash客户端通过RTMP协议与FMS建立连接,同时在服务器端与Flash的客户端之间形成数据流。FLV视频文件则嵌入在浏览器中,Web服务器通过HTTP协议响应客户端的请求并将FLV视频信息发送到客户端。
3.Flash视频文件的加载
FMS安装完成后,在安装目录下有一个名称为applications的文件夹,是FMS工作时的服务目录,其下包括Live和VOD两个子目录,分别存放直播和点播的视频文件。在FMS中实现视频点播服务的方法有下面三种:
(1)方法一:使用默认的存放路径
只需把要发布的视频复制到VOD目录下的media文件夹,FMS即可开始提供流式视频传输服务。
(2)方法二:映射虚拟路径到物理路径
如果Flash视频文件不放在VOD目录下,而放在其他目录下,如D:\FlashVideo,则可以使用虚拟路径映射到物理路径,具体方法是在某个VOD应用下,找到Application.xml文件,按照下列配置修改:
/;D:\ FlashVideo
上述配置将覆盖Vhost.xml中"/"的配置。这样,一个客户端连接将可以播放D:\FlashVideo文件夹下的视频,如sample.flv文件,其访问地址为: rtmp://localhost/VOD/sample.flv。
(3)方法三:创建新的RTMP虚拟目录
VOD是FMS默认的虚拟目录,实际上用户可以自己创建新的虚拟目录,然后映射到存放视频的文件夹。虚拟目录的配置文件是C:\Program Files\Adobe\Flash Media Server 3.5\conf\fms.ini,打开后可以看到默认的VOD虚拟目录是通过这两句内容实现的:
VOD_COMMON_DIR = C:\Program Files\Adobe\Flash Media Server 3.5\webroot\vod
VOD_DIR = C:\Program Files\Adobe\Flash Media Server 3.5\applications\vod\media
因此,在这里要创建一个新的虚拟目录hello,可以添加如下内容:
HELLO_COMMON_DIR = D:\hello
HELLO_DIR = D:\hello\media
然后把C:\Program Files\Adobe\Flash Media Server 3.5\applications\vod文件夹里的文件复制到D:\hello文件夹,并且修改D:\hello\Application.xml的文件内容,做如下修改。
修改前:
/;${VOD_COMMON_DIR}
/;${VOD_DIR}
修改为:
/;${HELLO_COMMON_DIR}
/;${HELLO_DIR}
重启FMS,虚拟目录就建好了。这样,将视频文件放在D:\hello\media目录下,客户端连接时就可以播放了,如播放sample.flv文件,其访问地址为: rtmp://localhost/hello/sample.flv。
4.将Flash视频加载到网页中
在将Flash视频加入到网页中时,需要一个Flash播放器。在此可以使用FMS中自带的播放器,播放器文件在C:\Program Files\Adobe\Flash Media Server 3.5\webroot\swfs\videoPlayer.swf,可以将此文件复制到网页所在目录下,在网页中使用标记或标记将Flash播放器嵌入到网页中,如播放默认虚拟目录VOD下的sample.f4v文件,主要代码如下:
● Flash流媒体视频服务器的应用
无论是FLV视频文件还是F4V视频文件,都具有体积小、质量高、制作简便等特点,适合于网络传输。基于FMS构建的Flash流媒体服务器能够实现流媒体视频点播和视频直播,因此在很多领域都有广泛的应用。
1.网络远程教育
在网络教学中,通过Flash流媒体服务器的视音频点播功能,可以实现异步授课,学生可以按自己的时间和兴趣点播教师授课录像进行个别化学习。通过服务器的直播功能,可以开展实时同步教学,将教师的讲课场景通过网络实时广播出去。同时,学生和教师也可以进行实时的交流、讨论。
2.网络视频点播
传统的流媒体视频点播系统由于媒体文件较大,大量的数据传输导致下载持续时间相对较长,造成服务器的负荷大。而Flash格式的流媒体文件体积小,传输快,因此,基于FLV或F4V格式能够有效减轻服务器压力,适于大规模的网络视频点播。
3.互联网高清直播
目前,互联网上的网络直播已比较普遍。采用传统的流媒体直播时,为了保证直播的实时性,视频的质量会有所降低。而F4V格式是采用H.264编码压缩的高清晰视频,体积小;同时FMS服务器使用RTMP协议来传输视音频和数据信息,传输速度快。而且Flash平台具有交互性,网络直播双方可以相互交流,更能体现真实、主动及参与。
4.视频会议
FMS平台集成了通讯功能和应用程序功能,它通过Flash Player在客户端提供视频、音频和数据流共享。通过该平台,人们可以方便地进行实时通信,可以通过网络存储录制下来的视音频,也可以共享数据对象,并可将这些视音频和共享数据传递给多个客户端,实现实时同步共享。因此,基于FMS构建的流媒体服务器能够提供稳定的、高质量的视频会议服务。
● 结束语
FLV和F4V两种流媒体视频格式已经相对成熟,它利用网络中广泛使用的Flash Player播放平台,网站用户在访问时无需考虑额外安装其他视频插件的问题。同时,Flash视频文件的体积较小,视频质量较高,很好地解决了视频体积、视频质量、网络带宽的制约问题,因此它具有广阔的发展前景。
评论