现在的位置: 首页 > 综合 > 正文

Linux下视频服务器的实现(流媒体Helix Server)

2012年11月28日 ⁄ 综合 ⁄ 共 7538字 ⁄ 字号 评论关闭

 

三、安装、启动和停止Helix服务器

1 软件的获取

Helix Server是RealNetworks公司最新的流媒体服务平台,这个系统和微软的Window
Media System不同,它并不是免费的,但在RealNetworks的网站(http://www.real.com ),还是提供有免费使用的Helix,不过有功能或时间上的限制。 这里笔者选用的是Helix Server Unlimited v11.0.1.1884 For Linux 。

2 软件安装

[root@rhel ~]# cd helixserver/      就是下载后解压生成的目录

[root@rhel helixserver]# ls

crack HelixAdministrator HelixServerUnlimited11_Linux.zip setup.tar.gz

[root@rhel helixserver]# tar xzvf setup.tar.gz

[root@rhel helixserver]# ls

helix-server-retail-11.01-rhel4-setup.bin

HelixProxyAdmin.pdf

HelixProxyConfig.pdf

HelixServerAdmin.pdf

HelixServerConfig.pdf

mkdir /usr/helixserver        建立安装目录,后面选择安装路径时会用到

(1)启动服务器

首先进入安装目录。使用命令在后台启动:

Bin/rmserver rmserver.cfg &

启动过程可以看到服务器版本和系统平台的信息,如下:

./Bin/rmserver rmserver.cfg

Helix Server (c) 1995-2005 RealNetworks, Inc. All rights reserved.

Version:   Helix Server 11.0 (11.0.1.1884) (Build 74277/5688)

Platform:linux-rhel4-i686

Using Config File: rmserver.cfg

Linux kernel version 2.6.18-8.el5 detected [glibc 2.5/NPTL 2.5]

Starting PID 2727 TID 3086657232/2727, procnum 0 (controller)

Creating Server Space...

Server has allocated 256 megabytes of memory

Starting TID 3084909440/2729, procnum 1 (timer)

Calibrating timers...

Interval timer enabled (10ms resolution).

Starting TID 3082812288/2730, procnum 2 (core)

Starting Helix Server 11.0 Core...

1 CPU Detected...

Testing File Descriptors...

Setting per-process descriptor capacity
to 672(1003), 21...

Testing Mutex...(401.61 ops/usec)

Testing AtomicOps...(33.81 ops/usec)

I: Loading Plugins from /root/vw/Plugins...

I: slicensepln.so   0xcb1ec0 RealNetworks Licensing Plugin

……

(2)监控服务器的进程

可以使用ps命令监控流媒体服务器的运行进程

#ps -ef|grep rmserver

root      3765 3655 0 15:13 pts/3    00:00:00 ./Bin/rmserver rmserver.cfg

root      3766 3765 1 15:13 ?        00:00:02 ./Bin/rmserver rmserver.cfg

root      3767 3765 0 15:13 ?        00:00:00 ./Bin/rmserver rmserver.cfg

root      3859 3818 0 15:15 pts/4    00:00:00 grep rmserver

说明:说明其中PID为3765是主进程,其他两个3766和3767是子进程。

(3)监控端口

可以使用命令监控流媒体服务器端口运行情况:

# netstat -ntulp | grep rmserver

tcp0 0 :::9090 :::*LISTEN 3766/rmserver

tcp0 0 :::7077 :::*LISTEN 3766/rmserver

tcp0 0 :::7878 :::*LISTEN 3766/rmserver

tcp0 0 :::4040 :::*LISTEN 3766/rmserver

tcp0 0 :::554 :::*LISTEN 3766/rmserver

tcp0 0 :::14170:::*LISTEN 3766/rmserver

tcp0 0 :::82   :::*LISTEN 3766/rmserver

tcp0 0 :::1755 :::*LISTEN 3766/rmserver

udp0 0 0.0.0.0:98750.0.0.0:*   3766/rmserver

udp0 0 0.0.0.0:32820   0.0.0.0:*   3766/rmserver

udp0 0 0.0.0.0:17550.0.0.0:*

说明:14170 即远程服务器管理端口。

(4)测试Helix服务器

推荐使用realone for Linux,实际上是RealPlayer在Linux上的克隆,甚至从性能上超过了RealPlayer。它支持相当多的视频、音频和图象格式,例如:SMIL 2.0, Ogg Vorbis, H.263 video, JPEG, GIF, PNG, MP3, AMR narrow band, AMR wide band, RA8, sipro, RV7, RV8,
RV9, RV10, H263+, 3GPP rel5 SMIL 2.0等等。使用起来和熟悉的RealPlayer没有什么不同。官方主页:http://www.real.com/ ,用RealOne Player可欣赏网上在线音频和视频资料。主要功能包括:带有目标按纽,只需单击鼠标就可收听新闻和娱乐资讯;近乎CD一样的音频效果(只在 28.8kbps或更快的连接速度情况下)全屏播放图象功能(只适用于高带宽连接情况)。其他功能包括:内容频道,自动升级功能,SmartStream 技术消除了再次缓冲,查找媒介链接,支持MP3格式等。RealPlayer
8.0能精确地指向你所要的A/V程序,而且功能有所更新,包括内置Real.com媒体向导,新加入了“调台器”,能从2500个互联网在线电台中轻松找到你最喜欢的节目,给你全新的3D音效和视觉感受等。

安装后在播放器的地址栏输入Helix服务器的URL例如:rtsp://192.168.1.2/real9vedio.rm 。其中rtsp表示连接Helix服务器使用RTSP应用级协议,192.168.1.2是Helix服务器IP地址,当然也可以使用主机名称。如图-4 。

图-4 打开位置

图-6 测试文件在播放

使用方法:RealONE for Linux有一个主播放窗口,在文件选单中,分别有Open Location...和Open File...项,用这两项可打开要欣赏的文件。工具选单是RealONE最为庞大的选单,包含有很多功能如图-7。

图-7 Realone 工具选项

注意事项:使用Realone全屏播放不过效果要差一些。建议传输率小于200Kbps的RM视频文件,就不要使用全屏模式播放。使用快捷键 “Ctrl+B”可以快速在原始大小和全屏之间自如切换。如果配合其他Linux流媒体工具使用,可将视频文件或VCD转换为RM格式文件保存。这样不但可以减小文件的容量,而且还可以自由编排、剪辑、制作DV。

(5)停止Helix服务器工作

由于Helix服务器没有提供服务器停止命令,所以只能通过使用传统的“Kill”来“杀掉服务器的进程”,使用命令:

#kill ‘cat ./Logs/rmserver.pid’

或者用ps显示所有进程,再用kill pid 对应(rmserver)进程的pid

(6)系统启动时自动加载Helix服务器

如果想在启动Linux服务器时自动加载Helix服务。方法如下:开始菜单-首选项-更多首选项-会话-启动程序-增加-启动命令,右边的浏览指定确定。

****************************************************************************

Helix Universal Server服务器进阶配置

(1)在Linux浏览器内输入: 服务器IP地址:管理员端口/admin/index.html 即:http://192.168.0.1:11111/admin/index.html这时系统会弹出一个对话框,你分别输入管理员用户名和密码,然后按“OK”键。11111是Helix
服务器的系统管理员控制端口。

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

图5 Helix Universal Serve管理中心 点击看大图

(3)进入Helix服务器设置选单,Helix服务器需要设定的十二个选项项:Ports、 IPBinging 、MIME Type 、Connecting Control 、Mount Points 、URL Aliasing 、HTTP Delivery、Cache Directives、Share Lincesing、USER/GROUP Name、Media Sample。下面我们详细介绍它们的配置。

图6 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(配置加载点)这里就是设置流媒体文件加载点。Helix Server 安装完成后,将自动生成三个载入点,即 Content、secure、fsforcache 。默认情况下,Content 指向安装目录下的“ content ”文件夹,该文件夹里的视频文件可以直接被访问。如果想将其他文件夹中的视频文件用于服务器播放,则需要设置新的加载点。单击“ + ”按钮添加新的载入点的描述(如 movie ),在“ Mount Point ”栏编辑加载点名称(如 /movie/),其将显示在链接地址中(如rtsp://ip:554/movie/文件名)。接下去在“
Base Path ”输入加载点对应的绝对路径,也就是被点播的视频文件在本地(或网络)中的实际路径。比如 /home/share 。最后选择路径类型完成设置。见图7。

图7 设置加载点

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

8、HTTP Delivery(HTTP 分发) :Helix Server 同样需要通过HTTP传输某些文件.下面的这些目录就是定义为通过HTTP协议传输的.你可以增加或者对目录进行编辑管理. 通过HTTP协议传输文件对于处于防火墙后面的用户是非常必要的,见图8。

图8 Helix 服务器的HTTP 分发

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

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

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

12、Media Sample(媒体演示): 在这个页面,需要测试当前服务器的服务情况,通过这里的示例文件,你可以点播包括RM, FLASH, RP/RT, MPEG-1, MPEG-4, QT, ASF/WMV/WMA, 在内的多种文件,Helix Server 对于文件多样性上的支持有了很大的进步,见图9。

图9 Helix Server 支持的流媒体文件格式.

不同类型媒体的访问方式

配置服务器端口时使用了几个不同端口号,就是为了对应不同的流媒体格式:

(1)rm或rmvb格式:

rtsp://服务器ip:554/加载点名/目录名/文件名
说明如果使用缺省配置那么其中:554可以省略。应用实例:rtsp://192.114.32.87/vod2/tall.rm
当在客户端的realplayer播放器中输入此地址时,如看到"正在联接”和"正在缓冲”并且时间不断的跳动时,那么就成功了。

(2)wmv、asf等Media格式

mms://服务器ip:1755/加载点名/目录名/文件名
说明如果使用缺省配置其中:1755也可以省略。应用实例:mms://192.114.32.87/vod2/slzq/slzq.wmv
注意事项:用Helix点播media媒体文件时,请不要使用中文的目录和文件名,否则很可能出现莫名其妙的错误,所以还是避开为妙。

Helix流媒体服务器的安全认证

经过前面的设置,搭建的服务器已经可以很稳定地运行了。如果我们不想让任何人都能访问服务器,就需要进行用户认证设置,通常可以通过访问控制和用户认证来实现。 “ Access Control ”: Helix Server 可以建立基于 IP 地址和客户端链接的访问限制,通过建立访问规则,能允许或拒绝来自某一 IP 或某台机器对某个端口的访问请求。一旦用户访问被拒绝,其客户端上就会弹出出错提示。执行“ Security/Access Control ”操作,然后就可以添加新的规则来对用户的访问权限进行设定,比如能够设定允许或者禁止来自某个或者某段
IP 的访问请求,而且可以针对用户访问的端口进行特殊设置。 “用户认证”:当用户众多,设置的 IP 规则太多,或者用户有的是通过代理集中上网的, IP 限制往往不能满足要求,这时就需要进行用户帐号认证许可。这时基于数据库的用户验证,可以扩充进行计量收费,更具有灵活性、方便性,能与第三方配合扩充功能等效果。经过设置,用户认证设置基本就完成了,现在可以测试一下是否正常,如果提示出现输入帐号和密码,那就是成功。

总结:到此为止Liunx平台下流媒体服务器Helix Server安装和基础配置就介绍到此。帮助中小企建立一个低成本的流媒体服务器。

流媒体将成为新互联网应用(Web 2.0)的主流之一,并将推动互联网整体架构的革新。在网络上传输音频、视频等多媒体信息,目前主要有下载和流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。近年来,为解决文件下载时间过长的问题,适应网络多媒体化的发展趋势,一种新兴技术应运而生,这就是遵守特定网络协议的流媒体技术。流媒体技术在国内应用最多的行业是教育,其次是广电、政府和电信,而企业中应用得较少。目前,流媒体技术在企业里的主要应用包括职工培训、信息发布、产品介绍、远程监控、视频会议和客户服务等。

流媒体小贴士:

流媒体传输协议

目前,支持流媒体传输的协议主要有:

实时传输协议RTP(Real-time Transport Protocol)
用于Internet上针对多媒体数据流的一种传输协议。RTP通常工作在点对点或点对多点的传输情况下,其目的是提供时间信息和实现流同步。RTP通常使用UDP传送数据,但也可工作在ATM或TCP等协议之上。

实时传输控制协议RTCP(Real-time Transport Control Protocol)
RTCP和RTP一起提供流量控制和拥塞控制服务。通常RTP和RTCP配合使用,RTP依靠RTCP为传送的数据包提供可靠的传送机制、流量控制和拥塞控制,因而特别适合传送网上的实时数据。

实时流协议RTSP(Real-time Streaming Protocol)
它是由RealNetworks和Netscape共同提出的,该协议定义了点对多点应用程序如何有效地通过IP网络传送多媒体数据。

资源预留协议RSVP(Resource Reservation Protocol)
它是网络控制协议,运行在传输层。由于音视频流对网络的时延比传统数据更敏感,因此在网络中除带宽要求外还需满足其它的条件。在Internet上开发的资源预留协议可以为流媒体的传输预留一部分网络资源,从而保证服务质量(QoS)。

抱歉!评论已关闭.