论文部分内容阅读
近年来,虚拟桌面技术日益蓬勃,更加迅速而深刻地改变着我们的世界,无论是对于企业还是个人都得到了广泛地应用,远程桌面连接是其关键技术之一。虚拟桌面的基本原理是:在远端服务器上统一生成配置虚拟桌面,客户端采用某种远程桌面连接技术访问虚拟桌面。现行的大部分客户端能够较好地支持普通桌面操作,比如鼠标、键盘输入等,但是远程观看虚拟桌面中流媒体的用户体验还有待提升。VNC的跨平台性和开源性使VNC平台成为了本文研究的首选。本文首先对VNC采用的RFB协议进行了详细的分析,比如屏幕更新方式以及消息交互机制等等,总结出了 VNC在流媒体传输方面的缺陷和不足。随后从服务端和客户端两方面提出了一套系统性的优化策略。在服务端,本文从远程虚拟桌面流媒体的识别出发,针对其“懒惰式”的屏幕更新方式,提出服务端主动推送的策略,并且针对其编码方式压缩率低的缺陷扩展了 H.264编码。对于服务端编码推送数据速度和客户端解码处理数据速度不匹配的矛盾,本文设计了码率控制模块来对服务端编码速度进行控制。另外,本文还针对基于共享机制的多媒体文件服务器上的流媒体文件设计了大文件点播机制,以满足用户对分辨率清晰度的需求。在客户端,对应服务端的一系列优化,首先移植增加了 FFmpeg解码模块来解码H.264编码的数据。考虑到Android设备资源和解码能力有限的问题,本文在客户端增加了硬解码模块。当硬解码无法缓解客户端CPU的压力时,客户端启用反馈变换模块向服务端发出码率控制的请求。最后,嵌入Vitamio框架多媒体播放器实现了大文件点播机制中本地播放的功能。为了验证上述优化方案的性能提升,本文进行了针对性测试,分别在服务端和客户端两个方面与VNC原型系统进行对比,并模拟了在不同网络环境和不同设备配置场景下优化版VNC平台的运行状况。对比结果表明,本文提出的流媒体传输的优化改进方案可以使基于VNC平台的远程播放流媒体的性能得到提高,用户体验获得提升。