第8章构建和管理流媒体服务(上)主讲:朱强E-mail:a1234514@163.com博客:--使用HelixServer构建流媒体服务本讲目标掌握流媒体的概念、产生背景及应用环境掌握流媒体的传输技术掌握常见的流媒体通信协议掌握常见的流媒体文件格式掌握常见的流媒体实现方案掌握HelixServer搭建流媒体的基本过程8.1流媒体概述所谓流媒体是指采用流式传输的方式在Internet/Intranet播放的多媒体文件格式,流媒体在播放前并不需要下载整个文件,而只是将开始部分内容存入内存,在客户端计算机中对数据包进行缓存并使多媒体数据正确地输出,保证随时传送随时播放,只是在开始时有些延迟。流媒体实现的关键技术就是流式传输,流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,这一系列相关的包就称为“流”,这些“流”由服务器向用户计算机顺序或实时传送。要注意的是流媒体实际指的是一种新的媒体传送方式,而不是一种新的媒体。Internet/Intranet流媒体客户机流媒体数据库流媒体服务器流媒体缓冲区图8.1流媒体服务的原理8.1流媒体概述8.2流媒体的传输技术8.2.1顺序流式传输8.2.2实时流式传输8.2.1顺序流式传输顺序流式传输就是下载,在下载文件的同时用户可以在线播放媒体,在某一时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不会像实时流式传输那样可在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,且不需要其他特殊协议,因此它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法可保证电影播放的最佳质量,这也意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。顺序流式文件存放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问需求的视频,如讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。8.2.1顺序流式传输8.2.2实时流式传输实时流式传输是一种一边下载一边播放的传输方式,与顺序流式传输方式不同的是,它可以根据用户连接的网络带宽和速度进行动态调整,保证媒体信号带宽与网络连接带宽相匹配,这样可以实现真正的实时播放。实时流式传输需要专用的流媒体服务器与传输协议(如RTSP、MMS等),同时流媒体服务器也需要用专门的软件(如WindowsMedia、RealServer等)来构建。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但实际上可能发生周期暂停。实时流式传输的缺点就是由于必须匹配连接带宽,这就意味着在以调制解调器速度连接时图像质量较差,而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。8.2.2实时流式传输8.3流媒体的通信协议8.3.1HTTP协议8.3.2RTSP协议8.3.3MMS协议8.3.4RMTP协议(现在最火)8.3.1HTTP协议HTTP协议也支持流媒体传输(本质就是下载),当客户机请求多媒体文件时,服务器会以下载流的形式将数据顺序的传送给客户机。用HTTP协议访问流媒体文件的方式为:HTTP://流媒体服务器名或IP地址/发布点/流媒体文件名。8.3.2RTSP协议实时流协议(RealTimeStreamingProtocol,RTSP)是由RealNetworks和Netscape共同建立的一个用来传送流媒体的标准,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据,它可以控制流媒体数据在IP网络上的发送,同时提供用于音频和视频流的“VCR模式”远程控制功能,如停止、快进、快退和定位。RTSP协议默认使用TCP端口554。协议使用方式:RTSP://流媒体服务器名或IP地址/发布点/流媒体文件名。8.3.3MMS协议媒体服务器协议(MediaServerProtocol,MMS)是微软定义的一种流格式传输协议。该协议支持客户机使用WindowsMediaPlayer作为播放器来访问流媒体服务器。该协议支持快进、倒退、暂停、启动、停止和索引流媒体文件等操作。MMS协议默认使用TCP和UDP端口为1755。协议使用方式:MMS://流媒体服务器名或IP地址/发布点/流媒体文件名。8.3.4RTMP协议实时消息传送协议协议(RealTimeMessagingProtocol,RTMP)是AdobeSystems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。它有三种变种:1)工作在TCP之上的明文协议,使用端口1935;2)RTMPT封装在HTTP请求之中,可穿越防火墙;3)RTMPS类似RTMPT,但使用的是HTTPS连接;8.4流媒体播放方式8.4.1单播8.4.2广播8.4.3组播8.4.4点播8.4.1单播客户端与流媒体服务器之间建立一个单独的数据信道,从流媒体服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。在这种播放方式中,每个用户必须对流媒体服务器发送单独的查询,而流媒体服务器必须向每个用户发送所申请的数据包拷贝,当用户较多时,单播方式将产生巨大的数据冗余使服务器负担沉重,响应时间变长,甚至停止播放;管理人员也被迫购买硬件和带宽来保证一定的服务质量。单播一般用于广域网的流媒体传输。8.4.2广播广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流,即用户不能暂停、快进或后退该流。广播方式中数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要。因此这种传输方式非常浪费网络带宽。8.4.3组播采用组播方式时,单台服务器能够对多台客户机同时发送连续数据流,而且没有时延。服务器只需要发送一个信息包,而不是多个;所有发出请求的客户端共享同一信息包。信息可以发送到任意地址的客户机,减少网络上传输的信息包的总量。网络利用效率大大提高,成本大为下降。组播吸收了上述两种发送方式的长处,克服了两者的弱点,将数据包的单独一个拷贝发送给有需要的客户。组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给那些不需要它的客户,在多媒体应用中占用的网络带宽最小。但组播一般只能用于局域网或专用网段内传播。8.4.4点播点播是客户端主动与服务器进行连接,在点播方式中,用户通过选择内容项目来初始化客户端连接。用户可以开始、暂停、快进、后退或停止流。点播提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,占用网络带宽较多。8.5流媒体文件的常用格式目前流媒体领域有3大生产厂商,包括RealNetworks公司、Microsoft公司和Apple公司,这些公司推出的流媒体文件格式较多,下面仅介绍一些常用的格式。1.ASFASF(AdvancedStreamingFormat,高级流媒体格式)是微软公司开发的一种使用了MPEG-4压缩算法的可以在网上实时观看的流媒体格式。该压缩算法可以兼顾高保真以及网络传输的要求。2.WMVWMV(WindowsMediaVideo,Windows媒体视频)是微软在ASF基础上推出的一种媒体格式,具有体积小,可进行高速网络传输等特点,目前,在网络上比较流行。通过WindowsMediaEncoder软件可制作WMV和ASF文件。8.5流媒体文件的常用格式3.MPEGMPEG(MovingPictureExpertsGroup,运动图像专家组标准)是一种从数字音频和视频发展起来的压缩编码标准,包括MPEG音频、MPEG视频和MPEG系统三个部分。在多媒体数据压缩标准中,采用比较多的MPEG标准有MPEG-1(VCD采用该标准)、MPEG-2(DVD采用该标准)和MPEG-4。我们常见的MP3和MPG两种格式就是MPEG的一种典型应用。8.5流媒体文件的常用格式4.RM、RA和RMVBRM(RealMedia)和RA(RealAudio)格式是RealNetworks公司开发的一种流媒体文件格式,RMVB中的VB是指VariableBitRate(可变比特率,简称VBR),该格式使用了更低的压缩比特率,这样制成的文件体积更小,而且画质并没有太大的变化。5.MOVMOV是Apple公司开发的一种流媒体文件格式,在某些方面MOV比WMV、RM还优秀。MOV早期使用在MAC机上,如今可以在Windows中使用QuickTime等播放器来播放该类型的文件。8.5流媒体文件的常用格式6.FLVFLV是FLASHVIDEO的简称,是随着Flash的推出发展而来的新兴的流媒体视频格式。由于它形成的文件极小、加载速度极快,它的出现有效解决了在线视频观看问题。目前很多线视频网站均采用此视频格式:如新浪播客、六间房、56、优酷、土豆、酷6等。8.5流媒体文件的常用格式8.6流媒体网络结构及实现方案8.6.1流媒体网络体系结构8.6.2流媒体服务的实现方案8.6.1流媒体网络体系结构一个完整的流媒体网络结构如图8.2所示,共有3个部分。Internet/Intranet流媒体客户机流媒体数据库流媒体制作平台流媒体服务器图8.2完整的流媒体网络8.6.2流媒体服务的实现方案项目说明公司RealNetworksMicrosoftQuickTime支持的文件格式RealAudio、RealVideo和RealFlash以及其它ASF和WMVMov服务器软件是否免费否是是采用的流媒体协议RSTP和MMSMMSRTSP流媒体服务器软件RealServer或HelixServerWindowsMediaServicesQuickTimeStreamingServer或DarwinStreamingServer流媒体服务器平台Windows、Linux、Solaris、FreeBSDWindowsServer系列系统Windows、Linux、Solaris、FreeBSD8.7使用HelixServer构建流媒体服务8.8.1安装HelixServer软件8.8.2汉化HelixServer8.8.3启动HelixServer8.8.4配置HelixServer8.8.5在HelixServer上发布视频8.8.6访问视频8.7.1安装HelixServer8.7.1安装HelixServer选择授权文件8.7.1安装HelixServer8.7.1安装HelixServerHelixServer的安装路径8.7.1安装HelixServer设置服务器的管理账号和密码8.7.1安装HelixServer8.7.1安装HelixServer8.7.1安装HelixServer8.7.1安装HelixServer8.7.1安装HelixServer8.7.1安装HelixServer8.7.1安装HelixServer8.7.2汉化HelixServer汉化HelixServer的管理工具:直接用汉化包解压覆盖安装目录下的同名HelixAdministrator目录,如果出现同名覆盖提示,请选择“是”。8.7.3启动HelixServer看到此界面说明启动成功,不要关闭此界面8.7.4配置HelixServer管理员的用户和密码8.7.4配置HelixServer设置视频的存放路径。默认路径为Helix安装路径的Content文件夹(这里保持默认),设置后需要重启服务器8.7.5在HelixServer上发布视频发布视频其实就是将制作好的流媒体格式视频拷贝到视频发布目录中。这里为默认目录:C:\ProgramFiles\Real\HelixServer\Content这里发布一个KIMI赛前短片.rmvb发布地址为:rt