杨永华,卢 畅,徐光明
(浙江海洋学院计算机中心,浙江舟山 316004)
流媒体(Streaming Media)是指在数据网络上按时间先后次序传输和播放的连续音/视频数据流。以前我们在网络上观看视频时,必须先将整个影音文件下载到本地才可观看,因为影音文件的容量一般较大,所以不得不忍受等待的煎熬。流媒体正是为了解决这个问题而诞生的,它在播放前并不下载整个文件,而是先在客户端的计算机上建立一个缓冲区,播放前预先下载一段资料作为缓冲,当网络实际连线速度小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,避免播放的中断,使得播放品质得以维持,这样就节省了下载等待时间和存储空间。因此它具有三个特点:连续性(Continuous)、实时性(Real-time)、时序性(即其数据流具有严格的前后时序关系)。
正因为流媒体的技术特点,使它在许多方面得到了利用,目前,这项技术随着网络的飞速发展已经变得比较成熟,在视频点播(VOD)[1,2]、视频广播、视频监视、视频会议、远程教学、交互式游戏等方面都有不错的表现,而且,这项技术在未来将会有更大的用途和发展。
流媒体的技术特点决定了它对服务器和网络的要求较高,因为大量数据流的压力主要集中在这两个部分,笔者学校机房作为一个独立的局域网络环境,全部机器100 M带宽到桌面,网络质量不成问题,服务器是采用康柏的Proliant ML350,奔Ⅳ2.4G,1G内存,对付一般几十个并发用户不成问题,所以完全具备流媒体平台搭建的条件。
在这个信息化社会里,一个大学生不但要学习书本里的内容,更多的还要通过自学来提高自己。当今世界,网络相当发达,网上的资源更是相当丰富,而且特别是一些视频资源,比起枯燥的白纸黑字来效果好多了,容易被学生接受。我们可以通过把网上的资源集中放到这个平台中,让学生们自由点播,自助学习,提高学生的学习兴趣,为学生创造更便利的学习环境。
VOD点播系统采用客户机/服务器结构,学生可以通过WEB浏览器来打开此系统并进行点播学习,它主要包括以下4个主要部分。
1)系统服务器
系统服务器有windows和UNIX两种选择,UNIX系统服务器在安全性能方面有着非常突出的优势,但是因为考虑到操作和调试的方便性,而且此服务器因为位于局域网内,受外部攻击的可能性不大,故采用了windows server 2000的系统服务器,对于机房这样的环境完全可以胜任。
2)流媒体服务器
目前用于在线播放的流媒体文件以Real Media、Windows Media和QuickTime三种格式为主,对应的播放器分别是Real player、Windows Media Player和QuickTime。
其中RealNetworks公司的Helixtm Server是一个被普遍使用的数字流媒体发布平台。Helix Server提供优异的性能,完整的内容发布方案,广告管理,用户认证,支持WEB访问等多样的扩展。同时支持分发Real Media,Windows Media,Quick time和MPEG 4文件格式的媒体文件。作为一个优秀的流媒体发布平台,它能满足企业用户和服务提供商的多样要求。这款是一款支持多格式、跨平台的流媒体服务器软件,能将高质量的多媒体内容发到任何网络能够触及的地方,甚至是无线设备上。基于如此多的优点,本平台当然选择Helix Server 9.0作为流媒体服务器了。
Helix Server 9.0的安装比较简单,基本上采用默认的路径和端口号即可,但是应该把默认的HTTP的80端口改成其它端口号,从而保证了端口不会产生冲突,安装完成后,首先要手动启动一下服务端,那么在下次开机后,服务就会自动启动了。
在网上虽能够以流的方式播放标准媒体文件格式,但效率不高,需将媒体文件压缩、编码成流式文件。流式文件格式经过特殊编码,适合在网络上边下载边播放,常用的流式文件类型ASF、RM等流式传输的实现需要有合适的传输协议。TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时多媒体数据[3]。本系统采用了RTSP和MMS这两种传输协议。
实时流协议RTSP是由Real Networks和Netscape共同提出的,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
MMS(Media Server Protocol,MMS),这是微软定义的一种流媒体传输协议。用来访问并流式接收Windows Media服务器中.asf文件的一种协议。MMS协议用于访问Windows Media发布点上的单播内容。MMS是连接Windows Media单播服务的默认方法。若观众在Windows Media Player中键入一个URL以连接内容,而不是通过超级链接访问内容,则他们必须使用MMS协议引用该流。
3)客户端
客户端设置相对简单,只需要安装相对应的播放软件即可,我们机房安装的是real player 10.0和Windows Media 9.0,基本上可以完成对一般数据的解码,对于有特殊解码要求的视频文件,我们只要安装相对应的解码器都可以解决无法播放的问题。
4)网络系统
根据计算机中心机房特点,以网络分层的原则,东校区采用核心层和汇聚层的逻辑拓扑结构,西校区通过光纤直接接入核心层。
核心层采用神州数码DCRS-7504核心交换机,DCRS-7504可提供800G的背板交换容量,实现L2/L3/L4多层包转发率为286MPPS,最大可容纳的模块数4个、最大100/1 000 M以太网端口数192个、最大1000M以太网端口数192个、最大10 G太网端口数16个等强大的、高带宽的网络接口连接,具备电信级的高可靠性和安全性,可充分满足核心层网络交换和网络路由的安全、高效。汇聚层采用神州数码交换机DCS-3926S和DCS-5526提供1 000 Base接口的方式直接核心交换机7 504作千兆高速连接。接入层采用实达交换STAR-S1824+提供100 Base接口的方式直接连核心交换机7 504作百兆经济、高速连接。
中心计算机房的视频点播服务器直接与DCRS-7504交换机的24口百兆以太网模块连接,使得网络可以全面支持多媒体网络应用。
对于自学的学生来说,操作简单实用是最重要的,因为我们是免费为学生提供点播服务的,所以在网站功能设计上相对比较简单,而且数据量也不是很大,所以采用目前流行的ASP+ACCESS构架[4]完全能胜任了,这个网站主要包含如下几个功能模块:
1)用户管理模块
此模块主要包括用户注册、登陆功能,它主要目的是为了记住学生浏览过的视频文件,并把纪录写入数据库,当用户下次登录时就通过读取数据库信息直接进入上次浏览的页面,省却查找的麻烦,使网站更具人性化。
2)视频管理模块
此模块的功能包括对级联栏目的添加、修改、删除操作,从而使视频文件更加有序地进行排列,方便学生浏览查找,还包括对视频文件的添加、修改和删除功能。为了使操作更加方便,管理员可以直接在首页进行视频文件的添加工作,然后在后台进行生审批、修改和删除工作。此模块没有设置文件上传的功能,所有影片的添加是在服务器上直接添加,然后在管理页面设置相应路径,根据Helix软件的要求,所有视频文件都放在其content的子文件夹下。
3)视频播放模块
此模块的功能是实现流媒体文件的播放,一般播放有分页面链接和页面嵌入两种方式来实现。采用页面嵌入式,播放器成为页面的一个基元,影片或声音无间隙地内嵌在网页中,当页面打开时便可自动播放,其好处主要有:(1)设计者可以完全控制播放器的外观和功能,也就可以自由设计播放器的尺寸,在页面中位置,可以使用的按纽,播放指定的唯一文件,与页面实现无缝结合。(2)通过页面脚本语言JavaScript或VBScript来控制播放器,可以创建自定义的播放器外观和实现特殊功能,所以这里选择嵌入式的播放方式。
针对目前最流行的两种播放格式(real和wmv),播放模块也被分为两种类型来实现。其关键代码如下:
Real方式代码:
‘从数据库中读取文件路径
<param name='CONTROLS'value='Imagewindow,StatusBar,ControlPanel'>
<param name='CONSOLE'value='RAPLAYER'>
<param name='LOOP'value='0'>
<param name='NUMLOOP'value='0'><param name='CENTER'value='0'>
<param name='MAINTAINASPECT'value='0'>
<param name='BACKGROUNDCOLOR'value='#000000'>
</OBJECT>
WMA方式代码:
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"id="MediaPlayer1">
<param name="Filename"value="<%=rs(“address2”)%>"><!--你文件的位置-->
<param name="PlayCount"value="1"><!--控制重复次数:“x”为几重复播放几次;x=0,无限循环。-->
<param name="AutoStart"value="0"><!--控制播放方式:x=1,打开网页自动播放;x=0,按播放键播放。-->
<param name="ClickToPlay"value="1"><!--控制播放开关:x=1,可鼠标点击控制播放或暂停状态;x=0,禁用此功能。-->
<param name="DisplaySize"value="0"><!--控制播放画面:x=0,原始大小;x=1,一半大小;x=2,2 倍大小。-->
<param name="EnableFullScreen Controls"value="1"><!--控制切换全屏:x=1,允许切换为全屏;x=0,禁用此功能。-->
<param name="ShowAudio Controls"value="1"><!--控制音量:x=1,允许调节音量;x=0,禁止音量调节。-->
<param name="EnableContext Menu"value="1"><!--控制快捷菜单:x=1,允许使用右键菜单;x=0,禁用右键菜单。-->
<param name="ShowDisplay"value="1"><!--控制版权信息:x=1,显示电影及作者信息;x=0,不显示相关信息-->
</object>
<embed src="http://../test.wmv"autostart="true"loop="true"width="200"height="150">
4)留言板模块
此模块是为了给学生对于网站的建设提供建议搭建一个平台,让我们能及时了解他们喜欢哪类的视频文件,从而能有针对性地进行提供。
流媒体技术目前已经比较成熟,加上网络的飞速发展,它在越来越多的领域发挥着越来越大的作用,VOD只是其应用中相当小的一个方面。对于学校来讲,校内网络质量相对较好,为流媒体的实现铺垫了宽敞的道路,我们可以充分发挥这个优势,研究实现视频会议、视频监控等等各种实用技术,为日常工作和教学提供诸多方便。
[1]谢晓兰,冯嘉礼.基于流媒体的VOD网站的架设[J].广西科学院学报,2003,19(4):230-233.
[2]吴彩霞,古达文,赵呈领.基于WEB的VOD系统在校园网中的实现[J].中国远程教育,2002(9):60-61.
[3]STEINMETZ R,NAHRSTEDT K.Multimedia Computing Communication&Applications[M].北京:清华大学出版社,2001:20-60.
[4]赛奎春.ASP信息系统开发实例精选[M].北京:机械工业出版社,2005:345-392.