1 / 36

第 10 章 架设流媒体服务器

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

Download Presentation

第 10 章 架设流媒体服务器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 10.1 基本概念 • 当今网络技术发展迅速,主干网与宽带接入技术日臻成熟,从网络上浏览多媒体信息已经成为网络应用新的热点。但由于多媒体文件一般比较大,不能从网上实时传输;而如果采用文件下载的方法,用户不但需要大量的磁盘空间,而且要花费大量时间。为了提高视频数据在网络上的传输效率,各厂商竞相开发流文件与流媒体技术,以实现视频的实时播放。 • 所谓流媒体技术(或称流式媒体技术)就是把连续的影像和声音信息经过压缩处理后存放到视频传送服务器上,由视频传送服务器把节目传送到网络,用户在客户端通过播放器就可实时观看节目。在网络上传送的一系列相关的数据包称为“流”。使用流媒体技术,用户可以一边传输一边观看、收听,不需要下载整个多媒体文件,不仅不会占用大量的磁盘空间,而且提高了数据传输效率。 • 流媒体技术涉及到数据采集、压缩、存储、传输以及网络通信等多项技术。下面从流媒体的文件格式,支持流媒体传输的网络协议,以及流媒体的传输方式等3方面对流媒体技术进行简要介绍。

  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和其他数字流媒体的重要基础。

  4. 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, 即通过流的方式使用户在客户端实现一边下载一边播放的功能,节省了等待的时间。

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

  6. 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)。

  7. 3. 流媒体的传输方式 • 不同的流媒体应用需要不同的传输方式,而不同的传输方式带给网络不同的影响。流媒体在网络中的传输方式有3种:(1)单播;(2)多播;(3)广播。 • 单播即点对点的连接,客户端和服务器之间建立一个单独的数据通道。从一台服务器传送出的数据包只能由一个客户端接收。这种传输方式增加了服务器的负担,响应时间长,只适用于客户端数量较少的情况,如视频点播。 • 多播也称组播,是一种多地址广播。发送源和接收端是点对多点的关系。对于内容相同的数据包,服务器向一组特定的用户只发送一次,组中的各个用户可以共享,而组外的用户接收不到。使用多播的优势在于原来由服务器承担的数据重复分发工作转到路由器中完成,由路由器负责将数据包向所连接的子网转发,每个子网只有一个多播流。这样就减少了网络上所传输信息包的总量,使网络利用率大大提高,成本大为降低。多播更适用于现场直播。 • 在广播的传输方式中,一个单独的数据包拷贝发送给网络上所有用户。客户端对媒体流不具有任何的控制,不论是否需要,只能被动接收媒体流,造成了网络带宽的浪费。

  8. 4. 流媒体应用 • 流媒体技术具有广阔的应用前景。一个完整的流媒体应用方案是软硬件的集成,大致包括以下几个方面。 • 内容采集:视频源可以是摄像机、电视台节目、VCD、卫星输入信号等; • 音视频捕获和压缩编码:硬件一般为音视频捕获卡,编码软件如RealProducer、MS MediaEncoder等; • 内容编辑:对内容进行非线性编辑、修改、归档以及对视频文件做索引并存放到视频数据库; • 内容存储和播放:当节目量大时需要使用数据库存储音视频文件,使用数据库管理系统对节目源进行管理,视频服务器运行流服务器软件有RealServer或MS Media Service等,负责响应客户端的请求; • 应用服务器内容管理、发布:发布模块负责将节目提交到网页,或将视频流地址邮寄给用户。内容管理主要完成视频存储、查询。用户管理包括用户的登记和授权。

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

  10. 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服务器都会提供一个发布和管理在线多媒体内容的完整平台。

  11. 10.2 流媒体服务软件 • Helix Universal Server对流媒体的宽带使用率提供了强大的控制功能,此外还可以实时显示大量的系统性能参数。Helix服务器的管理过程完全基于Web进行,就像在Microsoft Internet Explorer和Netscape下工作一样。 • 和Web服务器一样,Helix允许通过用户名和密码来控制访问权限,也可以对所能访问的内容进行控制(不管是HTML或是媒体文件)。控制日志会同时以标准或定制的格式进行记录。它能够对多媒体内容的不同来源进行虚拟目录控制,我们特别喜爱这一功能。在测试中,不管是对RealPlayer 9还是Apple或Microsoft的播放器,它所提供的内容服务都没有出现任何麻烦。

  12. 10.2 流媒体服务软件 • 它能够自动使用SMIL标准在流媒体中插入广告内容。在测试中,我们很成功地在一个MPEG文件中插入了一条汽车广告。如果你对视频混合不太熟悉,那么这一功能可以为你节省很多时间。另外,可以锁定内容,使它只能用于RealPlayer客户端。 • Helix还提供了几个出色的在线丰富内容控制功能。首先,我们可以为Web转播增加几个冗余的Helix服务器,这样在某个数据源发生问题时,用户仍然可以从其他服务器获得视频数据。我们还可以使用它提供的Live Archive功能把Web转播从一台服务器录制到另一台服务器中。这一功能使得对会议或其他现场转播的存盘变得更加轻松。

  13. 10.2 流媒体服务软件 • 它的带宽和性能的控制功能也非常强大。采用图形接口的监控程序可用来显示CPU占用率、内存和带宽使用率以及所连接的用户数、播放器和编码器数量。它的缓存选项可以减少CPU占用率,并能更有效地控制带宽使用率。另外还有一个独立的性能监视器插件允许在Windows中查看性能状况。 • 对于需要提供多种流媒体标准内容服务的供货商来说,Helix Universal Server 9.0提供了一个设计精良、性能优越的解决方案。它为想把最新的流媒体技术集成到网站和应用的网站管理者和开发人员指明了方向。 • 本章就以Helix Server为例讲述流媒体软件的安装和使用。

  14. 10.3 试播流媒体文件 • Helix Server的安装过程非常简单,基本上默认“下一步”就可以了,首先选取授权文件,如图10-1所示。 • 接着设定好管理员的用户名和密码,然后就需要设定服务器的各个端口了。这些端口基本上可以采用系统默认的设置,但是在设定Helix Server的HTTP端口的时候要稍微注意一下,因为程序默认采用的端口是80,如果计算机中通过IIS或其他www服务软件开启了Web服务则会造成端口冲突(一台计算机上不允许两个相同端口的服务同时开启),所以建议大家将此端口更改为8080或者是其他没有使用的端口(如图10-2所示),在Windows 2000 Server中集成的Windows Media Server组件默认使用1755端口,也会造成冲突,建议将相关服务停掉后再继续安装。

  15. 10.3 试播流媒体文件 图10-1 选取授权文件 图10-2 设置HTTP端口

  16. 10.3 试播流媒体文件 • 安装完成Helix Server之后,在桌面上会出现名称为Helix Server和Helix Server Administrator图标,它们分别用于启动Helix Server服务和管理Helix Server。在手工启动之前,有时还需要打个补丁,运行patch.exe文件,找到安装路径下的BIN目录,选择rmserver.exe文件即可。下次使用时系统会自动加载Helix服务,无需再手动激活。 • 安装好了Helix Server之后,需要对服务端和客户端分别进行测试,确认是否已经正常运行。在测试之前,需要确认计算机中已经安装了Realplayer播放器,建议使用支持多种媒体文件格式的RealOne Player播放器。

  17. 1. 服务端测试 • 测试服务器端是否正常运行,首先要双击桌面的Helix Server Administrator图标,并且在弹出窗口输入安装时候设定好的用户名和密码就可以进入管理页面了。此时在左边列表中依次单击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就是具体的媒体文件名称。

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

  19. 2. 客户端测试 图10-3 供测试的媒体样例 图10-4 视频文件的地址

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

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

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

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

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

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

  26. 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播放器中输入此地址时,如看到“正在联接”和“正在缓冲”并且时间不断的跳动时,说明配置成功。

  27. 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点播的。

  28. 4. 配置加载点 图10-9 添加一个加载点 图10-10 设置加载点

  29. 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

  30. 1. IP控制 • Netmask分别设定为localhost和None,接着将Server IP Address 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所示。

  31. 1. IP控制 图10-11 访问控制 图10-12 添加规则

  32. 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服务器。

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

  34. 2. 身份认证 • 要实现这一点,首先要定义用户认证数据库,然后定义用户组和用户信息以及对用户进行授权。 • Helix Server 支持多种类型的数据文件,包括Flat File/ ODBC/ mSQL/ RN5 DB Wrapper 类型的数据库,如图10-15所示。

  35. 2. 身份认证 • 在Authentication页面中,可以增加登录服务器的用户组和用户名。首先是增加用户组,可以从“+”开始入手,增加完用户组以后对用户组进行权限的定义,然后,再由下方增加单个用户到某个用户组,如图10-16所示。这样,就能实现对用户权限的管理了。

  36. 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的基本功能和服务,提高自学新软件的能力。

More Related