构造Liunx流媒体服务器(ZT)

转载 2004年10月23日 22:14:00

流媒体(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)。
283684.jpg
上图:填写Helix Universal Server的用户名和密码

第五步,系统询问用哪个端口来连接PNA (Progressive Networks Audio)。PNA协议是用来传输由早期RealSystem工具创建的内容,以便兼容早期的版本。这里使用缺省端口7070。

第六步,系统询问用户用哪个端口来连接RTSP (实时流协议)。RTSP是应用级协议,控制实时数据的发送。它提供了一个可扩展框架,使实时数据(如音频与视频)的受控和点播成为可能。数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道(如UDP、组播UDP与TCP)提供途径,并为选择基于RTSP上的发送机制提供方法。这里使用缺省端口554(见图2)。
283685.jpg
上图:设置RTSP 端口号码

第七步,系统询问用哪个端口来连接HTTP协议。流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。关于流媒体工作传输原理见图3。一般HTTP监听端口设置为8080。
283686.jpg
上图:流媒体文件传输原理

第八步,系统询问用哪个端口来连接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键返回去重新选择。
283687.jpg
上图:系统设定的汇总

第十一步,系统安装结束后自动退出回到根目录下。

第十二步,启动服务器,执行以下操作进入安装目录。
$cd Helix
$cp RNKey-Helix_Server-90-1479442709717329.lic /Licence;
$cd ..
$Bin rmserver /root/Helix rmserver.cfg


Helix 启动界面见下图。

283688.jpg
上图:Helix Universal Server启动界面

管理Helix Universal Server服务器

在Linux浏览器内输入服务器IP地址、管理员端口和index.html,格式即http://192.168.0.1:17460/index.html。这时系统会弹出一个对话框,分别输入管理员用户名和密码,然后按“OK”键。

经过几分钟的系统验证,最后进入Helix Universal Serve管理中心(见下图)。

283689.jpg
上图:Helix Universal Serve管理中心

进入Helix服务器设置选单(见图7),Helix服务器需要设定的十二个选项是Ports、IPBinging、MIME Type、Connecting Control、Mount Points、URL Aliasing、HTTP Delivery、Cache Directives、Share Lincesing、USER/GROUP Name和Media Sample。下面详细介绍它们的配置。
283690.jpg
上图:Helix Universal Serve服务器设置中心

1.Port(端口配置):在浏览器的图中,自上而下依次定义了各种不同类型的端口,包括RTSP、PNA、HTTP、MONITOR和ADMIN等。有一个新选项“Enable HTTP Fail Over URL for ASXGen”和ASX文件播放相关,在Helix Server有WM媒体文件内容的时候会用得到,可以设定为5087,其它部分可以跳过。

2.IP Binding(IP地址绑定):一台Helix Server服务器上可能有不止一块网卡,或者在一块网卡上可能有不只一个IP地址。在某些情况下,就必须对Helix Server的IP地址进行绑定。这个页面是用来对服务器进行IP地址绑定及对现有绑定进行编辑和删除的。

3.MIME Type(MIME类型):定义用于告诉服务器如何正确的识别文件,以保证其能完整有效地通过HTTP协议进行传输。对应于相应的扩展名,在这里都能找到相关的定义格式。

4.Connecting Control(连接控制):用来定义与Helix Server有关的连接选项,从中在这里可以定义服务器的最大连接数、最大允许连接数(这个就是由授权所规定的)及对用户播放器的限制,比如仅限制Realplayer播放器使用,或者仅限制PLUS版本播放器使用等。当然在这里还可以对服务的带宽进行限制,以保证同一台服务器上面的其它服务有足够的网络资源。

5.Redundant Server(冗余服务器): 冗余服务器的配置页面包括服务器列表、目录映射关系及例外目录设置。

6.Mount Points(配置加载点):这里就是设置流媒体文件加载点。

7.URL Aliasing(链接简化):一个别名指向,通过一个简单的别名,让用户更加方便地记忆。以后进入Helix服务器管理中心不用输入那一长串的地址,只要用rtsp://server:port/alising就能代替了。

8.HTTP Delivery(HTTP分发):Helix Server同样需要通过HTTP传输某些文件。下面的这些目录就是为通过HTTP协议传输定义的。通过HTTP协议传输文件对于处于防火墙后面的用户是非常必要的,见下图。
283691.jpg
上图:Helix 服务器的HTTP 分发配置

9.Cache Directives(缓存管理):Helix Server默认状态下是对所有的点播文件和直播文件进行缓存的处理。这就会在采用Helix Proxy对多个Server进行管理的时候,缓存将会导致一些不必要的麻烦。在这里,就是设置对某些文件和目录关闭缓存功能的选项,比如一些实时性的新闻节目及前面所说的从Server到Proxy的交流,都需要关闭缓存功能。

10.Share Licesing(许可证共享):容许访问Helix服务器的用户名称和IP地址的端口号。

11.User/Group Name(用户管理):添加Helix的用户名和组。

12.Media Sample(媒体演示):在这个页面,需要测试当前服务器的服务情况。通过这里的示例文件,用户可以点播包括RealVideo、Flash、RP/RT、MPEG-1、MPEG-4、QT、ASF/WMV/WMA和Quick Time等多种文件(见下图)。Helix Server在文件多样性的支持上有了很大的进步。
283692.jpg
上图:Helix Server支持的流媒体文件格式

总结

到此为止,Liunx平台下流媒体服务器Helix Server安装和基础配置就完成了。如何将Helix流媒体在Linux应用还有许多工作,例如需要在Linux下制作流媒体文件等。希望我在安装配置过程中的体会能起到抛砖引玉的作用,让更好地流媒体在Linux平台上自由流转。

相关链接

流媒体

流媒体将成为未来互联网应用的主流之一,并将推动互联网整体架构的革新。

在网络上传输音频、视频等多媒体信息,目前主要有下载和流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。近年来,为解决文件下载时间过长的问题,适应网络多媒体化的发展趋势,一种新兴技术应运而生,这就是遵守特定网络协议的流媒体技术。

流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送。用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。当声音等实时媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。以宽带为基础,流媒体不仅可以进行单向的视频点播,还能够提供真正互动的视频节目,如互动游戏、三维动画等。

目前,流媒体技术在国内应用最多的行业是教育,其次是广电、政府和电信,而企业中应用得较少。目前,流媒体技术在企业里的主要应用包括职工培训、信息发布、产品介绍、远程监控、视频会议和客户服务等。美国“9·11”事件后,为了减少乘机风险,视频会议的应用越来越多。视频会议系统适用于那些有分支机构的企业,或者需要经常和合作伙伴交流的企业。视频会议系统可以明显地提高工作效率。


构造Liunx流媒体服务器(ZT)

流媒体(Stream Media)指在Internet/Intranet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。Linux在网络应用中是先锋,作为流媒体平台的表现也不错。 目前有三...
  • xtaamr
  • xtaamr
  • 2011年04月03日 17:03
  • 256

Linux 下搭建流媒体服务器

本文说明如何在 CentOS 6 服务器(无图形界面)搭建以 VLC 为核心的直播流媒体服务器。 第一步,安装第三方 yum 源。因为官方 yum 源中是不包含 VLC 安装包的,为了不用考虑安装包...
  • huangtaishuai
  • huangtaishuai
  • 2013年08月08日 15:06
  • 4809

全程图解主板 (ZT)

 大家知道,主板是所有电脑配件的总平台,其重要性不言而喻。而下面我们就以图解的形式带你来全面了解主板。   一、主板图解   一块主板主要由线路板和它上面的各种元器件组成   1.线路板   PCB印...
  • wishfly
  • wishfly
  • 2005年12月20日 12:48
  • 928

[ZT]全国车牌详解(含军牌)

全国车牌详解(含军牌) 当我们驾车在路上是不是经常看到一些很少见甚至不懂是什么部门的车牌呢?或许你能在这里找到答案哦!记得见到那些牛B的车牌可得。。。除非你比他更牛。。。不过我觉得我们吉普挂个“赛”...
  • u014461454
  • u014461454
  • 2014年03月31日 17:31
  • 738

Linux---nginx+ffmpeg搭建流媒体服务器

这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新环境系统环境:CentOS release 6.7 (Final)需求利用nginx和ffmpeg搭建流媒体服务器步...
  • loyachen
  • loyachen
  • 2016年03月16日 19:44
  • 7310

构造Linux流媒体服务器

  流媒体(Stream Media)指在Internet/Intranet中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。Linux在网络...
  • wtxidian
  • wtxidian
  • 2007年01月09日 21:01
  • 1933

[ZT]设计“好看”的用户界面(作者:王咏刚 2003 年10 月)

设计“好看”的用户界面 (王咏刚 2003 年10 月) 1 问题引入 两周前,我的一个朋友小W 找我聊天,跟我说了件烦心事儿:他们公司开发的一套行业软件在竞标时败给了竞争对手;当时,用户给出的理由是...
  • l1t
  • l1t
  • 2004年12月01日 11:49
  • 3388

【video】主流流媒体服务器介绍

1)FMS(Flash mediaserver) 简介   FMS是一个完全基于软件环境的多媒体实时通讯环境,代表了当前实时通讯领域内的发展的方向,并且,其自身也融合了大量的新特色,用于创建...
  • datamining2005
  • datamining2005
  • 2017年02月16日 16:36
  • 1120

[ZT]内容管理系统(CMS)的设计和选型

 作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明htt...
  • FringeDream
  • FringeDream
  • 2005年05月25日 21:53
  • 907

流媒体服务器实现

1 引言   随着互联网的飞速发展,流媒体技术的应用越来越广泛,从网上广播、电影播放到远程教学以及在线的新闻网站等都用到...
  • ruixj
  • ruixj
  • 2007年07月31日 22:41
  • 31810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:构造Liunx流媒体服务器(ZT)
举报原因:
原因补充:

(最多只允许输入30个字)