3.1.2 RealSystem中使用的通道和协议
在Real公司的Server端使用两种通道与客户端软件Realplayer通信:一种是控制通道,用来传输诸如“暂停”、“向前”等命令,使用TCP协议;另一个是数据通道,用来传输实际的媒体数据,使用UDP协议。如图2所示,在RealSystem中,通信过程可分为如下两部分。
第一,当编码器需要向Real服务器端传输压缩好的数据时,通常使用UDP协议与Real的服务器端通讯。RealProducer(是Real公司的编码工具)可以设置成使用TCP协议的方式向服务器传输数据。
第二,当用户在浏览器上点击一个指向媒体文件的链接时,Realplayer打开一个与Real服务器的双路连接,通过这个连接与Real服务器之间来回传输信息。一旦Real服务器接受了客户端的请求,它将通过UDP协议传输客户请求的数据。
3.2 网络支持
为了可以在不同VLAN间转发多播数据包。因此,必须把交换机配置成IGMP查询路由器,并在相应的端口启用PIM-DM多播路由协议,具体配置命令如下:
全局模式:ipmultICast—muting
ruterpim
在每个端口(interface)配置模式:ippim
接下来,为了降低多播流量使其只转发收到组成员报告的IP多播组,需要开启IGMPSnooPINg。具体配置命令如下:
全局模式:ip igmpsnoping vlan
mrouterinterface
其中:vlan—id为交换机所包含的虚网号,为上联到多播路由器或交换机的端口。
3.3 视频服务器
实时视频服务器是由流服务器硬件平台与运行其上的流服务器软件RealServer9.0共同完成,主要功能是完成流媒体的存放、控制和发布。RealServer支持两种多播发布方式:反向信道多播和可伸缩多播。也就是说,将一个现场直播流同时传递给多个客户端,而无须为每一客户的连结发送一个单独的数据流,客户端只需连结到这个数据流,而不是连结到服务器上,就可观看直播了。由于反向信道多播在每一个客户端和服务器之间还保持了一个用于统计和控制信息交互的控制信道,所以还不能算是真正意义上的多播。因此,我们仅讨论可伸缩多播的配置。在RealSystem管理器中,单击左边的菜单项“可伸缩多播”,就可以配置可伸缩多播:首先指定可伸缩多播的加载点(默认为/scalable/),然后为要转播的实况流创建一个频道(Channe1)。在本系统中与频道有关的参数主要有启用频道(yes)、虚拟路径(*)、端口范围(9000~9099)、IP地址(239.251.192.0~239.251.192.99)等。
3.4 Realplayer客户端播放器
浏览器通过HTTP(超文本传输协议)协议向Real服务器发出请求,URL请求中包含激活RAMGEN的参数,指向被请求SMIL文件的URL引发RAMGEN自动产生一个包含SMIL文件位置的RAM文件,这个文件将被传送给浏览器。RealPlayer播放软件接受浏览器传递过来的RAM文件,然后用RTSP与RealServer进行通信,请求该RAM文件中包含的SMIL文件。根据在SMIL文件中包含的信息,Realplayer向RealSe-rver请求、接受并播放媒体元素。
客户端播放器是提供给上网用户观看流媒体的工具软件RealPlayer或RealOne,主要功能是播放服务器端发布的多媒体流(如视频、音频、图像等)。在RealPlayer和RealOne中,访问可伸缩多播流的URL格式如下:
http://视频服务器的IP地址:端口号/可伸缩多播的加载点/虚拟路径/流文件的名称.Sdp
3.5 基于IP多播技术的优势及意义
通过基于标准的网络平台的IP多点映射支持(即IP多播技术),Real可只传输单一的数据流,就能服务高达数千计的使用者,而播放质量不会有任何的区别,只须在支持MultiCast的网络中简单配置,就可较之与古典的UniCast在效率上有了明显的提高。IP多播技术的应用能够降低占用带宽,减轻服务器负荷,并能改善传送数据的质量,尤其适用于大量带宽的多媒体应用。基于IP多播技术的流媒体视频系统的完成具有着重要的意义,优势表现如下。
(1)在带宽方面,对于流媒体系统来说,大量的用户经常要在大致相同的时间里访问相同的节目,显然用IP多播来发送节目是明智的,使得网络带宽得到更有效的利用。
(2)在服务器负载方面来说,如果流媒体系统使用IP多播来发布媒体节目,就不需要购买越来越高性能的服务器以满足客户数量的增长。很明显,IP多播的主要优势在于通过大大减少需要转发和处理的数据量,降低所需服务器性能。