流光溢彩的意思 流光溢彩的流媒体
时下流行的IPTV、手机电视、视频监控等流媒体业务为早已存在的流媒体技术又镀上一层光彩,无论业务多么新颖,其技术根基依然在日益稳固地完善着。了解流式传播的原理、协议以及架构,无疑能对新业务的应用产生更多的理解。
当IPTV、手机电视、视频监控等流媒体业务风起云涌时,支撑这些应用的流媒体技术也越来越焕发光彩。流媒体是指用户通过网络或者特定数字信道边下载边播放多媒体数据的一种工作方式。现在,以“流”的形式进行数字媒体的传送,可使人们在一定的带宽环境下在线欣赏到连续不断的高品质音频和视频节目,流媒体技术的应用无疑为网络信息交流带来革命性的变化。
怎样进行流式传播
流式传输的实现需要缓存。Internet是以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件来说,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,需要使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据,通过丢弃已经播放的内容,媒体数据可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。
流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输广播/多播数据。在流式传输的实现方案中,一般采用HTTP或RTSP来传输控制信息,而用RTP/UDP来传输实时媒体数据。流式传输的过程一般是这样的: 用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来; 然后客户机上的Web浏览器启动媒体播放程序,使用HTTP从Web服务器检索相关参数,对媒体播放程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。
A/V 媒体播放程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可认为客户程序等同于Helper程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。
需要说明的是,在流式传输中,使用RTP/UDP和RTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行媒体播放程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图1所示。
流媒体播放方式
单播
在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。单播方式下每个用户必须分别对媒体服务器发送单独的查询, 而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余造成服务器沉重的负担,响应需要很长时间,甚至使服务器停止播放,管理人员也得被迫购买硬件和带宽来保证一定的服务质量。
点播与广播
点播连接是客户端与服务器之间的主动连接。在点播连接中,用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于是每个客户端各自连接服务器,会迅速用完网络带宽。
广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。例如,用户不能暂停、快进或后退该流。广播方式中数据包的一个单独拷贝将发送给网络上的所有用户。
组播
IP组播技术构建了一种具有组播能力的网络,允许路由器一次性将数据包复制到多个通道上。采用组播方式,单台服务器能够对几十万台客户机同时发送连续无延时的数据流。媒体服务器只需要发送一个信息包,而不是多个,所有发出请求的客户端共享同一信息包。信息可以发送到任意地址的客户机,减少网络上传输的信息包的总量。这种方式使网络利用效率大大提高,成本大为下降。
使用单播发送时,需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,不管用户是否需要,数据包的一个单独拷贝都将发送给网络上的所有用户,上述两种传输方式会非常浪费网络带宽。组播吸收了单播和广播两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的一个单独拷贝发送给需要的那些客户。组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。
流媒体文件格式
压缩媒体文件格式
压缩格式有时被称为压缩媒体格式,包含了描述一段声音和图像的同样信息,尽管它的文件大小被处理得更小。很明显,压缩过程改变了数据位的编排,在压缩媒体文件再次成为媒体格式前,数据需要解压缩。压缩过程自动
进行,并内嵌在媒体文件格式中。常用音视频压缩文件类型如表1。
流式文件格式
流式文件格式经过特殊编码,使其适合在网络上边下载边播放,而不是等到下载完整个文件才能播放。也可以在网上以流的方式播放标准媒体文件,但效率不高。将压缩媒体文件编码成流式文件,必须加入一些附加信息,如计时、压缩和版权信息。常用流式文件格式如表2。
媒体发布格式
媒体发布格式不是压缩格式,也不是传输协议,其本身并不描述视听数据,也不提供编码方法。媒体发布格式是视听数据安排的惟一途径,物理数据无关紧要,仅需要知道数据类型和安排方式。以特定方式安排数据有助于流式多媒体的发展,因为所有商业流式产品应用需要一个开放的媒体发布格式。常用媒体发布格式如表3。
在未来,单个媒体发布格式可能包含不同类型媒体的所有信息,如计时、多个流同步、版权和所有人信息。实际视听数据可位于多个文件中,而由媒体发布文件包含的信息控制流的播放。
流媒体协议族
关于流媒体的协议标准规范,可以参考如下的网络标准: IETF Multiparty Multimedia Session Control Working group, 网址是https://www.省略/html.charters/mmusic-charter.html 。下面就这一协议族作一概括介绍:
RTP/RTCP是用于流媒体数据的传输协议,适用于在IP网上传送实时多媒体数据。这一协议也被应用于VoIP数据流的传送,包括H.323、SIP、MGCP等。
RTSP(实时流协议)是应用级协议,控制实时媒体数据的发送。RTSP提供了一个可扩展框架,使实时音、视频数据的受控、点播成为可能。数据源包括现场数据与存储在剪辑中的数据。该协议目的在于控制多个数据发送连接,为选择发送通道(如UDP、组播UDP与TCP)提供途径,并为选择基于RTP上的发送机制提供方法; 同时为视频点播用户提供类似于VCR(录像机)一样的控制功能,如前进、快退、停止等。
MMS是微软开发的私有流控制协议,主要用于Microsoft Media Server,功能和RTSP类似。
RSVP(资源预留协议)用于在IP网上的路由器之间为特定的业务应用保留QoS资源,如带宽、时延、时延抖动等。由于其扩展性的限制,目前商用网中实际使用得很少。
Multicast协议主要用于在IP网络上实施组播业务,常用的包括IGMP和PIM协议。IGMP协议被用于第2层网络中的组播组的管理,PIM被用于第三层IP网络中的路由器之间组播组的管理,两者经常要被同时使用。
SDP协议被多个媒体控制协议用于对会话类型和媒体类型的描述,在RTSP,SIP协议中都使用SDP来描述会话和媒体类型。例如媒体类型是音频还是视频,以及IP地址等信息。SDP更像是一个语义描述规格而非通信协议。
SMIL(Synchronized Multimedia Integration Language )是一种由W3C协会开发的基于XML的语言。SMIL被Web开发人员用作把视频、音频、图像、文本等多种内容分割成单个的流传送到客户端。利用这一功能,开发人员可以创建具有多媒体效果的现场讲座,并插入广告等。SMIL常被用于Real系统(ram文件使用SMIL格式),微软的wsx文件也是基于SMIL格式的(asx文件为基于XML格式)。SMIL的技术规范可以在下面的网址中找到: https://www.省略/AudioVideo/。
流媒体系统结构概览
一个完整的流媒体平台通常包括流媒体播放服务器(Media Server)、视频采集制作系统、视频业务管理、媒体发布系统、数字版权管理(DRM)、存储系统和客户端系统等重要组成部分(图3)。CDN系统也经常和流媒体系统结合部署。
● 流媒体播放服务器
流媒体播放服务器是系统中最重要的成分,要求在最广的范围、多种连接速度的基础上提供性能最好的多媒体效果,并具有强有力的系统管理和可伸缩性能力,以及具有开放的、标准的、跨平台的架构。其软件系统必须具有很好的传输能力,适合网络发布。服务器端软件应该具有强大的网络管理功能,支持广泛的媒体格式,支持最大量的互联网用户群与流媒体商业模式。
面对越来越巨大的流应用需求,系统必须拥有良好的可伸缩性。随着业务的增加和用户的增多,系统可以灵活地增加现场直播流的数量,并通过增加CDN部署的方式来支持更多的并发用户数量。
● 视频采集制作系统
该系统利用媒体采集设备进行Stream的制作与生成。它包括了一系列的工具,从独立的视频、声音、图片、文字组合到制作丰富的流媒体,这些工具产生的媒体文件可以存储为固定的格式,供发布服务器使用。视频采集制作系统可实时向发布服务器提供各种视频流,提供实时的多媒体信息发布服务。
● 视频业务管理和媒体发布系统
该系统能对媒体源进行标记,捕捉音频和视频文件并建立索引,建立高分辨率媒体的低分辨率代理文件,从而可以用于视频节目的审查和基于媒体片段的自动发布,形成一套强大的数字媒体管理发布应用系统。同时,该系统包括广播和点播的管理,以及节目管理、创建、发布及计费认证服务,提供定时按需录制、直播、传送节目的解决方案,管理用户访问等功能。
● 数字版权管理系统(DRM)
DRM是在互联网上以一种安全方式进行媒体内容加密的端到端的解决方案,它允许内容提供商对其发布的媒体或节目中指定的时间段、观看次数及其内容进行加密和保护。
● 存储系统
由于要存储大容量的影视资料,因此该系统必须配备大容量的磁盘阵列,或者采用NAS/SAN结构的网络存储设备,具有高性能的数据读写能力,访问共享数据,高速传输外界请求数据,并具有高度的可扩展性、兼容性,支持标准的接口。这种系统配置能满足上千小时的视频数据的存储,实现大量片源的海量存储。
● 客户端系统
该系统支持实时音频和视频直播和点播,可以嵌入到流行的浏览器中,可播放多种流行的媒体格式,支持流媒体中的多种媒体形式,如文本、图片、Web页面、音频和视频等集成表现形式。在带宽充裕时,流式媒体播放器可以自动侦测视频服务器的连接状态,选用更适合的视频,以获得更好的效果。目前应用最多的播放器有Real Networks公司的RealPlayer、微软公司的Media Player、苹果公司的QuickTime三种产品。
链接:流媒体传输方式
在网络上传输音/视频等多媒体信息主要有下载和流式传输两种方案。A/V(音频/视频)文件一般都较大,所以需要的存储容量也较大; 同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。流式传输时,声音、影像或动画等时基媒体(time-dased media)由音视频服务器向用户计算机进行连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。
流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法: 实时流式传输(Real time streaming)和顺序流式传输(progressive streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如文件使用HTTP服务器发送,则是顺序流式传输(微软的Windows Media也可以作基于HTTP的流式传输,但不是通过HTTP服务器进行)。采用哪种传输方法依赖于用户的需求。当然,流式文件也支持在播放前完全下载到硬盘的方式。
1.顺序流式传输
顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前面部分,顺序流式传输不像实时流式传输,它在传输期间能根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证了电影播放的最终质量。但这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布的短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可以发布较高质量的视频片段。顺序流式文件是放在标准HTTP 或 FTP服务器上的,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。
2.实时流式传输
实时流式传输能保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流与HTTP流式传输不同,它需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上实时流一经播放就可不停止,但实际上可能发生周期暂停。实时流式传输必须匹配连接带宽,这意味着在以调制解调器速度连接时图像质量较差。而且由于出错丢失的信息被忽略掉,当网络拥挤或出现问题时,视频质量很差。如要保证视频质量,采用顺序流式传输也许更好。实时流式传输需要特定的服务器,如QuickTime Streaming Server、Real Server与Windows Media Server。这些服务器允许使用者对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如: RTSP (Real time Streaming Protocol)或MMS (Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。
