简介
流媒体技术不是一种单一的技术,它是网络技术及视/音频技术的有机结合。在网络上实现流媒体技术,需要解决流媒体的制作、发布、传输及播放等方面的问题,而这些问题则需要利用视音频技术及网络技术来解决。
定义
流媒体技术发端于美国,又称流式媒体,是一种新的媒体传送方式。流式传输方式将整个A/V及3D等多媒体文件经过特殊的压缩方式分成一个个压缩包,由视频服务器向用户计算机连续、实时传送。用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的A/V、3D等多媒体文件解压后进行播放和观看。这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低。
传输问题
1、技术方面解决的问题
在网上进行流媒体传输,所传输的文件必须制作成适合流媒体传输的流媒体格式文件。用通常格式存储的多媒体文件容量十分大,若要在现有的窄带网络上传输则需要花费十分长的时间,若遇网络繁忙,还将造成传输中断。另外,通常格式的流媒体也不能按流媒体传输协议进行传输。因此,对需要进行流媒体格式传输的文件应进行预处理,将文件压缩生成流媒体格式文件。这里应注意两点:一是选用适当的压缩算法进行压缩,这样生成的文件容量较小。二是需要向文件中添加流式信息。
2、传输方面需解决的问题
流媒体的传输需要合适的传输协议,在internet上的文件传输大部分都是建立在tcp协议的基础上,也有一些是以ftp传输协议的方式进行传输,但采用这些传输协议都不能实现实时方式的传输。随着流媒体技术的深入研究,比较成熟的流媒体传输一般都是采用建立在udp协议上的rtp/rtsp实时传输协议。
为何要在udp协议而不在tcp协议上进行实时数据的传输呢?这是因为udp和tcp协议在实现数据传输时的可靠性有很大的区别。tcp协议中包含了专门的数据传送校验机制,当数据接受方收到数据后,将自动向发送方发出确认信息,发送方在接收到确认信息后才继续传送数据,否则将一直处于等待状态。而udp协议则不同,udp协议本身并不能做任何校验。由此可以看出,tcp协议注重传输质量,而udp协议则注重传输速度.因此,对于对传输质量要求不是很高,而对传输速度则有很高的要求的视音频流媒体文件来说,采用udp协议则更合适.
3、传输过程中需要的支持
因为internet是以包为单位进行异步传输的,因此多媒体数据在传输中要被分解成许多包,由于网络传输的不稳定性,各个包选择的路由不同,所以到达客户端的时间次序可能发生改变,甚至产生丢包的现象.为此,必须采用缓存技术来纠正由于数据到达次序发生改变而产生的混乱状况,利用缓存对到达的数据包进行正确排序,从而使视音频数据能连续正确地播放.缓存中存储的是某一段时间内的数据,数据在缓存中存放的时间是暂时的,缓存中的数据也是动态的,不断更新的.流媒体在播放时不断读取缓存中的数据进行播放,播放完后该数据便被立即清除,新的数据将存入到缓存中.因此,在播放流媒体文件时并不需占用太大的缓存空间.
4、播放方面需解决的问题
流媒体播放需要浏览器的支持.通常情况下,浏览器是采用mime来识别各种不同的简单文件格式,所有的web浏览器都是基于http协议,而http协议都内建有mime.所以web浏览器能够通过http协议中内建的mime来标记web上众多的多媒体文件格式,包括各种流媒体格式.
与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机启动A/V Helper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。
A/V Helper程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可认为客户程序等同于Helper程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。