基于云计算的虚拟机与客户端间视频重定向方法

文档序号:7999570阅读:234来源:国知局
基于云计算的虚拟机与客户端间视频重定向方法
【专利摘要】本发明揭示了一种基于云计算的虚拟机与客户端间视频重定向方法,在虚拟机端不对视频数据进行解码,而是将视频数据进行分离,然后通过UDP用户数据包协议等方式将其发送到客户端。对于虚拟机来说,在视频播放过程中,仅仅完成媒体文件的分离以及数据报的发送工作,负载相对较低,数据传输的效率很高。客户端收到视频、音频数据后再对其进行解码,同时通过音频数据的时间戳来进行音视频同步,通过客户端的硬件资源进行视频显示。
【专利说明】基于云计算的虚拟机与客户端间视频重定向方法

【技术领域】
[0001]本发明涉及云计算领域,特别涉及一种基于云计算的虚拟机与客户端间视频重定向方法。

【背景技术】
[0002]云计算是当前计算模型的一次重要革新。通过将各种互联计算资源进行有效整合并实现多层次的虚拟化与抽象,云计算有效地将大规模计算资源以可靠服务的形式提供给用户,从而将用户从复杂的底层硬件逻辑、软件栈与网络协议中解放出来。更重要的是,云计算带来的服务整合与按需供给将大大提高当前计算资源的利用率,达到降低成本,减少能耗的目的。
[0003]当今的服务器所集成的显卡一般能力较弱且不支持视频的硬件解码,视频在远程虚拟机中播放需要软件解码;未来服务器可能加入先进的图形处理器(GPU),但先进的GPU对多路视频的硬件解码支持非常有限(现在最多两路);并且解码后的图像码流急剧放大,传输到本地显示需要更大的网路带宽的开销。所以需要提供一种视频传输技术,使虚拟机和客户端之间可以高效便捷地进行视频数据的传输并将向视频重定向。


【发明内容】

[0004]本发明的目的是提供一种基于云计算的虚拟机与客户端间视频重定向方法,解决现有技术存在的缺陷和不足。
[0005]本发明提供一种基于云计算的虚拟机与客户端间视频重定向方法,包括以下步骤:
将视频在虚拟机上分离成视频流和音频流,再将所述视频流分离成视频头与视频帧;通过云桌面协议主控通道获取客户端与虚拟机对应的网络地址,建立客户端与虚拟机的数据传输通道;
通过UDP用户数据包协议将所述分离的视频、音频数据从所述数据传输通道传输到客户端;
获取虚拟机上的视频显示窗口数据,并将其通过云桌面协议主控通道传输给客户端; 在客户端将传输过来的视频数据和音频流数据解码为可直接显示的数据;
在客户端将音频流的时间戳作为音频和视频同步的标准,通过客户端的硬件实现视频的显示。
[0006]所述客户端的解码步骤还包括:通过分析从虚拟机传输过来的视频头,初始化客户端的解码器,将每帧视频数据输入到解码器,通过解码后输出可以直接显示的数据。
[0007]所述客户端的显示步骤还包括:将音频流的时间戳作为音频和视频同步的标准,通过从虚拟机传递到客户端的坐标位置,将解码后的视频图像显示在客户端。
[0008]所述虚拟机上的视频分离通过设置在虚拟机中的视频播放器进行的,分离后的数据中,所述音频流为编码后的音频流,所述视频帧为编码后的视频帧。
[0009]所述获取的虚拟机上的视频显示窗口数据,包括视频显示的窗口坐标、视频显示的坐标、播放进度及其他矩形数据。
[0010]所述视频头用来描述视频的特征参数,包括视频编码标准、视频码率、长宽参数。
[0011]所述虚拟机架设在云计算服务器上,虚拟机与服务器之间信号通道双向通讯。
[0012]所述云桌面协议主控通道是虚拟机通过因特网与客户端进行通信与控制的信号通道。
[0013]所述客户端与虚拟机的数据传输通道是虚拟机通过因特网向客户端传输视频流、音频流的数据通道。
[0014]本发明的特点是在虚拟机端不对视频数据进行解码,而是将视频数据进行分离,然后通过UDP用户数据包协议等方式将其发送到客户端。对于虚拟机来说,在视频播放过程中,仅仅完成媒体文件的分离以及数据报的发送工作,负载相对较低,数据传输的效率很高。客户端收到视频、音频数据后再对其进行解码,同时通过音频数据的时间戳来进行音视频同步,通过客户端的硬件资源进行视频显示。

【专利附图】

【附图说明】
[0015]图1是本发明流程示意图;
图2是本发明实施例的框架示意图;
图3是本发明实施例的数据流向示意图;
图4是本发明实施例的流程原理示意图。

【具体实施方式】
[0016]下面结合附图和实施方式进一步说明本发明的技术方案。
[0017]参见图1,本发明提供一种基于云计算的虚拟机与客户端间视频重定向方法,包括以下步骤:
Al、将视频在虚拟机上分离成视频流和音频流,再将所述视频流分离成视频头与视频帧。
[0018]作为一实施例,所述虚拟机上的视频分离通过设置在虚拟机中的视频播放器进行的。媒体播放器的播放的过程都是将媒体文件分离成视频流与音频流,而后将视频流分离成视频头和一帧帧编码过的视频数据,而后媒体播放器并不对视频数解码,而是将视频数据通过UDP用户数据包协议等方式发送到客户端。对于虚拟机来说,在视频播放过程中,仅仅完成媒体文件的分离以及数据报的发送工作,负载相对较低。
[0019]A2、通过云桌面协议主控通道获取客户端与虚拟机对应的网络地址,建立客户端与虚拟机的数据传输通道。
[0020]A3、通过UDP用户数据包协议将所述分离的视频、音频数据从所述数据传输通道传输到客户端。
[0021]视频流和音频流的传输:本实施例中,传送的视频流是编码过的,网络占用比解码过后再传送到客户端要小得多。在本实施例中,根据视频可以用不着太严格的校验的特点,使用用户数据包协议(UDP ),能够降低网络占用。
[0022]A4、获取虚拟机上的视频显示窗口数据,并将其通过云桌面协议主控通道传输给客户端。
[0023]获取视频显示窗口数据:本实施例中,从媒体播放器中取得视频显示的窗口坐标、视频显示的坐标以及其他矩形,并将这些数据发送到客户端,作为下一步客户端的视频数据显示。
[0024]A5、在客户端将传输过来的视频数据和音频流数据解码为可直接显示的数据。
[0025]作为一实施例,A5步骤还包括:通过分析从虚拟机传输过来的视频头,初始化客户端的解码器,将每帧视频数据输入到解码器,通过解码后输出可以直接显示的数据。
[0026]A6、在客户端将音频流的时间戳作为音频和视频同步的标准,通过客户端的硬件实现视频的显示。
[0027]作为一实施例,A6步骤还包括:将音频流的时间戳作为音频和视频同步的标准,通过从虚拟机传递到客户端的坐标位置,将解码后的视频图像显示在客户端。
[0028]参见图4,作为一实施例,其流程原理包含如下几个方面:
S210、媒体文件的分离与分析:媒体播放器的播放的过程都是将媒体文件分离成视频流与音频流,再将视频流分离成视频头和一帧帧编码过的视频数据,而后媒体播放器并不对视频数解码,而是将视频数据通过UDP等方式发送到客户端。对于虚拟机来说,在视频播放过程中,仅仅完成媒体文件的分离以及数据报的发送工作,负载相对较低。
[0029]S220、视频流和音频流的传输:本实施例中,传送的视频流是编码过的,网络占用比解码过后再传送到客户端要小得多;在实施例中,根据视频可以用不着太严格的校验的特点,可使用用户数据包协议(UDP ),能够降低网络占用。
[0030]S230、视频流的解码和音频流的解码:本实施例中,利用本地的CPU资源或者硬件视频解码其对视频流进行解码;对音频流数据,也利用本地的CPU资源来解码。
[0031]S240、获取视频显示窗口数据:本实施例中,从媒体播放器中取得视频显示的窗口坐标、视频显示的坐标以及其他矩形,并将这些数据发送到客户端,作为下一步的视频数据显不O
[0032]S250、解码后的视频数据显示和音频流的播放:本实施例中,利用音频流的时间戳作为音视频同步的标准,结合S230步,对未解码视频进行丢帧的策略来提高用户体验,在实施例中,根据客户端CPU的使用状况动态调整每帧视频解码的最大时间。
[0033]参见图2,本发明是通过图2的框架来实现的,虚拟机102架设在服务器101上,虚拟机102与服务器101之间通过信号通道双向通讯(见服务器101和虚拟机102间的箭头)。主控通道107是云桌面协议主控通道,也是虚拟机102通过因特网104与客户端105之间的通信与控制的信号通道。数据传输通道106是通过云桌面协议主控通道107获取客户端105与虚拟机102对应的网络地址(IP地址),建立的客户端105与虚拟机102的数据传输通道,也是虚拟机102通过因特网104向客户端105传输视频流、音频流的数据通道。
[0034]参见图2和图3,作为一实施例,所述虚拟机102上的视频分离通过设置在虚拟机102中的视频播放器103进行的,分离后的数据中,所述音频流为编码后的音频流,所述视频帧为编码后的视频帧。所述获取的虚拟机102上的视频显示窗口数据,包括视频显示的窗口坐标、视频显示的坐标、播放进度及其他矩形数据。
[0035]作为一实施例,所述视频头用来描述视频的特征参数,包括视频编码标准、视频码率、长宽参数。
[0036]具体应用中,作为一个应用,服务器可采用S400 R710戴尔服务器:英特尔至强处理器 X5650 2.66GHz,双通路中央处理器(CPU),96GB 1333MHz RDIMM 内存;ITB SAS 硬盘;两个5709C双端口千兆以太网);可以虚拟40台以上虚拟机。客户终端可使用X86双核1.6GHZ中央处理器,不支持视频的硬件解码和显示。客户终端也可以使用飞思卡尔半导体Freescale 1.MX53 800GHZ 中央处理器,支持MPEG2/4, H264, VC-1, WMV9视频的硬件解码和显示。
[0037]本【技术领域】中的普通技术人员应当认识到,以上的实施方式仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上实施方式的变化、变型都将落在本发明的权利要求书范围内。
【权利要求】
1.一种基于云计算的虚拟机与客户端间视频重定向方法,其特征在于,包括以下步骤: 将视频在虚拟机上分离成视频流和音频流,再将所述视频流分离成视频头与视频帧; 通过云桌面协议主控通道获取客户端与虚拟机对应的网络地址,建立客户端与虚拟机的数据传输通道; 通过UDP用户数据包协议将所述分离的视频、音频数据从所述数据传输通道传输到客户端; 获取虚拟机上的视频显示窗口数据,并将其通过云桌面协议主控通道传输给客户端; 在客户端将传输过来的视频数据和音频流数据解码为可直接显示的数据; 在客户端将音频流的时间戳作为音频和视频同步的标准,通过客户端的硬件实现视频的显示。
2.如权利要求1所述的方法,其特征在于,所述客户端的解码步骤还包括:通过分析从虚拟机传输过来的视频头,初始化客户端的解码器,将每帧视频数据输入到解码器,通过解码后输出可以直接显示的数据。
3.如权利要求1所述的方法,其特征在于,所述客户端的显示步骤还包括:将音频流的时间戳作为音频和视频同步的标准,通过从虚拟机传递到客户端的坐标位置,将解码后的视频图像显示在客户端。
4.如权利要求1至3任一项所述的方法,其特征在于,所述虚拟机上的视频分离通过设置在虚拟机中的视频播放器进行的,分离后的数据中,所述音频流为编码后的音频流,所述视频帧为编码后的视频帧。
5.如权利要求4所述的方法,其特征在于,所述获取的虚拟机上的视频显示窗口数据,包括视频显示的窗口坐标、视频显示的坐标、播放进度及其他矩形数据。
6.如权利要求5所述的方法,其特征在于,所述视频头用来描述视频的特征参数,包括视频编码标准、视频码率、长宽参数。
7.如权利要求6所述的方法,其特征在于,所述虚拟机架设在云计算服务器上,虚拟机与服务器之间信号通道双向通讯。
8.如权利要求7所述的方法,其特征在于,所述云桌面协议主控通道是虚拟机通过因特网与客户端进行通信与控制的信号通道。
9.如权利要求8所述的方法,其特征在于,所述客户端与虚拟机的数据传输通道是虚拟机通过因特网向客户端传输视频流、音频流的数据通道。
【文档编号】H04L29/08GK104168486SQ201310186929
【公开日】2014年11月26日 申请日期:2013年5月20日 优先权日:2013年5月20日
【发明者】雷州, 阳海华, 翁树华 申请人:上海范氏科技投资发展集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1