论文部分内容阅读
随着网络技术和多媒体技术的飞速发展,网络流媒体融合了计算机、多媒体、通信、电视和数字压缩等技术,以其快捷、直观等特点被广泛运用到各行各业。视频会议、视频点播、远程教育、无人监控等分布式多媒体应用正迅速走入人们的生活,使用者根据自己的需求主动获得多媒体信息,它们和传统信息发布的最大不同在于其主动性和选择性,这给人们的工作和生活带来了极大的便利和无穷的乐趣。本文重点研究了流媒体技术中的两个方面:实时流媒体传输和音视频解码。在此基础上,本文实现了基于流媒体技术的流媒体播放器构件。论文首先分析了网络多媒体应用中常用的流媒体技术,对现有的流媒体播放器进行了分析比较,提出了本论文要实现的创新点:弥补了现有播放器不能兼容各种协议的缺点和只能应用于单一系统的不足,提出开发流媒体播放器构件的思想,以供其它应用程序方便的调用;本系统可以应用在Windows和嵌入式等多个系统上;本系统简单易操作。论文对流媒体系统进行了需求分析,分析了RTSP/HTTP/MMS/RTP等流媒体相关协议。根据系统设计的要求,提出系统的总体框架,将系统的实现划分为用户界面、消息会话、音视频数据接收、音视频解码四个模块。用户界面模块负责用户和系统之间的交互,包括用户向系统发出操作命令,界面向用户反馈及时信息。消息会话模块处理应用程序内部的消息传递,这个模块是整个设计的调度控制中心,根据消息行为负责调度各个协议模块。音视频数据接收模块用负责接收用户要访问的流媒体服务器处的数据,依靠实时传输协议RTP和底层传输协议UDP完成操作。这个模块是协同消息会话模块完成动作的。接收到得数据会被临时存放到缓存区,再送到音视频数据解码模块进行解码。这四个模块之间是互相联系、互相利用的。用户调用用户界面,要完成播放、停止等操作需要经过消息会话模块向接收、解码模块来翻译、传达消息。接收、解码模块需要通过消息模块向用户界面反馈多媒体信息和操作信息,用户得以进行后面的操作。四个模块紧密联系,合理分工。本文借助于UML工具Rational Rose 2003对各个模块进行辅助分析设计。本文使用C++语言实现全部的代码编写,遵循了模块化设计的原则,以便于进行调试,维护和更新。论文的最后对系统中的相关模块进行了测试和修改,使用网络抓包工具Iris V3.8对数据流进行监控,最终验证了系统实现的正确性。