本文主要介绍流媒体传输技术,包括传输过程、缓存系统和传输协议。
概述
在网络上传输音视频等多媒体信息主要有下载和流式传输两种方案。
下载方式,一般是使用下载工具选择需下载的文件后启动下载过程,根据文件大小,这个过程常常需要几分钟甚至几小时,用户只有等待整个文件下载完成后,才能开始音视频多媒体文件的播放。而采用流式传输方式,用户不必像采用下载方式那样需要等到整个文件全部下载完毕再观看出,而只需经过几秒或几十秒的启动延时就可以在用户的计算机上进行播放和观看。
传输过程
那这是如何做到的呢?为了搞清楚这个,我们首先来看看流式传输的一般过程:
从上面的过程可以看出,实现这种流式传输,除了需要专用的服务器和播放器外,还需要两个关键条件:一是缓存,二是合适的传输协议。
缓存系统
使用缓存系统能消除时延和抖动的影响,以保证数据包顺序正确,从而使媒体数据能够连续输出。因为一个实时音视频源或存储的音视频文件在传输过程中将被分解为许多数据包,而网络又是动态变化的,各个数据包选择的路由可能不相同,故到达客户端的时延也就不同,甚至先发的数据包有可能后到,使用缓存系统后这些数据包都将先入到缓存中然后再根据数据包顺序正确编排,从而使媒体数据能够按照正确的顺序输出。通常高速缓存所需容量并不大,因为通过丢弃已经播放过的内容可以重新利用空闲出来的空间来缓存后续尚未播放的内容。
传输协议
流式传输的实现需要合适的传输协议,你可能很自然想到TCP协议,但是由于TCP需要较多的开销,所以不太适合传输实时数据。在流式传输的实现方案中,一般采用的传输协议有实时传输协议RTP、实时传输控制协议RTCP、资源预留协议RSVP、实时流协议RTSP以及多用途互联网邮件扩充协议MIME。通过这些不同的通信协议与音视频服务器建立联系,就可以将服务器上的音视频输送到客户机上,可以实现远程的媒体文件播放。下面来看一下这几个常用协议。