如何架设流媒体服务器

一、前言
随着越来越多的朋友开始选择ADSL、Cable Modem或FTTBLAN作为首要的上网方式,宽频时代即将到来,这使我们“宽频 KTV、影音聊天室、线上电影院、远程教育的梦想即将成为现实,而与其密切相关的“流媒体(Streaming Media)也成了许多人谈论的热门话题,因为“流媒体正是实现这些宽频应用的技术动力 。
宽频时代的到来还使得网民们不再满足于仅仅作为一项服务的受众,他们需要更大规模的交流,从中体现个体的价值,因此,许多朋友开始用自己的计算机,搭建网络广播和点播站点 。他们充满着满腔的热情,但不可否认的是,中国网民先天技术上的不足,让他们在建设这样的站点时遇到重重险阻,以至于放弃 。如何将这种热情在技术的引导下成为动力,这正是我们家用电脑所要做的,所以,在今天,在这里,我就将给大家介绍如何打造属于自己的流媒体服务器 。
不过,在开始正式的流媒体服务器架设之前,请让我们先了解一下流媒体服务器的基础知识 。
二、流媒体基础知识
什么是流媒体?
目前,在网络上传输音/视频等多媒体信息有两种解决方案,即http或ftp下载以及流式传输 。
http或ftp下载使用标准的http和ftp协议,但由于多媒体信息个头巨大,下载一个多媒体文件一般需要几分钟或几小时的时间,这就造成为了看一个并不知道内容的视频,首先需要耗费可能比整个视频都要长的时间来完成下载 。这些被下载的文件还必须在下载前制作完成,放在网络服务器上,这样造成的直接后果就是:网络带宽不断提高,人们下载的等待时间越来越少,但最终还是不能观看网上现场直播 。
流式传输时,声音、影像或动画等多媒体信息由流媒体服务器向用户计算机连续、实时传送,它首先在使用者端的电脑上创建一个缓冲区,于播放前预先下载一段资料作为缓冲,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看 。当多媒体信息在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载 。如果网络连接速度小于播放的多媒体信息需要的速度时,播放程序就会取用先前建立的一小段缓冲区内的资料,避免播放的中断,使得播放品质得以维持 。
流式传输除了能够发送已经制作完成的文件外,还可以通过采集服务器实时采集现场音视频,推送到流媒体服务器端,实时提供给用户 。因此,流媒体除了能够更好的承担如下载一样的多媒体点播服务外,更能够应用在现场直播、电视转播、突发事件报道等多种对实时性传输要求较高的领域 。
有关流媒体的厂商
流媒体的市场巨大,世界上许多优秀的厂商都加入此行列,现阶段更是系统集成商竞争的风水宝地 。而在通用市场上,竞争的公司主要有三个:Microsoft、RealNetworks、Apple,而相应的产品就是:Windows Media、Real Media、QuickTime 。而近来,以开发Winamp著名的Nullsoft公司也在自己的MP3服务器中加入了视频支持,欲在流媒体市场分一杯羹 。
由于Apple的服务器和编辑软件一般都以Mac为操作平台,Nullsoft的流媒体服务器属于新生不成熟事务,所以今天在这里我主要给大家介绍一下Microsoft和RealNetworks的产品 。
流媒体的传输协议
大家在观看网上电影或者电视时,一般都会注意到这些文件的连接都不是用http或者ftp开头,而是一些rtsp或者mms开头的东西,为什么是这样呢?实际上,这些和http和ftp一样,都是数据在网络上传输的协议,只是它们是专门用来传输流式媒体的协议而已 。下面,让我们来看一下现在使用的主要的流媒体协议:

推荐阅读