文档介绍:Linux 流媒体服务器安装配置图解一、 Helix 流媒体简介随着 的日益普及, 在网络上传输的数据已经不再局限于文字和图形, 而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/ 视频( Audio/Video ,简称 A/V )等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来, A/V 文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。由于受网络带宽、计算机处理能力和协议规范等方面的限制,要想从 Interne t 上下载大量的音频和视频数据,无论从下载时间和存储空间上来讲都是不太现实的,而流媒体技术的出现则很好地解决了这一难题。目前实现流媒体传输主要有两种方法:顺序流( progressive streaming )传输和实时流( realtime streaming )传输,它们分别适合于不同的应用场合。 l顺序流传输顺序流传输采用顺序下载的方式进行传输,在下载的同时用户可以在线回放多媒体数据,但给定时刻只能观看已经下载的部分,不能跳到尚未下载的部分,也不能在传输期间根据网络状况对下载速度进行调整。由于标准的 HTTP 服务器就可以发送这种形式的流媒体,而不需要其他特殊协议的支持,因此也常常被称作 HTTP 流式传输。顺序流式传输比较适合于高质量的多媒体片段,如片头、片尾或者广告等。 l实时流传输实时流式传输保证媒体信号带宽能够与当前网络状况相匹配,从而使得流媒体数据总是被实时地传送,因此特别适合于现场事件。实时流传输支持随机访问,即用户可以通过快进或者后退操作来观看前面或者后面的内容。从理论上讲,实时流媒体一经播放就不会停顿,但事实上仍有可能发生周期性的暂停现象,尤其是在网络状况恶化时更是如此。与顺序流传输不同的是,实时流传输需要用到特定的流媒体服务器,而且还需要特定网络协议的支持。 l流媒体协议实时传输协议( Real-time Transport Protocol , PRT ) 是在 上处理多媒体数据流的一种网络协议,利用它能够在一对一( unicast ,单播)或者一对多( multicast ,多播) 的网络环境中实现传流媒体数据的实时传输。 RTP 通常使用 UD P 来进行多媒体数据的传输, 但如果需要的话可以使用 TC P或者 AT M 等其它协议,整个 RTP 协议由两个密切相关的部分组成: RTP 数据协议和 RT P 控制协议。实时流协议( Real Time Streaming Protocol , RTSP ) 最早由 works scape 公司共同提出,它位于 RTP 和 RTCP 之上,其目的是希望通过 IP网络有效地传输多媒体数据。目前市场上主流的流媒体技术有三种,分别是 works 公司的 RealMedia 、 Microsoft 的 Windows Media 和 Apple 公司的 QuickTime 。这三家的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议这三个关键要素在里面。本文就以 Helix Universal Server 11 为例介绍如何在 Linu x 下构建流媒体服务器。图- 1是流媒体服务器构架。图- 1流媒体服务器构架二、理解单播和多播 1单播单播是客户端与服务器之间的点到点连接。“点到点”指每个客户端都从服务器接收远程流。只有当客户端发出请求时,才发送单播流。可通过点播或广播向客户端发布单播流。图 2是单播示意图。图2单播示意图 2多播多播是通过“启用多播网络”传递的内容流;网络中的所有客户端共享同一流。以这种方式将流媒体内容转化为流的最大好处是可以节省网络带宽。通过将流媒体服务器安装到网络的每一部分,将多播扩展到网络中没有启动多播的区域,这称为服务器分发。作为来自服务器的多播的一部分,可以分发该多播的单一的流给网络上其他部分上别的流媒体服务器。服务器随即通过单播或多播提供流给那些网络部分,这称为“再分发”。通过将服务器连接起来,可以克服路由器不允许使用多播的问题。图 3是多播示意图图3多播示意图三、安装、启动和停止 Helix 服务器 1软件的获取 Helix Server 是 works 公司最新的流媒体服务平台, 这个系统和微软的 Window Media System 不同,它并不是免费的,但在 works 的网站( ), 还是提供有免费使用的 Helix , 不过有功能或时间上的限制。这里笔者选用的是