流媒体(streaming media)是指以流的形式在网络(互联网、无线移动网络等)上进行数字媒体(主要指音频和视频)传输的技术。它将视频、音频之类的连续媒体经压缩编码、数据打包后按照一定的时间间隔要求连续地发送给接收方,接收方在后续数据不断到达的同时对接收到的数据进行重组、解码和播放。

过去,多媒体文件(节目)需要从服务器上下载到终端设备后才能播放,这限制了人们在计算机和互联网上使用多媒体数据进行实时的交流。流媒体技术能够较好地解决这个问题,它的主要特点是边下载边欣赏,从而使用户能够不间断地在线欣赏多媒体节目。[1]

中文名

流媒体

外文名

Streaming media

采用方式

流式传输方式

播放

Internet播放

研究内容

流媒体编解码技术:典型的流媒体编解码技术有用于64kb/s视频传输的H.261,面向1.5Mb/s数字视频音频传输和存储的MPEG-1,面向高品质数字视频音频传输和存储的MPEG-2,面向交互应用和网络传输的MPEG-4、H.264以及适于低码率视频编码的H.263,最新的发展趋势是可扩展性编码。如细粒度可扩展(FGS)编解码技术和H.264/SVC(scalable video coding)等。

流媒体存储和调度策略:网络带宽和视频服务器的输入、输出往往是制约流媒体服务性能的瓶颈,在大规模点播电视(VOD)系统中,用户对媒体数据的点播往往集中于少数热门节目,流媒体存储和调度策略的关键是合并用户服务,共享服务器和网络带宽资源。

流媒体的传输与控制:解决媒体流在两个端系统间传输的相关问题,包括媒体流拥塞控制策略、差错控制策略、速率调节策略等,其目标是提高流媒体应用的服务质量(QoS)。

多媒体代理服务器及内容替换机制:多媒体代理服务器将一些访问频繁的多媒体数据存储在内存或硬盘中,当用户通过多媒体代理服务器访问这些数据时,多媒体代理服务器无须访问远程Internet,而是通过本地缓存为用户提供服务ꎬ有效降低了远程服务器的访问负载,节约了从远程服务器到代理服务器间的网络资源消耗,并能有效降低用户的启动延迟,提高用户接收到的媒体质量。近几年,基于P2P和基于云计算、云存储的流媒体技术也得到了广泛的应用。

流媒体的典型应用包括点播电视、视频会议、远程教学、数字图书馆等。[1]

流媒体

传输技术

流式传输

流式传输是实现流媒体的关键技术。在网络上传输音/视频等多媒体信息,主要有下载和流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大。流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。

流媒体指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。

流式传输定义很广泛,主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Real time streaming)和顺序流式传输(progressive streaming)顺序流式传输是顺序下载,在传输期间不根据用户连接的速度对下载顺序做调整。实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流式传输根据网络情况调整输出音视频的质量从而实现媒体的持续的实时传送,用户可快进或后退以观看前面或后面的内容。

一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。采用哪种传输方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。

顺序流式传输

顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。顺序流式文件是放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。

实时流式传输

实时流式传输指保证媒体信号带宽与网络连接配匹,使媒体可被实时观看到。实时流与HTTP流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但实际上,可能发生周期暂停。实时流式传输必须配匹连接带宽,这意味着在以调制解调器速度连接时图象质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定服务器,如:QuickTime Streaming Server、RealServer与Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。

流媒体特征

(1)内容主要是时间上连续的媒体数据(音频、视频、动画、多媒体等)。 

(2)内容可以不经过转换就采用流式传输技术传输。 

(3)具有较强的实时性,交互性。 

(4)启动延时大幅度缩短,缩短了用户的等待时间;用户不用等到所有内容都下载到硬盘上才能开始浏览,在经过一段启动延时后就能开始观看。 

(5)对系统缓存容量的要求大大降低。 

Internet是以包传输为基础进行的异步传输,数据被分解成许多包进行传输,由于每个包可能选择不同的路由,所以到达用户计算机的时间延迟就会不同,而在客户端就需要缓存系统来弥补延迟和抖动的影响以及保证数据包传输的顺序。在流媒体文件的播放过程中,由于不再需要把所有的文件都下载到缓存,因此对缓存的要求很低。[2]

产品

1、编码器:它由一台普通计算机、一块microvision高清视频采集卡和流媒体编码软件组成。Microvision流媒体采集卡负责将音视频信息源输入计算机,供编码软件处理;编码软件负责将流媒体 采集卡传送过来的数字音视频信号压缩成流媒体格式。如果做直播,它还负责实时地将压缩好的流媒体信号上传给流媒体服务器

2、服务器:由流媒体软件系统的服务器部分和一台硬件服务器组成。这部分负责管理、存储、分发编码器传上来的流媒体节目。

3、终端播放器,也叫解码器: 这部分由流媒体系统的播放软件和一台普通PC组成,用它来播放用户想要收看的流媒体服务器上的视频节目。

原理

流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。——流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。流式传输的过程一般是这样的:用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/VHelper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。

A/VHelper程序及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服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/VHelper程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图所示。

流媒体格式

声音流、视频流、文本流、图像流、动画流

RA:实时声音

RM:实时视频或音频的实时媒体

RT:实时文本

RP:实时图像

SMIL:同步的多重数据类型综合设计文件

SWF:macromedia的real flash 和shockwave flash动画文件

RPM:HTML文件的插件

RAM:流媒体的元文件,是包含RA、RM、SMIL文件地址(URL地址)的文本文件

CSF:一种类似媒体容器的文件格式,可以将非常多的媒体格式包含在其中,而不仅仅限于音、视频。

它可以把ppt和教师讲课的视频完美结合,很多大学和大型企业使用这套软件进行教学录像和远程教育

1、realnetwork公司:三种

2、apple公司:quicktime\mov

3、microsoft公司

(1)asf\wmv\wma

(2)avi

(3)mpeg\mpg\dat

4、micromedia公司

(1)flash的swf格式

(2)metastream的mts格式

(3)aam多媒体教学课件格式,可将authorware生成的文件压缩为aam和aas流式文件播放

传输协议

1、RSVP:资源预留协议

2、RTP:实时传输协议

3、RTCP:实时传输控制协议

4、MMS:微软流媒体服务协议

5、RTSP:实时流传输协议

6、MIME:多目因特网电子邮件扩展协议

7、RTMP(RTMPE/RTMPS/RTMPT):Adobe实时消息协议簇

8、RTMFP:Adobe实施消息流协议(P2P协议)

播放方式

单播

在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余首先造成服务器沉重的负担,响应需要很长时间,甚至停止播放;管理人员也被迫购买硬件和带宽来保证一定的服务质量。

组播

IP组播技术构建一种具有组播能力的网络,允许路由器一次将数据包复制到多个通道上。采用组播方式,单台服务器能够对几十万台客户机同时发送连续数据流而无延时。媒体服务器只需要发送一个信息包,而不是多个;所有发出请求的客户端共享同一信息包。信息可以发送到任意地址的客户机,减少网络上传输的信息包的总量。网络利用效率大大提高,成本大为下降

点播与广播

点播连接是客户端与服务器之间的主动的连接。在点播连接中,用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会迅速用完网络带宽。

广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。例如,用户不能暂停、快进或后退该流。广播方式中数据包的单独一个拷贝将发送给网络上的所有用户。使用单播发送时,需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方式会非常浪费网络带宽。组播吸收了上述两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的单独一个拷贝发送给需要的那些客户。组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。