一种基于反馈丢帧算法改善SPICE视频播放方法技术

技术编号:21604961 阅读:24 留言:0更新日期:2019-07-13 18:02
一种基于反馈丢帧算法改善SPICE视频播放方法,包括:SPICE程序通过QXL设备提供VDI接口,从QXL命令树获取图形更新指令,并将其加入到SPICE服务端构建的图形处理流中,同时SPICE服务端也用于视频流的侦测,其中,所述QXL设备是QEMU虚拟机的一个图形处理设备,兼容VGA。本发明专利技术与优化后丢帧算法结合,能够提升视频流在网络中传输的性能。本发明专利技术将更多的网络带宽分配给当前视频流,能有效降低视频的丢帧率。本发明专利技术能有效节约网络带宽。优化后的视频丢帧算法既减轻了网络带宽压力,也能降低视频丢帧率。

Improvement of SPICE Video Playing Method Based on Feedback Frame Loss Algorithms

【技术实现步骤摘要】
一种基于反馈丢帧算法改善SPICE视频播放方法
本专利技术涉及一种基于反馈丢帧算法改善SPICE视频播放方法,属于高质量视频播放的

技术介绍
针对SPICE远程桌面视频播放质量问题,本专利技术提出在原有架构基础上实现一种将视频流占用网络带宽的比例因子与反馈丢帧算法相结合的策略,该方案能够根据不同网络带宽选取不同丢帧算法,有效减轻网络带宽对SPICE桌面视频传输过程中的延迟和抖动问题,同时也可以减少视频流再网络传输过程中的丢帧。提高SPICE客户端上播放视频的流畅度。传统远程桌面传输协议工作在虚拟机中,其不能直接使用服务器硬件资源,其对应的网络传输数据量巨大。
技术实现思路
针对现有技术的不足,本专利技术提供一种基于反馈丢帧算法改善SPICE视频播放方法。技术术语解释:SPICE协议,SPICE是RedHat公司针对KVM虚拟化产品推出的一种桌面传输协议,用于在服务器与远程计算机上部署虚拟桌面的一种技术。所述SPICE协议架构分为三部分:设备驱动器:存在于每个虚拟桌面内的组件,包含如QXL驱动器、VirtIO驱动;SPICE设备:存在于KVM虚拟化层的组件,如QXL设备;SPICE客户端:存在于终端设备上的组建,可以是瘦客户机或专用的PC,用于接入虚拟桌面。本专利技术的技术方案如下:一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,包括:SPICE程序通过QXL设备提供VDI接口,从QXL命令树获取图形更新指令,并将其加入到SPICE服务端构建的图形处理流中,同时SPICE服务端也用于视频流的侦测,其中,所述QXL设备是QEMU虚拟机的一个图形处理设备,兼容VGA。根据本专利技术优选的,当应用程序发生图形更新时,操作系统图形引擎会调用QXL设备驱动程序,将操作系统绘图指令转为QXL绘图指令,并放入QXL命令树中,命令树位于QXL设备的内存中,并被直接映射到物理内存区域。根据本专利技术优选的,当QEMU虚拟机显示内容发生更新时,QXL驱动将系统绘图命令转换未QXL命令发送至QXL设备;QEMU虚拟机在监听到QXL设备更新时,则Red调度向Red-Worker发送消息;QXL设备通过QXLWorker发送同步命令;Red-Worker通过QXL接口获取异步QXL命令;Red-Worker调用QXL/VDI接口读取QXL命令,QXL命令经Red-Worker处理后转换为SPICE协议消息,通过对应的Channel发送到客户端,客户端调用平台相关RedDrawable做图形渲染。根据本专利技术优选的,在所述Red-Worker中增加RED_STRAM_CHANNEL_CAPACITY和反馈丢帧算法,其中RED_STRAM_CHAN_NEL_CAPACITY表示当前视频流占用网络带宽的比例。根据本专利技术优选的,视频流占用网络带宽比是当前正在传输的视频流占用总的网络带宽的比值,该值变化范围为[0,1]。当正在传输的视频流没有丢帧,增加客户端帧数达到更好的视频效果,同时可以减少该值,降低带宽。其中视频丢帧率:drop_factor=(agent->frames-agent->drops)/agent->frames因此,当客户端帧数一定的情况下,只有减少客户端丢帧数才能减少视频丢帧率。将视频流占用网络带宽的比例值与视频丢帧率相结合。根据本专利技术优选的,当视频丢帧率增加时,动态增加网络带宽比例值。根据本专利技术优选的,当前视频丢帧率减小到设定值,降低视频流占用网络带宽的比例值。本专利技术的技术优势如下:SPICE协议本身运行在服务器中可以直接使用服务器硬件资源,SPICE协议能够自动判断和调整图像处理位置,如果用户终端性能足够就尽可能传输图像处理命令而不是显示渲染后的画面,减少网络传输数据量。本专利技术与优化后丢帧算法结合,能够提升视频流在网络中传输的性能。本专利技术将更多的网络带宽分配给当前视频流,能有效降低视频的丢帧率。本专利技术能有效节约网络带宽。优化后的视频丢帧算法既减轻了网络带宽压力,也能降低视频丢帧率。附图说明图1是本专利技术中视频优化后处理框架图。具体实施方式下面结合实施例和说明书附图对本专利技术做详细的说明,但不限于此。实施例、一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,包括:SPICE程序通过QXL设备提供VDI接口,从QXL命令树获取图形更新指令,并将其加入到SPICE服务端构建的图形处理流中,同时SPICE服务端也用于视频流的侦测,其中,所述QXL设备是QEMU虚拟机的一个图形处理设备,兼容VGA。此方案可以提高远程桌面性能,增强图形处理能力。当应用程序发生图形更新时,操作系统图形引擎会调用QXL设备驱动程序,将操作系统绘图指令转为QXL绘图指令,并放入QXL命令树中,命令树位于QXL设备的内存中,并被直接映射到物理内存区域。当QEMU虚拟机显示内容发生更新时,QXL驱动将系统绘图命令转换未QXL命令发送至QXL设备;QEMU虚拟机在监听到QXL设备更新时,则Red调度向Red-Worker发送消息;QXL设备通过QXLWorker发送同步命令;Red-Worker通过QXL接口获取异步QXL命令;Red-Worker调用QXL/VDI接口读取QXL命令,QXL命令经Red-Worker处理后转换为SPICE协议消息,通过对应的Channel发送到客户端,客户端调用平台相关RedDrawable做图形渲染。在所述Red-Worker中增加RED_STRAM_CHANNEL_CAPACITY和反馈丢帧算法,其中RED_STRAM_CHAN_NEL_CAPACITY表示当前视频流占用网络带宽的比例,将它与优化后丢帧算法结合,能够提升视频流在网络中传输的性能。视频流占用网络带宽比是当前正在传输的视频流占用总的网络带宽的比值,该值变化范围为[0,1];在SPICE视频传输协议中是一个固定值,所以不能跟据网络带宽情况进行带宽的动态分配。当正在传输的视频流没有丢帧,增加客户端帧数达到更好的视频效果,同时可以减少该值,降低带宽。其中视频丢帧率:drop_factor=(agent->frames-agent->drops)/agent->frames因此,当客户端帧数一定的情况下,只有减少客户端丢帧数才能减少视频丢帧率。将视频流占用网络带宽的比例值与视频丢帧率相结合。当视频丢帧率增加时,动态增加网络带宽比例值。此方案将更多的网络带宽分配给当前视频流,能有效降低视频的丢帧率。当前视频丢帧率减小到设定值,降低视频流占用网络带宽的比例值。此方案能有效节约网络带宽。优化后的视频丢帧算法既减轻了网络带宽压力,也能降低视频丢帧率。本文档来自技高网...

【技术保护点】
1.一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,包括:SPICE程序通过QXL设备提供VDI接口,从QXL命令树获取图形更新指令,并将其加入到SPICE服务端构建的图形处理流中,同时SPICE服务端也用于视频流的侦测,其中,所述QXL设备是QEMU虚拟机的一个图形处理设备,兼容VGA。

【技术特征摘要】
1.一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,包括:SPICE程序通过QXL设备提供VDI接口,从QXL命令树获取图形更新指令,并将其加入到SPICE服务端构建的图形处理流中,同时SPICE服务端也用于视频流的侦测,其中,所述QXL设备是QEMU虚拟机的一个图形处理设备,兼容VGA。2.根据权利要求1所述的一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,当应用程序发生图形更新时,操作系统图形引擎会调用QXL设备驱动程序,将操作系统绘图指令转为QXL绘图指令,并放入QXL命令树中,命令树位于QXL设备的内存中,并被直接映射到物理内存区域。3.根据权利要求1所述的一种基于反馈丢帧算法改善SPICE视频播放方法,其特征在于,当QEMU虚拟机显示内容发生更新时,QXL驱动将系统绘图命令转换未QXL命令发送至QXL设备;QEMU虚拟机在监听到QXL设备更新时,则Red调度向Red-Worker发送消息;QXL设备通过QXLWorker发送同步命令;Red-Worker通过QXL接口获取异步QXL命令;...

【专利技术属性】
技术研发人员:侯亚杰马双涛刘毅枫李光涛
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1