学习情境2.7 Helix流媒体的架设
2.7.1 学习要点
1.知识点:了解Helix服务器目录机构与配置文件
2.技能点:掌握Helix服务器的安装、启动等基本使用
2.7.2 任务描述
Helix流媒体的架设
软件能正常安装在/usr/local/helix目录,设置其服务的管理端口为7000,管理员为admin,密码admin,服务正常启动。建立一名为video的加载点到/film的子目录,能进行网上点播。用Apache建立虚拟目录film,网站的主目录在/home/helix/www,默认文档是index.php的文件,在主页上做流媒体文件的在线点播,并且用嵌入式Web视频点播系统实现。
2.7.3 相关知识
1.流媒体技术概述
因特网的迅猛发展和普及为流媒体业务发展提供了强大的市场动力,流媒体业务正变得日益流行。流媒体技术广泛用于多媒体新闻发布、在线直播、网络广告、电子商务、视频点播、远程教育、远程医疗、网络电台、实时视频会议等互联网信息服务的方方面面。流媒体技术的应用将为网络信息交流带来革命性的变化,对人们的工作和生活将产生深远的影响。
一个完整的流媒体解决方案应是相关软硬件的完美集成,它大致包括下面几个方面的内容:内容采集、视音频捕获和压缩编码、内容编辑、内容存储和播放、应用服务器内容管理发布及用户管理等。
流媒体,就是利用互联网传递并能被用户一边下载一边播放的活动媒体信息。在流媒体技术出现之前,网络上传输多媒体信息主要依靠下载方式来实现。下载文件浪费了较长时间,并且占用了大量本地硬盘的空间。
Helix服务器是RealNetworks公司功能强大的流媒体服务器产品,该服务器不仅可以支持其自身的“.rm”等多媒体格式,更广泛地支持包括Microsoft的“.wmv”、Macromedia的“.swf”等多种常用的媒体格式,是公认的优秀媒体服务器。
Helix是多操作系统平台的服务器软件,在Linux和Windows中都有相应的版本,并且管理界面类似,在本情境中我们只讨论Linux中Helix服务器的管理与配置。
2.流媒体格式
流媒体技术的特点决定了流媒体文件的格式,目前网络上常见的流媒体格式主要有美国RealNetwork公司的RealMedia格式、微软公司的Windows Media格式和美国苹果公司的QuickTime格式。
①RealMedia格式———目前最流行的流媒体格式。具有很高的压缩比和良好的的压缩传输能力,适合网络播放或在线直播。RM格式质量最差,文件体积最小,系统资源占用介于其他两种格式之间。
②QuickTime格式———数字媒体领域的工业标准。QuickTime格式品质最好,但文件体积较大,传输时间也较长。多用于多媒体广告、产品演示、高清晰度影片等。QuickTime格式使用QuickTime Player播放器播放,提供实时的数字化信息流、工作流与文件回放功能。但占用较多的系统资源,对计算机配置要求较高。
③Windows Media格式———核心技术是ASF(高级流格式)。ASF格式支持任意的压缩/解压缩编码方式,并可以使用任何一种底层的网络传输协议,具有很大的灵活性。Windows Media格式文件比RealMedia文件大,比QuickTime文件小。在线播放时可以获得比QuickTime文件更快、更流畅的效果。Windows Media制作、发布和播放软件都已被集成到Windows中,因此Windows Media格式的文件使用Windows自带的Windows Media Player就可以播放了。
3.流媒体的发布方式
目前,应用于互联网上的流媒体发布方式主要有单播、广播、多播和点播等四种方式。
①单播 在客户端和流媒体服务器之间建立一条单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机。单播一般用于广域网的流媒体传输。
②广播 广播指的是流媒体服务器发出流媒体数据,用户被动接收。在广播过程中,客户端只能接收媒体数据而不能控制,类似于电视节目的播放。
③多播 利用IP多播技术能够构建一种具有多播能力的网络。采用多播方式,单台服务器能够对十几万台客户机同时发送连续数据流,而且没有时间延迟。流媒体服务器只需发送一个数据包,所有发出请求的客户端共享一个数据包。这样大大提高了网络效率,降低了成本。多播在多媒体应用中占用的网络带宽最小,但它需要具有多媒体能力的网络。一般只能用于局域网,或在专用网段内传播。
④点播 点播是客户端主动连接服务器,在点播连接中,用户通过选择内容项目来初始化客户端连接,用户可以开始、暂停、快进、后退或停止流媒体文件。点播方式提供了对流媒体文件的最大控制,但由于每个客户端都会各自连接服务器,所以这种方式占用的网络带宽很多。
4.常用流媒体服务器产品简介
目前,搭建流媒体服务器比较流行的方案有两种:微软公司的Windows Media Services服务器和RealNetworks公司的RealMedia服务器。
(1)Windows Media Services
Windows Media Services服务器是Windows Server 2003自带的一项网络服务,它与微软公司提供的包括Windows Media编码器在内的多种编辑工具相结合,能够通过各种网络发布多媒体内容。运行Windows Media Services的服务器叫做“Windows Media服务器”,它允许通过网络发布。网络中的用户通过播放器Windows Media Player接收发布的内容。
(2)Helix Server
使用RealMedia搭建流媒体服务器,首先需要一个支持RealMedia流媒体技术的服务器和编码器。服务器用于提供用户使用的服务,编码器用于将视频、音频资源编码为RealMedia格式的流媒体文件或者数据流。Helix Server是网络中比较流行的流媒体服务器软件,它不仅是一个多平台的流媒体服务器软件,还是一个支持多格式流媒体文件的流媒体服务器软件。表现在它既有Windows版的软件,又有Linux版的软件;既支持Windows Media格式的文件,又支持RealMedia的流媒体文件格式。
5.常见流媒体协议
(1)MMS协议
MMS的全称是“Microsoft Media Server”(微软媒体服务器),这种协议由微软制定,用来访问并且用于流式接收Windows Media服务器中的流文件,也是连接WindowsMedia单播服务的默认方法。当在Windows Media Player中输入一个URL以便连接播放内容时要使用这个协议,当用MMS协议连接到发布点后,服务器会使用“协议翻转”来获得最佳的连接。例如“mms://windows_media_server/sample.asf”这样一个地址中,“windows_media_server”为Windows Media的服务器名,“SAMPLE.ASF”是想要使之转化为流的.ASF文件名。在网上播放ASF/WMV文件时,常用这种协议,相应的还有MMST协议。
提示:在数码领域也有个“MMS”,这个“MMS”是多媒体信息服务(Multimedia Messaging Service)的英文缩写,是WAP论坛和3GPP(3rd Generation Partnership Program)制定的移动环境下新的信息服务标准,人们俗称的“彩信”就是它。大家不要搞混淆了。
(2)RTSP协议
RTSP(Real Time Streaming Protocol)是由RealNetworks和Netscape共同提出的,是一种实时流协议。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。与HTTP相比,HTTP传送HTML,而RTSP传送的是多媒体数据,HTTP请求由客户机发出,服务器做出响应。使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。现在很多公司都宣称它们的在线播放器支持RTSP协议(不过微软一直都坚持不支持此协议)。最典型的应用就是用来播放RealMedia文件。
6.HelixServer设置
启动Helix Server,首先看到的是一个欢迎页面,左边是功能连接,中间是简单的介绍。
(1)端口设置
如图2.6.1所示,我们可以看到自上而下依次定义了各种不同类型的端口,包括RTSP,PNA,HTTP,MONITOR,ADMIN等这些老端口,同时也有新端口,那就是MMS端口。提供对WM媒体文件的支持是Helix Server的一个很重要的新特性。

图2.7.1 服务器端口设置
(2)IP绑定(如图2.7.2所示)

图2.7.2 服务器IP绑定设置
一台Helix Server服务器上可能有不止一块的网卡,或者在一块网卡上可能有不只一个的IP地址,在某些情况下,就必须对Helix Server的IP地址进行绑定。这个页面就是用来进行对服务器进行IP地址绑定以及对现有绑定进行编辑和删除的。要注意的是,绑定IP地址或者改变绑定以后,服务器将需要重新启动。
(3)MIME类型(如图2.7.3所示)

图2.7.3 服务器MIME类型设置
MIME Type的定义用于告诉服务器如何正确的识别文件,以保证其能完整有效地通过HTTP协议进行传输。对应于相应的扩展名,在这里都能找到相关的定义格式。要注意的是,并不是所有文件的扩展名在这里都能找到,只有需要通过HTTP协议传输的文件必须在此定义MIME类型。而类似RM,ASF等这些直接通过RTSP协议传输的文件是不需要在这里定义的。
(4)连接控制(如图2.7.4所示)

图2.7.4 服务器连接控制设置
用来定义Helixerver有关连接的选项,从上面图片中我们可以看到在这里可以定义服务器的最大连接数、最大允许连接数(这个就是有授权所规定的),以及对用户播放器的限制,比如仅限制Realplayer播放器使用,或者仅限制PLUS版本播放器使用等等。当然在这里还可以对服务的带宽进行限制,以保证同一台服务器上面的其他服务有足够的网络资源。
(5)冗余服务器
冗余服务器是保证大规模稳定服务的必须配置!同样的直播流和媒体文件被镜像的放置于几个不同的服务器上,当用户连接其中的一个服务器失败的时候(导致失败的原因将是多样的),用户将被重新定向到另外一个备份的冗余服务器上去。在这个页面中,我们可以定义冗余服务器列表、目录映射关系以及例外目录设置,如图2.7.5所示。

图2.7.5 冗余服务器设置
(6)加载点设置
要想成功的对外服务,让客户端能访问到你的媒体文件,就必须设置好加载点,加载点也就是你服务器的媒体文件的存放文件夹,如图2.7.6所示。
要增加新的加载点,点+号,生成一个新的加载点,描述可以随便些,内容加载点可以以你的媒体类型来写,比如你的这个加载的文件夹存放的都是rmvb文件,那就可以写/video/,必须用符号“/”标记开始和结束,如我的媒体文件存放于计算机的根目录下的film文件夹,那么就应该这么写.“/film”,基于路径位置选择“本地”,被共享服务器缓存选择“是”。这样设置后如果想点播/film里的媒体的话,你的连接就应该这样写.rtsp://127.0.0.1/video/∗.rm。
此项设置需重启服务器才能生效,如果还想增加别的加载点的话,依此类推。
Helix Server的基本设置就到这里了,仅仅这些已经足够搭建一个电影服务器。

图2.7.6 加载点设置
2.7.4 任务实施
Helix流媒体的架设
(1)软件能正常安装在/usr/local/helix目录
(2)设置其服务的管理端口为7000,管理员为admin,密码admin,服务正常启动
(3)建立一名为video的加载点到/film的子目录,能进行网上点播
(4)用Apache建立虚拟目录film,网站的主目录在/home/helix/www,默认文档是index.php的文件,在主页上做流媒体文件的在线点播,并且用嵌入式Web视频点播系统实现,所有目标文件连接到line.php的动态网页,流媒体文件要求包含.mp3,.rm这些文件格式
任务步骤如下:
1.下载安装Helix流媒体安装包
(1)下载helix-server-retail-11.01-rhel4-setup.bin与许可证文件DistributedLicensing.lic到本地的Linux服务器上
(2)给安装软件以可执行文件权限
#chmod+x helix-server-retail-11.01-rhel4-setup.bin//给文件加上执行权限
(3)安装Helix
#./helix-server-retail-11.01-rhel4-setup.bin//安装软件
Extracting files for Helix installation................
Welcome to the Helix Server 11.0(11.0.1.1884)Setup for UNIX
Setup will help you get Helix Server running on your computer.
Press[Enter]to continue...
回车继续安装
2.Helix的安装配置参数
(1)许可证文件
If a Helix Server license key file has been sent to you,please enter its directory path below.If you have not received a Helix Server license key file,then this server WILL NOTOPERATE until a license key file is placed in the server’s License directory. Please obtain a free Basic Helix Server license or purchase a commercial license from our website at http://www.real.com/. If you need further assistance,please visit our on-line support area at http://service.real.com/.
License Key File:[]://这里输入许可证文件的位置/software/helix/DistributedLicensing.lic Installation and use of Helix Server requires acceptance of the following terms and conditions:Press[Enter]to display the license text..//回车继续安装
TEAM ZWT
Choose"Accept"to accept the terms of this license agreement and continue with Helix Server setup.
If you do not accept these terms,enter"No"and installation of Helix Server will be cancelled.
Iaccept the above license:[Accept]://回车接受许可协议
(2)软件的安装位置
Enter the complete path to the directory where you want Helix Server to be installed. You must specify the full pathname of the directory and have write privileges to the chosen directory.
Directory: [/software/helix]:/usr/local/helix//输入软件的安装位置
(3)管理员设置
Please enter a username and password that you will use
to access the web-based Helix Server Administrator and monitor.
Username[]:admin//这里输入管理员用户名
Password[]://管理员密码
Confirm Password[]://再次确认密码
(4)流媒体相关协议的设置
Please enter a port on which Helix Server will listen for
RTSP connections. These connections have URLs that begin
with"rtsp://"
Port[554]: //rtsp协议的端口号,默认是554端口,直接回车继续
Please enter a port on which Helix Server will listen for
HTTP connections. These connections have URLs that begin
with"http://"
Port[80]:8080 //http协议的端口号,默认是80端口,为不与Apache的服务端口冲突,可改为8080
Please enter a port on which Helix Server will listen for
MMS connections. These connections have URLs that begin
with"mms://"
Port[1755]://mms协议的端口号,默认是1755端口,直接回车继续
Helix Server will listen for Administrator requests on the
port shown. This port has been initialized to a random value
for security. Please verify now that this pre-assigned port
will not interfere with ports already in use on your system;
you can change it if necessary.
Port[21979]:7000//管理端口号,这里是给的一个随机数,根据考核标准,改为7000最后是显示安装结束前的参数设置如下:
You have selected the following Helix Server configuration:
Admin User/Password: admin/∗∗∗∗
Encoder User/Password: admin/∗∗∗∗
Monitor Password: ∗∗∗∗
RTSP Port: 554//RTSP协议的服务端口
HTTP Port: 8080//HTTP协议的服务端口
MMSPort: 1755//MMS协议的服务端口
Admin Port: 7000//Web界面的管理端口
Destination: /usr/loca/helix//软件的安装路径
Enter[F]inish to begin copying files,or[P]revious to go back to the previous prompts:[F]://F键完成安装
回车安装完毕。
3.启动Helix服务器
(1)启动Helix服务器(如图2.7.7所示)
#cd/usr/local/helix
![]()
图2.7.7 Helixserver的目录结构
其中rmserver.cfg是配置文件,Bin是程序执行目录,HelixAdministrator是网页文件目录。
#ls Bin//显示Bin目录下的文件,其中rmserver是服务器的启动执行文件
makepass master rmserver slta slta.sh
#Bin/rmserver rmserver.cfg&
启动Helix流媒体服务器,&表示以后台方式启动。
(2)B/S结构管理流媒体
打开IE浏览器,输入本服务器的url地址:http://172.17.4.232:7000/admin/index.html,弹出窗口,输入管理员用户与密码,如图2.7.8所示,进入管理网页,这里的172.17.4.232是服务器的IP地址。

图2.7.8 Helix管理界面入口
这里输入用户名admin及密码,就可进入管理页面。
4.汉化管理网页
(1)对原网页目录改名
#mv HelixAdministrator/HelixAdministrator.en//修改原有的HelixAdministrator目录为HelixAdministrator.en
(2)用ssh上传汉化网页目录到/usr/local/helix
从教学服务器上下载Helix汉化软件包HelixAdministrator.rar,先解压在windows客户端,再把解压后的目录上传到服务器上的/usr/local/helix目录。这样管理页面就显示为中文。
5.点播配置
(1)加载点设置(如图2.7.9所示)

图2.7.9 加载点设置
服务器设置→加载点,添加一新加载点。
说明
编辑描述:加载点的详细说明,可用中文进行注解。
加载点:流媒体协议下的虚拟目录名字,这里设置为/video/,表明从rtsp://172.17.4.232/video下点播多媒体文件。
基于路径:指加载点的实际目录,这里是/film。
基于路径位置:这个选项只有本地与网络两种,默认采用本地。
应用新的配置,服务器将重启,加载点/video就设置好了。
(2)实际目录设置
#mkdir/film
建立实际目录/film,放多媒体文件(.rm,.mp3格式)在内。
通过rtsp://172.17.4.232/video/文件名.rm就可以看到在线效果。6.网页的嵌入式播放
(1)Apache的虚拟目录设置
在/usr/local/apache2/conf/httpd.conf配置文件中,加入虚拟目录film的设置
Alias /film /home/helix/www
(2)虚拟目录的网页设置
①建立/home/helix/www目录:
#mkdir/home/helix/www
②编辑主页index.php:

其中jn.rm与hackerdb.mp3放置在/film目录,链接指向line.php文件。
③编辑line.php,目的中把Realplayer播放器嵌入到浏览器。
<?
$src=$_GET[′id′];
?>
<div align="center">
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"width="800"height="600"align="middle"id="RVOCX">
<param name="CONTROLS"value="ImageWindow">
<param name="CONSOLE"value="Video"><param name="CENTER"value="TRUE">
<param name="MAINTAINSPECT"value="TRUE">
</object>
<br>
<object width="800"height="30"classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="CONTROLS"value="StatusBar">
<param name="CONSOLE"value="Video">
</object>
<br>
<object width="800"height="30"classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">
<param name="CONTROLS"value="ControlPanel">
<param name="CONSOLE"value="Video">
<param name="SRC"value="<?
echo$src;?>">
<param name="AUTOSTART"value="TRUE">
<param name="PREFETCH"value="0">
<param name="LOOP"value="0">
<param name="NUMLOOP"value="0">
</object> </div>
上述就是把Realplayer播放器界面嵌入到IE浏览器的代码。
④测试结果
输入url地址http://172.17.4.232/film进行点播测试。
2.7.5 考核要点
表2.7.1 Helix流媒体的架设考核标准

2.7.6 能力拓展
1.什么是流媒体?
2.流媒体相关协议?
3.正确安装Helix流媒体服务

