一种基于远程桌面呈现协议的视频重定向方法及系统与流程

文档序号:11961425阅读:675来源:国知局
一种基于远程桌面呈现协议的视频重定向方法及系统与流程

本发明属于计算机领域,涉及一种视频重定向方法,尤其是涉及一种基于远程桌面呈现协议的视频重定向方法及系统。



背景技术:

现有的远程呈现协议如Redhat的SPICE协议对视频进行了一些优化,通过在SPICE协议层采用合适的压缩、解压缩算法来降低带宽需求,达到比较好的用户体验。目前针对视频优化的技术,也有些公司采用在协议层进行压缩、瘦客户端进行解压缩(软件解压/硬件解压)。上述方法虽然也有很好的用户体验,但先解压缩再压缩的算法对服务器的CPU开销是巨大的。

基于虚拟化的远程桌面呈现协议在进行视频播放时的数据流向如图1所示,其中的解码器及颜色空间转换两个模块是虚拟机内播放器的组件,涉及到的视频解码算法对CPU的消耗很大,这就限制了能在单台服务器上同时在线的虚拟机实例的数目。

输入模块从介质读取影片文件,解复用模块将数据流分解为音频流和视频流,有些还有字幕流。解码器负责对音频及视频进行解码。解码后的输出数据可能因显卡的不同而进行颜色空间的转换,之后交由虚拟显卡进行显示。Hypervisor中对应的后端驱动在截获显示指令及数据后,对数据进行压缩,之后由远程桌面呈现协议送至瘦客户端。瘦客户端在对数据进行解压后输出至本地显示设备。

纵观整个过程,视频码流的解码以及远程桌面协议中对数据的再压缩对CPU的消耗都比较大,这极大的影响了单台服务器上能够同时运行的实例个数。

现有的远程桌面呈现协议针对视频的优化基本都是局限于协议本身。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种有效降低服务器带宽及计算能力、提高用户在观看高清视频时的体验的基于远程桌面呈现协议的视频重定向方法及系统。

本发明的目的可以通过以下技术方案来实现:

一种基于远程桌面呈现协议的视频重定向方法,包括以下步骤:

获取媒体播放器的视频文件;

对所述视频文件进行码流分离,向瘦客户端发送视频流的解码请求,所述解码请求由构造的虚拟解码器向瘦客户端发送,所述虚拟解码器为瘦客户端中的本地解码器的代理;

判断是否收到瘦客户端的可解码反馈,若是,则通过远程桌面呈现协议将视频流和播放参数发送给瘦客户端进行解码后显示,若否,则通过媒体播放器进行解码。

对所述视频文件进行码流分离具体为:将视频文件分解成视频流、音频流和/或字幕流。

所述解码请求包括视频流格式。

所述瘦客户端的可解码反馈根据解码请求产生,当解码请求中的视频流格式与瘦客户端匹配时,则生成可解码反馈。

所述播放参数包括播放窗口大小、播放窗口位置和片源基本信息。

一种基于远程桌面呈现协议的视频重定向系统,包括依次连接的虚拟机服务器、虚拟机监控器和瘦客户端,所述虚拟机服务器包括:

输入模块,用于读取待播放的视频文件;

解复用模块,用于将视频文件分解成视频流、音频流和/或字幕流;

虚拟解码器,构建于媒体播放器中,用于截取待播放的视频流,并生成解码请求,在获取瘦客户端的可解码反馈后发出视频流和播放参数;

虚拟设备,用于实现虚拟解码器与虚拟机监控器间的通讯;

所述瘦客户端包括:

本地解码器,用于对接收到的视频流和播放参数进行解码,并输出显示;

所述虚拟解码器为瘦客户端中的本地解码器的代理。

所述虚拟机监控器通过远程桌面呈现协议与瘦客户端实现通讯。

所述解码请求包括视频流格式。

所述瘦客户端的可解码反馈根据解码请求产生,当解码请求中的视频流格式与瘦客户端匹配时,则生成可解码反馈。

所述播放参数包括播放窗口大小、播放窗口位置和片源基本信息。

所述本地解码器为硬件解码器或软件解码器。

本发明的关键点在于构造虚拟解码器,其用于构造虚拟机与宿主机通信的数据通道以及远程桌面呈现协议视频码流的传输通道。在数据传送过程中,对视频数据流进行分离处理,即在虚拟机内由虚拟解码器对所有数据进行分析后,获得视频数据流并通过远程桌面呈现协议视频码流的传输通道传送到瘦客户端进行解码,大大减轻对服务器的性能、带宽的要求,减轻了服务器端的计算消耗。

与现有技术相比,本发明具有以下优点:

1)本发明通过特定虚拟设备构造一个虚拟解码器,在虚拟机服务器内由虚拟解码器对所有数据进行分析后,获得视频数据流并通过远程桌面呈现协议视频码流的传输通道传送到瘦客户端进行解码,将耗CPU的解码运算下放至瘦客户端,大大减轻对服务器的性能、带宽的要求,有效得降低了服务器的CPU消耗,降低了数据带宽,极大地提高了高清视频播放时的用户体验。

2)本发明充分发挥客户端的硬件处理能力,将耗费计算资源的解码功能下传至客户端进行处理,能有效降低服务器的计算及带宽消耗,也不会大量增加客户端的计算消耗。

附图说明

图1为传统的视频播放时的视频流图;

图2为本发明系统的架构示意图;

图3为本发明视频播放时的视频流图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图2所示,本实施例提供基于远程桌面呈现协议的视频重定向系统,包括依次连接的虚拟机服务器1、虚拟机监控器2和瘦客户端3,虚拟机监控器2通过远程桌面呈现协议与瘦客户端3实现通讯。

其中,虚拟机服务器1包括输入模块11、解复用模块12、虚拟解码器13和虚拟设备14。输入模块11用于读取待播放的视频文件;解复用模块12用于将视频文件分解成视频流、音频流和/或字幕流。虚拟解码器13构建于媒体播放器中,用于截取待播放的视频流,并生成包括视频流格式的解码请求,在获取瘦客户端3的可解码反馈后发出视频流和播放参数。瘦客户端的可解码反馈根据解码请求产生,当解码请求中的视频流格式与瘦客户端匹配时,则生成可解码反馈。播放参数包括播放窗口大小、播放窗口位置和片源基本信息(如长度、宽度等信息)。虚拟设备14用于实现虚拟解码器13与虚拟机监控器2间的通讯。

瘦客户端3包括本地解码器31,用于对接收到的视频流和播放参数进行解码,并输出显示,本地解码器31可为硬件解码器或软件解码器。

虚拟解码器13为瘦客户端3中的本地解码器31的代理,它本身并不具有解码功能,只有数据转发功能。视频码流经由虚拟设备到虚拟机监控器(Hypervisor),再由远程呈现协议送至瘦客户端,由客户端使用合适的解码器对码流进行解码,进而刷到显示设备上。

如图3所示,利用上述基于远程桌面呈现协议的视频重定向系统的视频重定向方法,包括以下步骤:

输入模块获取媒体播放器的视频文件;

解复用模块对视频文件进行码流分离,向瘦客户端发送视频流的解码请求,解码请求由构造的虚拟解码器向瘦客户端发送;

判断是否收到瘦客户端的可解码反馈,若是,则通过远程桌面呈现协议及其驱动将视频流和播放参数发送给瘦客户端进行解码后输出刷至显示设备上,若否,则通过媒体播放器进行解码。

上述视频重定向方法是基于虚拟化技术,为播放器提供一组伪解码器(虚拟解码器),播放器在播放视频需要解码时,由该伪解码器截获码流,再通过远程桌面呈现协议将码流传送至客户端,解码功能由客户端的硬件模块或软件来进行,客户端负责解码之后的数据处理(输出显示)。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1