xiaoguozi's Blog
Pay it forword - 我并不觉的自豪,我所尝试的事情都失败了······习惯原本生活的人不容易改变,就算现状很糟,他们也很难改变,在过程中,他们还是放弃了······他们一放弃,大家就都是输家······让爱传出去,很困难,也无法预料,人们需要更细心的观察别人,要随时注意才能保护别人,因为他们未必知道自己要什么·····
一.
Action Script 3.0(简称AS)开发Browser Player时,需要用NetStream,但现在NetStream.play只支持HttpFile两种协议。上网检查youtubetudouyouku,发现他们用的播放协议也都是Http。而以Flash Media Server(简称FMS)或Red5作为流媒体服务器时,它们提供的是RTMP协议,且这两种流媒体服务器是专门做过优化的。这两种协议,HTTPRTMP,有几点不同:

1)用HTTP方式: 先通过IIS FLV下载到本地缓存,然后再通过NetConnection的本地连接来播放这个FLV,这种方法是播放本地的视频,并不是播放服务器的视频。因此在本地缓存里可以找到这个FLV。其优点就是服务器下载完这个FLV,服务器就没有消耗了,节省服务器消耗。其缺点就是FLV会缓存在客户端,对FLV的保密性不好。

2)用RTMP方式: 通过NetConnection连接到FMS/Red5服务器,并实时播放服务器的FLV文件,这种方式可以任意选择视频播放点,并不象HTTP方式需要缓存完整个FLV文件到本地才可以任意选择播放点,其优点就是在本地缓存里是找不到这个FLV文件的。其优点就是FLV不会缓存在客户端,FLV的保密性好,其缺点就是消耗服务器资源,连接始终是实时的。

由以上分析可以知道,Http方式是本地播放,而RTMP方式是服务器实时播放。


二.

1.什么是流媒体
目前在网络上播放多媒体信息主要有两种方式,一种是非实时方式,即将多媒体文件下载到本地磁盘之后,再播放该文件;另一种方式是实时方式,直接从网上将多媒体信息逐步下载到本地缓存中,在下载的同时播放已经下载的部分,这就是所谓的流媒体技术--。
采用流媒体技术的目的是提高多媒体在网上实时播放的质量和流畅程度。多媒体数据量非常大,如果在网上采用传统的文件下载方式,由于受网络带宽的限制,即使经过压缩处理,也要占用用户的大量的磁盘空间,让用户花费大量的等待时间。而采用实时播放方式,由媒体服务器根据用户请求,向用户计算机连续、实时地传送多媒体信息,用户不必等到整个文件全部下载完毕,即可进行播放,在播放的同时,文件的剩余部分将在后台从服务器内继续流向用户计算机,这样既节省了用户的磁盘空间,又避免用户不必要的等待。尤其重要的是,利用流媒体技术,还可像广播电视直播一样,实现网上现场直播功能。流媒体服务又称媒体服务,根据媒体内容形式可分为音频服务和视频服务。
2.流式传输方式
流式传输是流媒体实现的关键技术,根据实现原理可分为顺序流式传输(Progressive streaming)和实时流式传输(Realtime streaming)两种方式。在具体应用中,选用哪种传输方式取决于实际需求。
顺序流式传输
与HTTP服务一样,顺序流式传输是顺序下载,在下载文件的同时用户可在线播放媒体,由于不支持随机访问,用户只能按流入的顺序播放已下载的内容,而不能跳到还未下载的内容。这是一种介于下载文件和实时流式传输之间的形式,又称为渐进式下载。与流媒体相同的是,在开始播放渐进式下载的文件之前无需将整个文件存储在计算机上;与流媒体不同的是,在完成播放内容之后,整个渐进式下载的文件会保存在计算机上。HTTP协议本身就支持这种方式 ,因而可将流媒体文件通过Web服务器发布,即可实现顺序发送,不需要其他特殊协议支持。当用户的Web浏览器通过HTTP协议向Web服务器请求流媒体文件时,Web服务器通过HTTP协议将流媒体文件发送到用户端,用户端的Web浏览器根据流媒体文件类型,启动相应的流媒体播放程序进行播放,与此同时,文件的剩余部分将从服务器端继续流向用户计算机。这种方式的优点有:1支持无损下载,能够保证播放的最终质量;2由标准的HTTP协议支持,兼容性好,不受防火墙的影响。其不足之处有:1不支持随机访问;
2对于慢速连接来说,相应的延迟也比较严重3不支持现场直播。因此,顺序流式传输适于
播放短小的、要求播放质量高的流媒体文件,如广告、精彩片断和歌曲。这种方式是一种最
简单的点播,但不是本章要介绍的内容。
实时流式传输
实时流式传输则是一种边下载边播放的方式,与顺序流式传输方式不同的是,它可根据用户连接的带宽和速度进行动态调整,以保证媒体信号带宽与网络连接带宽相匹配,使用户能做到真正的实时播放。这种方式需要特殊的传输协议支持,服务器端需要使用专用的流媒体服务器。当用户使用流媒体播放器通过实时传输协议向流媒体服务器请求流媒体服务时,流媒体服务器通过实时传输协议将流媒体文件发送到用户端,流媒体播放器进行播放,与此同时,文件的剩余部分将从服务器端继续流向用户计算机。在具体的实现方案中,一般结合Web服务器来提供流媒体服务,使用HTTP/TCP协议来传输控制媒体播放的信息,利用实时传输协议来传输要播放的多媒体信息。这种方式的优点有:①支持真正的实时传输;②支持现场直播;③支持随机访问。其不足之处有:①有损下载,使用慢速连接时的播放质量较差;②穿过防火墙时有时会出现问题;③需要专门的服务器和协议支持。因此,实时流式传输特别适合实时播放的需要,如现场直播,也用于大型多媒体文件的播放,最典型的就是视频点播、视频广播。实时流式传输也正是本章主要介绍的流媒体服务。


3.流媒体播放方式
从不同的角度来看,流媒体播放方式的含义不同。
点播和广播(直播)
从用户参与的角度来看,可分为点播和广播两种方式。点播指用户主动与服务器进行连接,发出选择节目内容的请求,服务器应用户请求将节目内容传输给用户。在播放过程中,用户可以对播放的流进行开始、停止、后恕⒖旖 蛟萃2僮鳌5悴ヌ峁┝硕粤鞯淖畲罂刂疲 庵址绞接捎诿扛隹突Ф烁髯粤 臃 衿鳎 虼嘶嵯 拇罅康耐 绱 怼?
广播指的是媒体服务器主动发送流数据,用户被动接收流数据的方式。在广播过程中,客户端只能接收流,但不能控制流,例如,用户不能进行暂停、快进或后退操作。这种方式类似于电台广播或电视直播,用户可选择频道接收所需的广播节目,但是在收听收看节目时,不能随意控制节目的播放流程,在有些流媒体产品中将此称为直播。
单播和多播(组播)
从服务器端传输数据的方式来看,可以分为单播、多播和广播3种发布方式。IP协议支持单播、广播和多播(组播)3种地址类型。由于流媒体服务是在IP网络中实现的,因此流媒体在网上传输也有相应的3种方式。
单播指在客户端与媒体服务器之间需要建立一个单独的数据通道,即从一台服务器发送的每个数据包只能传送给一个客户机。单播是一种典型的点对点传输方式。每个用户必须分别对媒体服务器发送单独的请求,而媒体服务器必须向每个用户发送所请求的数据包拷贝,每份数据拷贝都要经过网络传输,占用带宽和资源,如果请求的用户多起来,网络和服务器将不堪重负。
多播又称组播,是一对多连接,多个客户端可以从服务器接收相同的流数据,即所有发出请求的客户端共共享同一流数据,从而节省带宽资源。多播将一个数据流发送给多个客户端,而不是分别发送给每个客户端,客户端直接连接到多播流,而不是服务器。采用这种方式,一台服务器甚至能够对数万台客户机同时发送连续的数据流,而无延时的现象发生。
还有一种传输方式称为广播,将数据包的单独一个拷贝发送给网络上的所有用户。不管用户是否需要,都进行广播传输,浪费了网络资源。为阻止广播风暴,一般将广播限制在一个子网中,流媒体传输中并不采用这种方式。这里的广播是指传输方式,而前面讲述的广播(直播)则指用户被动接收的播放方式。
在实际应用中,播放方式一般将上述方式结合起来,如点播单播、广播单播和广播多播。
分流(转发)
有些情况下,对同一流内容可使用分流(也称分发、转发或转播)方法,在流媒体服务器之间,而不是在流服务器与客户端之间传输流数据。提供流内容的服务器称为发送服务器(或称源服务器),它将流发送给其他接收服务器(或称分发服务器、分流服务器)接收,再由接收服务器将流转发到客户端。分流方法可解决流媒体服务器超负荷的问题,使得客户端可以就近访问流媒体服务器,获得更好的访问质量,并且能节省带宽,支持更多的用户连接。分流技术可以采用UDP单播、UDP组播和TCP等3种方式进行通信。
4.流媒体类型
根据媒体形式,流媒体可分为音频和视频,相应的服务称为音频服务和视频服务。
流媒体指在网络上进行流式传输的连续时基媒体。根据信息来源,时基媒体信息可分为实况流媒体和流媒体文件。实况流媒体指通过视频或音频录制设备获取的实时多媒体信息,可用于现场直播。流媒体文件是经过特殊编码,使其适合在网络上边下载边播放的特殊多媒体文件,常见的文件格式有ASF、WMV、WMA、RM、RA、SWF等。可以对音频文件、视频文件、图像文件以及其他多媒体文件进行编码,将其转换成流媒体格式。强调一下,像其他多媒体文件一样,流媒体文件也可完全下载到硬盘之后,再进行播放。

三.
21世纪,互联网正以惊人的速度向人们日常生活的各个方面延伸,现在,坐在电脑前,你就可以收看网络上的影视节目了。

  也许你会说:“你真笨,那么大一个电视不看,你偏要看17寸的电脑。”其实,网络影视有其得天独厚的优势。首先,它不受时间、地点的限制,你可以在任何时间或地点观看自己喜欢的影视节目;其次,你可订制个性化的服务,点播自己喜欢的节目,查阅节目的相关信息。当然,在网上收看影视节目要具备一定的条件,除了高速的网络带宽外,你还要掌握流媒体的播放技术。目前,宽带正在向家庭普及,你所要具备的,就是了解流媒体的相关技术,我们这篇文章将引导你掌握流媒体的基本知识,在这里没有高深的技术,我们将以通俗的语言,向你讲述流媒体的传输原理,使你通过这篇文章对流媒体的格式及相应的播放器能有一个大致的认识。

  什么叫流媒体呢?流媒体(Streaming Media)是指采用流式传输技术在网络上播放的媒体文件。从这个定义可以看出,流媒体和普通媒体的区别就是:第一,从服务器到客户端,采用的是流式传输技术,使用这种技术,客户端计算机不用将整个的影音文件下载到本地,便可以即时收看或收听。第二,就是他的媒体文件格式,为了达到网络上流式传播文件的目的,流媒体大都具有很高的压缩比,这种压缩可能会使影音文件的品质有所下降,但基本还能够被人们所接受。

  一、流式传输及传输协议

 

  在网络上,我们查看影音文件有两种方法,第一种方法就是我们经常使用的下载方法,这种方法就是把整个影音文件下载到本地硬盘然后进行播放,由于这类文件一般都比较大,所以下载的时间比较长。另外一种方法就是使用流式传输,这种方法不需要把整个影音文件下载到本地硬盘,在观看节目时,我们只需要下载一部分缓冲,余下的部分可以一边观看一边下载,显然,这种方法对网络的带宽有一定的要求,网速越高,播放就越流畅。

  流式传输是流媒体播放的关键技术,它不需要我们下载庞大的媒体文件就可观看视频节目,虽然在播放前要进行缓冲,但这种缓冲也只有几秒或十几秒。实现流式传输有两种方法:实时流式传输和顺序流式传输。一般来说,如果视频为实时广播,或使用流式传输媒体服务器,使用如RTSP的实时协议,这种传输方式即为实时流式传输。如果使用Web服务器,使用HTTP协议,那么文件即通过顺序流发送。

  1.顺序流式传输(Progressive streaming)

  顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体。由于标准的HTTP服务器在不需要其他特殊协议的情况下即可发送这种形式的文件,所以它又被称作HTTP流式传输。顺序流式传输在高带宽(带宽大于流文件的比特率)的情况下,可以实现边下载边播放,网络丢包会重新传输直至用户收到,所以能够保证视频播放的最终质量,因此,它一般被来用传输高质量的短片段,如片头、片尾和广告。顺序流式传输不能广播实况流,不能跳过头部,必须先下完前面的才可以看后面的,必须经历延迟,这种情况,在低带宽的网络连接下尤其如此。

  顺序流式文件是放在标准HTTP 或 FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如讲座、演说或演示。

  2.实时流式传输(Realtime streaming)

  实时流与HTTP流式传输不同,实时流式传输总是实时传送,可以实现实况转播,支持随机访问,用户可快进或后退以观看前面或后面的内容。

  实时流式传输必须配匹连接带宽,也就是说,如果文件比特率超过连接速度,观看将会断续,而且,由于出错丢失的信息会被服务器忽略,当网络拥挤或出现问题时,视频质量会下降,所以,要想保证视频质量,选择顺序流式传输也许会更好。实时流式传输需要特定的服务器,如QuickTime Streaming Server、RealSystem IQ与Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输使用与之适应的网络传输协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server),这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。

  二、流媒体格式与播放器

 

  目前,在流媒体技术方面,Real Networks、Microsoft(微软)、Apple(苹果)三分天下,它们都有自己的流媒体格式和相应的播放器,已形成鼎足之势,因此,你要观看丰富多彩的网络影视节目,全面安装他们的播放器是最好的办法(有些第三方的播放器,比如超级解霸、金山影霸、东方影都以及Media Player Classic的系列软件等,都带有Real和QuickTime的核心解码文件,这此播放器虽然能够播放本地的Real Media文件,但Opera等非IE核心的浏览器在调用非官方的Real和QuickTime插件播放内嵌流媒体时常不能正确调用正确的解码器而导致播放不正常,所以使用非IE核心浏览器为主的朋友不要安装这些软件或它们自带的Real和QuickTime的解码器)。

  1.Real Networks的流媒体格式及播放器

  Real Networks的流媒格式主要有RM(Real Media)、RMVB(Real Media VBR)等,此类格式一般都有很高的压缩比和比较好的网络传输能力,虽然画质差点,但文件体积小,特别适合在低速网络上在线播放音视频节目。Real Networks的流媒体文件可以用RealOne和RealPlaye r进行播放,最新推出的RealPlayer 10比RealOne资源占用少,启动速度也比RealOne有了较大幅度的提高,支持更多的媒体格式,建议朋友们到Real Networks的主页(http://www.real.com/)上去下载安装它的简体中文版(如图1)。

posted on 2009-07-20 16:55 小果子 阅读(564) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理