流媒体(Stream Media)指在Internet/Intranet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。Linux在网络应用中是先锋,作为流媒体平台的表现也不错。
目前有三种主流的流媒体系统,分别是RealNetworks公司的RealMedia、Microsoft的Windows Media和Apple公司的QuickTime。RealNetworks公司发布了在Windows、Unix和Linux平台上都能够通过Web发送数字媒体的Helix Universal Server软件的源代码。Helix产品技术先进,用户数量多,支持单播、多播和多平台(包括Linux、Windows 2000/NT、AIX、Solaris和Mac OS)。
Helix Universal Server最新版本是9.0,和8.51版本相比,主要加入了对冗余服务器的支持及对内容CACHE的支持。这让用户能够尽可能快速地连接到服务器,并且保证在任何可能的情况下都可以自动修复。Helix兼容一切常见的媒体格式,甚至包括其竞争对手的WM格式。本文就以Helix Universal Server 9.0为例,介绍如何在Linux下构建流媒体服务器。
软件下载
用户在http://www.realnetworks.com/网站上注册,填写姓名、国家、邮政编码和电子邮件等信息,其中电子邮件是最重要的。注册结束后,RealNetworks公司会向注册用户的电子邮箱发送一个授权码(License Key),允许在服务器上使用Helix。授权码的格式是.Zip包。请把它解压后保存(文件名:RNKey-Helix_Server-90-1479442709717329.lic),在安装软件时要使用。 完成后就可以选择Helix Server下载了,下载地址是http://get.real.com/RJP1/61.195.68.21/28e23b8ac11fa0ce9001/serverg2/rs901-linux-22libc6-ia32.bin,版本号是9.2.0.794。
系统要求
软件:要求内核至少在2.4以上、KDE 2.0、Window System XFree86 4.03、桌面分辨率至少为800×600、桌面颜色至少16位增强色。
硬件:CPU奔腾Ⅱ 450MHz以上、内存128MB、硬盘空间600MB、OSS/Linux兼容声卡、16MB显存。
安装软件
首先以超级用户权限登录X-Window,建立一个Helix目录,将授权码拷贝到目录中,执行过程如下:
#mkdir Helix
#cp RNKey-Helix_Server-90-1479442709717329.lic /Helix
接着改变下载的文件名称、组属性和组,使它成为可执行文件。命令如下:
#mv rs901-linux-22libc6-ia32.bin Helix.bin
#chmod +x
Helix.bin
下面是安装命令和详细步骤。
#./Helix.bin
第一步,系统首先让用户列出授权码的存放目录。参考的写法是/root/Helix/ RNKey-Helix_Server-90-1479442709717329.lic。
第二步,会出现很长的一份授权协议,在协议末尾处按回车键接受该协议。
第三步,在系统询问安装目录时,用户填写root/Helix 后按回车键继续。
第四步,系统要求用户填写Helix Universal Server的系统管理员(Adminstrator)的用户名和密码(见图1)。
图1 填写Helix Universal Server的用户名和密码
第五步,系统询问用哪个端口来连接PNA (Progressive Networks Audio)。PNA协议是用来传输由早期RealSystem工具创建的内容,以便兼容早期的版本。这里使用缺省端口7070。
第六步,系统询问用户用哪个端口来连接RTSP (实时流协议)。RTSP是应用级协议,控制实时数据的发送。它提供了一个可扩展框架,使实时数据(如音频与视频)的受控和点播成为可能。数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道(如UDP、组播UDP与TCP)提供途径,并为选择基于RTSP上的发送机制提供方法。这里使用缺省端口554(见图2)。
图2 设置RTSP 端口号码
第七步,系统询问用哪个端口来连接HTTP协议。流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。关于流媒体工作传输原理见图3。一般HTTP监听端口设置为8080。
图3 流媒体文件传输原理
第八步,系统询问用哪个端口来连接MMS协议。Helix Universal Server从8.0版本后开始支持MMS协议。MMS协议用于访问Windows Media发布点上的单播内容,是连接Windows Media单播服务的默认方法。若观众想在Windows Media Player中键入一个URL来连接内容,而不是通过超级链接访问内容,则他们必须使用MMS协议引用该流。当使用MMS协议连接到发布点时,使用协议翻转以获得最佳连接。“协议翻转”始于试图通过MMSU连接的客户端。MMSU是MMS协议结合UDP数据传送。如果MMSU连接不成功,则服务器试图使用MMST。MMST是MMS协议结合TCP数据传送。MMS端口一般设置为1755。
第九步,设置Helix服务器的系统管理员控制端口。这个端口可以自己设定,不过一定注意不要和已经定义的端口重复。这里设定为17965。
第十步,系统给出所有选择的汇总列表。请仔细阅读,确认无误后按“F”键表示接受设定,开始安装。我的配置见图4。若有问题,按Esc键返回去重新选择。
图4 系统设定的汇总
第十一步,系统安装结束后自动退出回到根目录下。
第十二步,启动服务器,执行以下操作进入安装目录。
$cd Helix
$cp RNKey-Helix_Server-90-1479442709717329.lic /Licence;
$cd ..
$Bin rmserver /root/Helix rmserver.cfg
Helix 启动界面见图5。
图5 Helix Universal Server启动界面