论文部分内容阅读
进入二十一世纪后,网络发展十分迅速,流媒体变得炙手可热,网络上各种流媒体播放器层出不穷,但是移动流媒体播放器相对而言就显得很冷清了。随着3G时代的到来,原本因为2G时代的缓慢网速而无法大规模应用的移动流媒体业务,出现了井喷,而越来越多的移动流媒体播放器也浮出水面。到目前目止,移动播放器的本地播放功能已经做得相当成熟了,但是其流式播放却很少能令人满意。究其原因,一部分是因为网速缓慢,但是更多的原因在于服务器与移动流媒体协议栈的选择。就国内来讲,绝大多数的流媒体播放器,移动流媒体播放器都是基于HTTP的,而很少有基于RTSP的,主要是因为RTSP的服务器搭建比较复杂,客户端实现较为困难。但是基于RTSP的协议栈的实时性,对传输流的控制能力,网络带宽的自适应能力都优于HTTP,其能在较大程度上提高流媒体播放的质量。因此,对RTSP协议栈的研究就显得相当有意义了,本文将会对基于RTSP的移动流媒体协议栈进行研究,并将其添加到播放器中,实现一个移动流媒体播放器。首先,本文研究了与RTSP协议栈相关的技术与标准,并对它的需求分析作了阐述和研究,然后重点研究协议栈的设计与实现。在设计中根据协议栈的功能要求,设计了协议栈系统,主要设计两个模块:RTP/RTCP模块,RTSP模块:RTP/RTCP模块:解析RTP/RTCP会话,研究设计其内部接口。根据其功能,以及与外部的关系,设计其与外部的接口,主要接口为会话控制接口、源访问接口、时钟控制接口和传输接口四类。RTSP模块:分析模块功能及其状态转换。设计给外部的一个操作接口,用来实现播放控制,如播放、暂停、停止和快进快退等。内部则提供会话访问接口,解析输出接口和编码输入接口。在实现中重点关注协议栈载体与TCPMP播放器。TCPMP在嵌入式平台中应用比较广,但是其并不支持RTSP。在协议栈载体中,抽取其内部包含的所需协议栈雏型,对其进行添加修改完善,使其能够实现我们所设计的协议栈的功能。然后将协议栈添加到TCPMP中,使TCPMP支持RTSP流媒体播放。最后,对播放器进行了功能测试和性能测试,以验证协议栈设计与实现的初步成果。测试结果表明,该播放器达到了基本功能、性能要求,证明了设计的可行性。