论文部分内容阅读
随着当今互联网的急速发展,视频交互类型的系统软件层出不穷,从PC端发展到移动端也是必然的趋势。在移动互联网的热潮推动下,视频交互系统慢慢在移动端出炉,大部分相关的移动产品都是面对小用户量的且基于SIP协议的视频交互系统软件,这些软件都有一个共同点就是利用SIP中心服务器进行音视频的转发功能。而当代的移动设备如手机、平板等的配置几乎接近于电脑,人们对视频交互的需求也越来越广泛,需亟待解决用户量多情况下的视频交互系统的性能问题,因此移动端纯C/S模型的系统已经不满足用户的需求。本文所提出的移动视频交互系统是基于P2P分布式技术的,将该技术应用于系统的主要功能如音视频功能上,让所有的对等节点担任音视频客户与服务两种角色。本文主要研究了视频交互系统的相关技术与协议,如音视频编解码技术和流媒体协议、与信令有关的SIP、SDP等协议。由于本系统是面向移动端的,且考虑到音视频的编解码的性能问题,研究了必要的Android NDK开发技术,编解码部分用native层的C++来实现。然后本系统的核心思想在于多节点的视频交互,需要突破现有的C/S模型的产品瓶颈,提出了移动视频流的视频帧化策略和移动音频流的混音化策略与P2P分布式技术相结合的思想,将音视频功能转移到对等节点上,去掉中心服务器对音视频的转发功能,然后设计和实现了一套可行的方案实现音视频P2P传输,并根据UDP心跳检测机制动态修复P2P全连接网络和视频分流比例,解决音视频的播放时延问题。在论文的末节对整个系统进行了测试与分析,主要测试了围绕P2P分布式技术的系统功能模块。既分析了这些模块的功能测试结果是否与期望结果相符,还分析了音视频策略应用于P2P全连接网络中时播放时延性能指标的动荡情况,以及P2P全连接网络的动态自动修复对音视频播放的影响。