第 10 章 架设流媒体服务器

Post on 31-Dec-2015

91 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

第 10 章 架设流媒体服务器. 流媒体( Streaming Media )技术日趋成熟和普及,已经广泛应用于在线直播、视频点播、远程教育、网络电台、实时视频会议等信息服务领域,将为网络信息交流带来革命性的变化,从而成为未来网络发展的全新推动力。本章介绍了流媒体服务器 Helix server 的安装以及基本配置。. 10.1 基本概念. - PowerPoint PPT Presentation

TRANSCRIPT

第 10 章 架设流媒体服务器 流媒体( Streaming Media )技术日趋成熟和普及,已经广泛应用于在线直播、视频点播、远程教育、网络电台、实时视频会议等信息服务领域,将为网络信息交流带来革命性的变化,从而成为未来网络发展的全新推动力。本章介绍了流媒体服务器 Helix server 的安装以及基本配置。

10.1 基本概念 当今网络技术发展迅速,主干网与宽带接入技术日臻成熟,从

网络上浏览多媒体信息已经成为网络应用新的热点。但由于多媒体文件一般比较大,不能从网上实时传输;而如果采用文件下载的方法,用户不但需要大量的磁盘空间,而且要花费大量时间。为了提高视频数据在网络上的传输效率,各厂商竞相开发流文件与流媒体技术,以实现视频的实时播放。

所谓流媒体技术(或称流式媒体技术)就是把连续的影像和声音信息经过压缩处理后存放到视频传送服务器上,由视频传送服务器把节目传送到网络,用户在客户端通过播放器就可实时观看节目。在网络上传送的一系列相关的数据包称为“流”。使用流媒体技术,用户可以一边传输一边观看、收听,不需要下载整个多媒体文件,不仅不会占用大量的磁盘空间,而且提高了数据传输效率。

流媒体技术涉及到数据采集、压缩、存储、传输以及网络通信等多项技术。下面从流媒体的文件格式,支持流媒体传输的网络协议,以及流媒体的传输方式等 3 方面对流媒体技术进行简要介绍。

1. 流媒体文件格式 把普通的视频文件格式转化成流媒体文件格式需要经过特殊编

码。视频文件首先进行编码处理,分割成一个个适于在网络上传播的数据包。另外在编码时,还需要在数据包中加入一些附加信息,如计时、压缩和版权信息,最终形成流媒体文件。

到目前为止, Internet 上使用较多的流媒体格式主要有RealNetworks公司的 RealMedia 、 Apple公司的 QuickTime 和 Microsoft公司的Windows Media 。

RealNetworks公司的 RealMedia 包括RealAudio、 RealVideo和 RealFlash 3类文件。其中 RealAudio用来传输接近CD音质的音频数据, RealVideo用来传输不间断的视频数据, RealFlash则是 RealNetworks公司与 Macromedia公司新近联合推出的一种高压缩比的动画格式。

Apple公司的 QuickTime 于 1991年出现,是 Apple公司面向专业视频编辑、Web网站创建和 CD-ROM内容制作领域开发的多媒体技术平台, QuickTime 支持几乎所有主流的个人计算平台,是数字媒体领域事实上的工业标准,是创建 3D动画、实时效果、虚拟现实、 A/V和其他数字流媒体的重要基础。

1. 流媒体文件格式 Microsoft公司的Windows Media 的核心是 ASF( Advanced

Stream Format )。 ASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。其中,在网络上传输的内容就称为 ASF Stream 。 ASF支持任意的压缩 / 解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。

除了上述流媒体技术的 3种主要格式外,流媒体技术还有Macromedia 的 Shockwave Flash技术,用户通过这一技术可以方便地在Web页面中加入图像、动画以及交互式界面等操作。此外,在 Shockwave Flash中还采用了矢量图形技术,使得文件下载播放速度明显提高。近日, Macromedia又成功地推出了Shockwave for Authorware 、 Shockwave for Director 技术 ,并对它们进行了优化,同时推出了 Streaming Shockwave, 即通过流的方式使用户在客户端实现一边下载一边播放的功能,节省了等待的时间。

2. 流媒体传输协议 流媒体的传输需要合适的网络协议,主要有以下几种。 ( 1 )实时传输协议,( RTP, Real-time Transpor

t Protocol )是用于 Internet 上针对多媒体数据流的一种传输协议。 RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用 UDP来传送数据,但 RTP也可以在 TCP或 ATM 等其他协议之上工作。当应用程序开始一个RTP会话时将使用两个端口,一个给RTP,一个给RTCP。 RTP本身并不能为按顺序传 送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。通常RTP算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。

2. 流媒体传输协议 2)实时传输控制协议( RTCP, Real-time Transport Control Protocol )和 RTP一起提供流量控制和拥塞控制服务。在RTP会话期 间,各参与者周期性地传送 RTCP包。 RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。 RTP和 RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。

( 3 )实时流协议, RTSP是应用级协议,位于 RTP和 RTCP之上,也可直接由 TCP或 UDP传输。它是由 RealNetworks和 Netscape共同提出的,该协议定义了点对多点应用程序如何有效地通过 IP网络传送多媒体数据。

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

3. 流媒体的传输方式 不同的流媒体应用需要不同的传输方式,而不同的传输方式带给

网络不同的影响。流媒体在网络中的传输方式有 3种:( 1 )单播;( 2)多播;( 3 )广播。

单播即点对点的连接,客户端和服务器之间建立一个单独的数据通道。从一台服务器传送出的数据包只能由一个客户端接收。这种传输方式增加了服务器的负担,响应时间长,只适用于客户端数量较少的情况,如视频点播。

多播也称组播,是一种多地址广播。发送源和接收端是点对多点的关系。对于内容相同的数据包,服务器向一组特定的用户只发送一次,组中的各个用户可以共享,而组外的用户接收不到。使用多播的优势在于原来由服务器承担的数据重复分发工作转到路由器中完成,由路由器负责将数据包向所连接的子网转发,每个子网只有一个多播流。这样就减少了网络上所传输信息包的总量,使网络利用率大大提高,成本大为降低。多播更适用于现场直播。

在广播的传输方式中,一个单独的数据包拷贝发送给网络上所有用户。客户端对媒体流不具有任何的控制,不论是否需要,只能被动接收媒体流,造成了网络带宽的浪费。

4. 流媒体应用 流媒体技术具有广阔的应用前景。一个完整的流媒体应用方案是软硬件的集成,大致包括以下几个方面。

内容采集:视频源可以是摄像机、电视台节目、 VCD、卫星输入信号等;

音视频捕获和压缩编码:硬件一般为音视频捕获卡,编码软件如RealProducer 、 MS MediaEncoder 等;

内容编辑:对内容进行非线性编辑、修改、归档以及对视频文件做索引并存放到视频数据库;

内容存储和播放:当节目量大时需要使用数据库存储音视频文件,使用数据库管理系统对节目源进行管理,视频服务器运行流服务器软件有RealServer 或 MS Media Service 等,负责响应客户端的请求;

应用服务器内容管理、发布:发布模块负责将节目提交到网页,或将视频流地址邮寄给用户。内容管理主要完成视频存储、查询。用户管理包括用户的登记和授权。

4. 流媒体应用 与传统的视频收看形式不同,视频流从媒体服务器通

过专用网络或 Internet/Intranet 传送到客户端。由于用户的目的和需求不同,选购和实施网络视频产品也有不同的侧重点,用户应根据自己的实际需求和市场上各种产品的类型,选择最适用的流媒体应用方案。在实际的应用中通常着重考虑以下几点:①用户的数量;②用户的需求;③所要求的图像质量;④投入资金的多少;⑤技术水平,如带宽、费用、与其他系统的集成等。随着系统的复杂程度和价格的增长,供应商和集成商的服务支持能力也成为用户考虑的重要因素之一。

10.2 流媒体服务软件 目前比较流行的流媒体服务软件有Windows Media 和 Helix 。Windows Media 是微软公司提供的针对 ASF和WMV格式的服务组件,具有方便性、集成性、低费用等特点。但Windows Media 不支持目前影响力最大的 RM 格式文件。 Helix 是 RealNetwork 公司的流媒体服务软件,支持目前主流的 ASF、WMV、 RM等视频文件,许多 Internet 的音乐台、视频点播站点都采用该产品。

Helix Universal Server 在技术上真正地实现了突破,可以轻松实现超过 10,000 个以上的视频音频流在线播放。

基于 RealNetworks 流媒体技术的 Helix Universal Server 9.0 是一款灵活和稳定的流媒体解决方案。 Helix 带有丰富的管理工具,它对各类媒体格式的强大支持甚至超过了 RealPlayer (该公司流行的客户端媒体播放软件)。无论是Web转播或是在现有的Web网站上进行视频和音频的发布, Helix 服务器都会提供一个发布和管理在线多媒体内容的完整平台。

10.2 流媒体服务软件 Helix Universal Server 对流媒体的宽带使用率提供了强

大的控制功能,此外还可以实时显示大量的系统性能参数。 Helix 服务器的管理过程完全基于Web进行,就像在 Microsoft Internet Explorer 和 Netscape 下工作一样。

和Web服务器一样, Helix允许通过用户名和密码来控制访问权限,也可以对所能访问的内容进行控制(不管是 HTML或是媒体文件)。控制日志会同时以标准或定制的格式进行记录。它能够对多媒体内容的不同来源进行虚拟目录控制,我们特别喜爱这一功能。在测试中,不管是对 RealPlayer 9还是 Apple 或 Microsoft 的播放器,它所提供的内容服务都没有出现任何麻烦。

10.2 流媒体服务软件 它能够自动使用 SMIL标准在流媒体中插入广告内容。

在测试中,我们很成功地在一个 MPEG文件中插入了一条汽车广告。如果你对视频混合不太熟悉,那么这一功能可以为你节省很多时间。另外,可以锁定内容,使它只能用于 RealPlayer 客户端。

Helix 还提供了几个出色的在线丰富内容控制功能。首先,我们可以为Web转播增加几个冗余的 Helix服务器,这样在某个数据源发生问题时,用户仍然可以从其他服务器获得视频数据。我们还可以使用它提供的 Live Archive功能把Web转播从一台服务器录制到另一台服务器中。这一功能使得对会议或其他现场转播的存盘变得更加轻松。

10.2 流媒体服务软件 它的带宽和性能的控制功能也非常强大。采用图形接口的监控程序可用来显示 CPU占用率、内存和带宽使用率以及所连接的用户数、播放器和编码器数量。它的缓存选项可以减少CPU占用率,并能更有效地控制带宽使用率。另外还有一个独立的性能监视器插件允许在Windows 中查看性能状况。

对于需要提供多种流媒体标准内容服务的供货商来说, Helix Universal Server 9.0 提供了一个设计精良、性能优越的解决方案。它为想把最新的流媒体技术集成到网站和应用的网站管理者和开发人员指明了方向。

本章就以 Helix Server 为例讲述流媒体软件的安装和使用。

10.3 试播流媒体文件 Helix Server 的安装过程非常简单,基本上默认“下

一步”就可以了,首先选取授权文件,如图 10-1 所示。 接着设定好管理员的用户名和密码,然后就需要设定

服务器的各个端口了。这些端口基本上可以采用系统默认的设置,但是在设定 Helix Server 的 HTTP端口的时候要稍微注意一下,因为程序默认采用的端口是80 ,如果计算机中通过 IIS 或其他www服务软件开启了Web服务则会造成端口冲突(一台计算机上不允许两个相同端口的服务同时开启),所以建议大家将此端口更改为 8080 或者是其他没有使用的端口(如图10-2所示),在Windows 2000 Server 中集成的Windows Media Server组件默认使用 1755端口,也会造成冲突,建议将相关服务停掉后再继续安装。

10.3 试播流媒体文件

图 10-1 选取授权文件 图 10-2 设置 HTTP端口

10.3 试播流媒体文件 安装完成 Helix Server之后,在桌面上会出现名称为

Helix Server 和 Helix Server Administrator图标,它们分别用于启动 Helix Server 服务和管理 Helix Server 。在手工启动之前,有时还需要打个补丁,运行 patch.exe 文件,找到安装路径下的 BIN目录,选择 rmserver.exe 文件即可。下次使用时系统会自动加载 Helix 服务,无需再手动激活。

安装好了 Helix Server之后,需要对服务端和客户端分别进行测试,确认是否已经正常运行。在测试之前,需要确认计算机中已经安装了 Realplayer 播放器,建议使用支持多种媒体文件格式的 RealOne Player 播放器。

1. 服务端测试 测试服务器端是否正常运行,首先要双击桌面的 Helix Server Ad

ministrator图标,并且在弹出窗口输入安装时候设定好的用户名和密码就可以进入管理页面了。此时在左边列表中依次单击 Server Setup|Media Samples链接,右部区域中即可显示出程序内置的测试媒体文件(如图 10-3 所示),其中提供了所有测试文件的链接。比如我们单击 Play RealVideo 9 Sample链接之后,系统将会立即调用 RealOne Player 播放器,而且开始时会在播放器顶部有“正在缓冲”字样,同时还有缓冲的数字显示,这说明整个系统安装链接成功。

为了能够查看当前播放的视频文件的地址,我们可以在 RealOne Player 中运行“文件” |“剪辑属性” |“查看剪贴信息”命令,这样即可看见图 10-4所示的文件地址为 rtsp://lab21:554/real9video.rm 。这里可以看出播放系统是采用 RTSP连接方式进行播放的, lab21 是服务器的计算机名, 554是端口号,而 real9video.rm 就是具体的媒体文件名称。

2. 客户端测试 在局域网中找到一台安装了 real 播放器同时能够访问到该流媒体服务器的计算机,在浏览器中输入 rtsp://lab21:554/real9video.rm ,如果能够打开 real 播放器并正确播放,说明客户端测试也是成功的。如果知道流媒体服务器的 IP,最好将 lab21换成 IP地址。

2. 客户端测试

图 10-3 供测试的媒体样例 图 10-4 视频文件的地址

2. 客户端测试 虽然整个流媒体服务器已经搭建完成并正常运行,但

是怎样才能让别人直接欣赏到自己制作的各种视频文件呢?非常简单,只要把 RM 、 ASF、WMV 之类的流媒体文件复制到 Helix Server 安装目录下的 Content活页夹中,然后在客户端的 RealOne Player 中输入类相应的文件地址就可以开始欣赏影片了。对于 Rm或 Rmvb视频文件,其访问格式为: rtsp://服务器 IP地址 :554/文件名(其中 554可以省略)。

对于 ASF、WMV视频文件,其访问格式为:mms://服务器 IP地址 :1755/文件名(其中 1755也可以省略)。

10.4 Helix 基本设置1. 端口设置

可以看到如图 10-5所示自上而下依次定义了各种不同类型的端口,包括RTSP、PNA、 HTTP、 MONITOR、 ADMIN等这些老端口,同时也有新端口,那就是 MMS 端口。提供对WM 媒体文件的支持是 Helix Server 的一个很重要的新特性。

2. IP绑定 一台 Helix Server 服务器上可能有不止

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

2. IP绑定

图 10-5 端口设置 图 10-6 IP绑定

3. 连接控制 单击“服务器设置”,在子菜单中选择“连接控制”,在这里可以根据自己的带宽和机器能力设置“最大用户连接数”(这个就是由授权所规定的),以及对用户播放器的限制,如“仅提供RealPlayer Plus 连接”,如果设为 ON可以有效防止客户用第三方软件进行下载,但客户就只能使用 RealRlayer 的 Plus 版本收看而不能使用 Basic版,当然在这里还可以对服务的带宽进行限制,以保证同一台服务器上面的其他服务有足够的网络资源,如图 10-7所示。

4. 配置加载点 可以对已有的加载点进行修改,如将 Helix 的“ /” 目录更改为已存在的物理路径,如 E:\vodroot ,如图 10-8所示。

图 10-7 连接控制 图 10-8 配置加载点

4. 配置加载点 也可以增加新的加载点,例如,需增加 vod1这个加载

点,指向硬盘的 d:\mov1 目录,可如图 10-9所示操作,单击“加载点描述”右方的“ +”号,将新出现的右边窗口处如图 10-10 所示依次填写。设置好以后别忘了单击右上角的“重启服务器”按钮,以使更改生效。

添加了加载点后,对于 Rm 或 Rmvb媒体文件,其访问格式为: rtsp://服务器 IP地址 :554/加载点名 /目录名 /文件名(其中, 554可以省略)。例如,流媒体服务器 IP为 192.168.0.10 ,添加了加载点 vod1 ,对应着 E:\movie1\football 目录,该目录下有一文件名为 all.rmvb的视频文件,则正确的播放地址为: rtsp://192.168.0.10/vod1/all.rmvb。当在客户机的 realplayer 播放器中输入此地址时,如看到“正在联接”和“正在缓冲”并且时间不断的跳动时,说明配置成功。

4. 配置加载点 对于 ASF、WMV媒体文件,其访问格式为:mms://

服务器 IP地址 :1755/目录名 /文件名(其中: 1755也可以省略)。例如,假设流媒体服务器 IP仍为 192.168.0.10 ,添加了加载点 vod2,对应着 E:\movie2\Mydream 目录,该目录下有一文件名为 heaven.wmv ,则正确的播放地址为:mms://192.168.0.10/vod2/heaven.wmv。

【注意】用 Helix 点播 media 媒体文件时,请不要使用中文的目录和文件名,否则很可能出现莫名其妙的错误,尽管有解决办法,但比较复杂,所以还是不用为好。其他格式,如 AVI 、 MPEG4等的媒体文件也是可以用 Helix 点播的。

4. 配置加载点

图 10-9 添加一个加载点 图 10-10 设置加载点

10.5 媒体访问控制1. IP控制 可以定义允许或者禁止来自某个或者某段 IP的访问请求,而且

可以针对每个端口进行专门的设置。对每一个规则,可以定义允许权限、地址和子网掩码以及特定的端口,而且可以对 Server 和 Client有不同的设置。

为了便于介绍,我们假设所有 IP地址为 192.168.0.x 的内部局域网用户都能够直接欣赏,但是只有 202.204.212.0 网段 IP地址的用户才能够连接到 Helix Server 服务器。

第 1步,将当前 Helix Server 服务器的 IP地址设定为 0.0.0.0 ,这样才能保证系统中所有的 IP地址供服务器使用,也才可以让服务器中用于连接内部网和外部网的网卡同时生效。

第 2 步,在 Security|Access Control页面中,先单击“ +”按钮增加一条规则,在右边的编辑区域中将规则名称更改为 Administrator ,接着将 Access Type 设置为 Allow,而 Client IP Address or Hostname 和 Client

1. IP控制 Netmask分别设定为 localhost 和 None ,接着将 Server IP Ad

dress or Hostname 一项设置为 Any,这样完成服务器的 IP地址设定,确保只有在服务器端才可以进入管理接口。完成上述设定之后,通过上下箭头将新增的规则调整在原先两个规则之间即可(如图 10-11 所示)。

提示:由于安装好 Helix之后,它会随机取得一个管理端口,因此在设定管理端口需要在管理页面上部查看当前服务器使用的端口号,否则修改之后无法顺利登录到管理接口。

第 3步,再次单击“ +”按钮增加一个规则,并且将其命名为 Intranet 来表示针对内部局域网进行 IP地址规则设置。这里的 Allow一项可以设定为 Allow,客户端 IP地址或主机名处输入 192.168.1.1之类局域网中随意一个 IP地址,而客户端子网掩码需要从下拉菜单中选择 24 Bits ( 255.255.255.0 or /24)一项,服务器 IP地址或主机名设定为 Any,也就是设定局域网中所有的计算机都可以连接到服务器。另外,在下部的 Ports 中需要输入554,7070,1755 三个端口,这条定制的规则允许局域网内所有 IP访问 Helix Server 的 3 个点播端口,如图 10-12所示。

1. IP控制

图 10-11 访问控制 图 10-12 添加规则

1. IP控制 第 4 步,参照第 3步所述的方法增加一个名为 Internet 的规则,同时将访问类型为 Allow、客户端 IP地址或主机名处输入 202.204.212.10 、客户端子网掩码处为 None ,服务器 IP地址或主机名处为 Any、端口处为 554,7070,1755。经过这样设定之后只有IP地址是 202.204.212.10 的用户才可以通过 Helix Server 的点播端口。这里只是通过规则设置了一个外部 IP地址,重复操作可以增加其他的 IP地址。

第 5步,将刚才增加的两个规则通过上下箭头调整在 Administrator规则下面,接着先保留 Allow all localhost connections 一项不变,同时将 Allow all other connections 一项的 Access Type 设定为 Deny(如图 10-13 所示),这样设置之后即可允许本地局域网中的所有计算机与服务器建立连接,但是外部网络的计算机只有在 Internet标签中的设定的计算机才能够连接到服务器了。

【注意】所有设置完成后需要单击页面右上部的 Restart Server按钮重新启动 Helix Server 服务器。

2. 身份认证 某些目录中的音频或视频文件在被访问的时候,将会进行用户的身份验证,有了身份验证,就可以对特定的用户提供特定的服务了,这对于互联网流媒体服务的商业化十分重要,如图 10-14所示。

图 10-13 调整规则顺序 图 10-14 身份认证设置

2. 身份认证 要实现这一点,首先要定义用户认证数据库,然后定义用户组和用户信

息以及对用户进行授权。 Helix Server 支持多种类型的数据文件,包括 Flat File/ ODBC/ mSQL/ RN5 DB Wrapper 类型的数据库,如图 10-15所示。

2. 身份认证 在 Authentication页面中,可以增加登录服务器的用户组和用户名。首

先是增加用户组,可以从“ +” 开始入手,增加完用户组以后对用户组进行权限的定义,然后,再由下方增加单个用户到某个用户组,如图 10-16所示。这样,就能实现对用户权限的管理了。

10.6 上机练习 实验 1 体会流媒体系统的架设方法。 实验环境:两台计算机,一台配置 Helix Server 服务,一台用作测试机。

实验要求:把课本上的内容全部验证一遍,在客户机上能够播放从网上下载的 RM 、WMV以及 MP3 等 Helix 支持的典型音视频文件。

查阅文献资料和帮助文档,尝试配置 Helix 支持的其他功能,如视频直播功能。

实验 2 配置Windows2000自带的流媒体服务组件 在Windows 2000 Server 中集成了一个流媒体服务组件Windows Media Server ,与其相应的客户端播放软件 Media Player ,本章所讲的 Helix Server 和 Realplayer 是与其一一对应的流媒体软件。

查阅网上的参考资料、书籍和Windows帮助文档,揣摩本章介绍的 Helix软件的配置方法,尝试去配置 Media Server 的基本功能和服务,提高自学新软件的能力。

top related