论文部分内容阅读
随着用户对网络上音视频播放要求的日益增加,流媒体已经成为一种趋势。流媒体是指使用流式传输技术的一种连续时基媒体。其主要特点是服务器把经过特殊方式压缩的音视频文件分割成一个个连续的压缩包,然后通过网络向客户连续、实时的发送;客户无需下载整个视频文件,而只要等待短暂的启动和前几个压缩包的传输时间,就可以播放视频;后续的压缩包在后台继续下载直到传输完毕。可是传统的流媒体系统不能适应变化的网络环境,往往使得客户端得不到良好的视频播放效果或者不能高效的利用网络带宽。为了解决这一矛盾,需要设计一套具有流量控制功能的流媒体传输系统。本文设计的基于Darwin流媒体服务器的自适应流媒体系统采用了RTP/RTCP和RTSP传输控制协议和FLV流媒体文件格式,可以实现实时监测网络带宽从而向客户端提供不同质量的视频切片。文章首先分析了流媒体传输的相关技术,主要研究了RTP/RTCP传输协议,归纳比较了基于RTSP和HTTP两种协议的自适应流媒体传输系统,给出本文采用RTSP作为传输控制协议的依据。其次分析了文章使用的FLV流媒体的文件结构,并通过对其结构的研究给出了FLV文件的实时帧率算法和FLV文件逻辑切片算法。再次,设计了基于Darwin的流媒体服务器模型。通过扩展其Module增加了支持发送FLV切片功能,并使用了简单的流量控制策略,即使用TFRC估计网络带宽以确定发送切片的质量。最后为了弥补TFRC带宽估计的缺陷,本文将Markov决策模型引入流量控制策略。在发送端模拟出客户端的缓冲模型并利用扩展后的RTSP协议包的内容来预测客户端的缓冲情况,根据Markov决策集来决定下一切片的质量等级。从NS2的仿真结果可以看出,相较于原先“尽力而为”的决策方式,Markov决策模型更适用于变化的网络环境。