论文部分内容阅读
随着云计算的发展,IT基础设施的交付使用模式已经深入人心,计算机科学的又一次革命已经到来。在云计算的浪潮下,虚拟桌面技术蓬勃发展,服务端统一配置管理,客户端远程连接到虚拟桌面的方案成为众多虚拟桌面实现的基本原理。而虚拟桌面多媒体应用尤其是高清视频播放成为虚拟桌面实现过程中的一大难题。VNC(Virtual Network Computing)是一种使用RFB(Remote Framebuffer)协议的屏幕画面分享及远程操作软件,其跨平台、低带宽、低CPU占用率特点使它成为一款优秀的远程桌面分享软件。然而,RFB协议对视频的支持不好,无法满足在云平台上播放视频,客户端收看视频的需求。本文提出的目的就是为了改善这一问题。文章首先对VNC的消息协议、屏幕刷新请求方式和图像编码方式做出了介绍,同时分析了它在刷新请求方式和视频图像编码上的不足。紧接着提出了改进思路:针对屏幕刷新速度慢、刷新受延迟影响的问题本文采取了服务端推送的更新策略;针对图像编码压缩率低、占用带宽太高的问题本文则采取H.264的编码方案。对于改进中的一些细节问题本文也提出了创造性的解决方案:第一,提出了桌面模式和视频模式的概念,以减少没有视频播放时的资源消耗,同时优化视频播放时的体验;第二,提出了帧率自适应方案,提高程序对不同配置机器的适应性,在低配置机器上保证较低的CPU占用率,在高配置机器上充分发挥机器性能;之后,本文在TightVNC程序源码的基础上做出了实现,添加了模式切换器、服务端推送模块、帧率自适应模块、编码模块和解码模块。最后,针对改进后的VNC进行了测试,包括功能测试和性能测试。其中性能测试部分在CPU占用率、带宽占用率和流畅度三个指标上与TightVNC进行了对比,最终得出结论:改进后的VNC播放视频时在带宽占用和流畅度方面都有了大幅度的进步,但CPU占用方面不如TightVNC。综合所有测试结果,改进后的VNC能够适用于云平台上的视频播放。