CN107920259A - 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质 - Google Patents

虚拟化平台视频播放加速方法、虚拟机服务器及存储介质 Download PDF

Info

Publication number
CN107920259A
CN107920259A CN201711062626.5A CN201711062626A CN107920259A CN 107920259 A CN107920259 A CN 107920259A CN 201711062626 A CN201711062626 A CN 201711062626A CN 107920259 A CN107920259 A CN 107920259A
Authority
CN
China
Prior art keywords
video
presented
way
codes
intercepting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711062626.5A
Other languages
English (en)
Inventor
陈云
郭炳梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201711062626.5A priority Critical patent/CN107920259A/zh
Publication of CN107920259A publication Critical patent/CN107920259A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used

Abstract

本发明公开了一种虚拟化平台视频播放加速方法、虚拟机服务器及存储介质。所述方法包括:虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。本发明通过虚拟机服务器将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对所述视频码进行视频处理,从而降低虚拟机服务器性能消耗,提高了虚拟化平台视频播放的速度。

Description

虚拟化平台视频播放加速方法、虚拟机服务器及存储介质
技术领域
本发明涉及虚拟化平台视频播放领域,尤其涉及一种虚拟化平台视频播放加速方法、虚拟机服务器及存储介质。
背景技术
当前,由于在无显卡的虚拟化平台的性能限制,在虚拟机中打开多路网络视频监控的时候,多路视频的播放会非常的卡顿,体验会非常不好。
在虚拟化平台,目前的主要解决方案分为直通或VGPU(Virtual GraphicsProcessing Unit,虚拟化图形处理器)两种。
直通模式是一种利用VFIO(Virtual Function I/O,虚拟化功能输入输出)技术,将物理的GPU(Graphics Processing Unit,图形处理器)核心,穿透到一台虚拟机中进行使用的技术。直通的优势是是性能,可以接近显卡核心的最高性能,可以近似为一张真实显卡,但受限于PCI(Peripheral Component Interconnect,外部设备互连)插槽和成本的限制,单服务器最多只会插入2张显卡,即只能支持2~8个用户。
VGPU是一种在厂商支持下,可以将一张显卡划分为多张虚拟显卡,并通过VFIO进行穿透的方案。VGPU由于近似于直接访问真实显卡,兼容性也是非常好的,接近物理显卡。但是VGPU方案本身存在如下劣势:VGPU的使用成本很高,如显卡厂商针对VGPU要额外收取授权费用,根据硬件配置不同每VM(Virtual Machine,虚拟机)的授权费从150美元到450美元不等;VGPU方案可能不支持硬件解码加速;部分视频监控本身就不使用硬件解码,而直接使用的软解。
上述信息仅用于辅助理解本发明的技术方案,并不代表承认上述信息是现有技术。
发明内容
本发明的主要目的在于提供一种虚拟化平台视频播放加速方法、虚拟机服务器及存储介质,旨在解决上述通过虚拟化平台播放多路视频会卡顿的技术问题。
为实现上述目的,本发明提供一种虚拟化平台视频播放加速方法,所述虚拟化平台视频播放加速方法包括以下步骤:
虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;
将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。
优选地,所述截获至少一路待展示视频的视频码,具体包括:
调用包括视频码对应的函数的钩子程序,以使所述钩子程序根据所述函数查找待展示视频的视频码,并拦截查找到的待展示视频的视频码。
优选地,所述截获至少一路待展示视频的视频码,具体包括:
调用包括函数指针的回调函数,以使所述回调函数根据所述函数指针查找待展示视频的视频码,并反馈查找到的待展示视频的视频码。
优选地,所述截获至少一路待展示视频的视频码之后,所述方法还包括:
将截获的待展示视频的视频码发送至解码设备,以使所述解码设备对接收到的视频码进行解码,并将解码获得的解码视频发送至用户设备。
优选地,所述将截获的待展示视频的视频码发送至解码设备之前,所述方法还包括:
获取各用户设备分别对应的待展示视频的路数,判断所述路数是否超过第一预设路数阈值;
在所述路数超过第一预设路数阈值时,执行所述将截获的待展示视频的视频码发送至解码设备的步骤。
优选地,所述截获至少一路待展示视频的视频码之前,所述方法还包括:
检测当前视频解码速度,判断所述视频解码速度是否低于预设解码速度;
在所述视频解码速度低于预设解码速度时,执行所述截获至少一路待展示视频的视频码的步骤。
优选地,所述截获至少一路待展示视频的视频码之前,所述方法还包括:
获取所述待展示视频的总路数,判断所述总路数是否超过第二预设路数阈值;
在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤。
优选地,所述在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤,具体包括:
在所述总路数超过第二预设路数阈值时,计算所述总路数与所述第二预设路数阈值之间的差值,将所述差值作为待截获路数;
截获数量为所述待截获路数的待展示视频的视频码。
此外,为实现上述目的,本发明还提出一种虚拟机服务器,所述虚拟机服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟化平台视频播放加速程序,所述虚拟化平台视频播放加速程序配置为实现如上文所述的虚拟化平台视频播放加速方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有虚拟化平台视频播放加速程序,所述虚拟化平台视频播放加速程序被处理器执行时实现如上文所述的虚拟化平台视频播放加速方法的步骤。
本发明通过虚拟机服务器将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对所述视频码进行视频处理,从而降低虚拟机服务器性能消耗,提高了虚拟化平台视频播放的速度。
附图说明
图1为本发明虚拟化平台视频播放加速方法实施例方案涉及的硬件运行环境的虚拟机服务器结构示意图;
图2为本发明虚拟化平台视频播放加速方法第一实施例的流程示意图;
图3为本发明虚拟化平台视频播放加速方法第二实施例的流程示意图;
图4为本发明虚拟化平台视频播放加速方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的虚拟机服务器结构示意图。
如图1所示,该虚拟机服务器可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对虚拟机服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟化平台视频播放加速程序。
在图1所示的虚拟机服务器中,网络接口1004主要用于连接外部网络,与外部网络进行数据通信;用户接口1003主要用于连接用户设备,与用户设备进行数据通信,所述虚拟机服务器通过处理器1001调用存储器1005中存储的虚拟化平台视频播放加速程序,并执行以下操作:
虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;
将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
调用包括视频码对应的函数的钩子程序,以使所述钩子程序根据所述函数查找待展示视频的视频码,并拦截查找到的待展示视频的视频码。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
调用包括函数指针的回调函数,以使所述回调函数根据所述函数指针查找待展示视频的视频码,并反馈查找到的待展示视频的视频码。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
将截获的待展示视频的视频码发送至解码设备,以使所述解码设备对接收到的视频码进行解码,并将解码获得的解码视频发送至用户设备。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
获取各用户设备分别对应的待展示视频的路数,判断所述路数是否超过第一预设路数阈值;
在所述路数超过第一预设路数阈值时,执行所述将截获的待展示视频的视频码发送至解码设备的步骤。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
检测当前视频解码速度,判断所述视频解码速度是否低于预设解码速度;
在所述视频解码速度低于预设解码速度时,执行所述截获至少一路待展示视频的视频码的步骤。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
获取所述待展示视频的总路数,判断所述总路数是否超过第二预设路数阈值;
在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤。
进一步地,处理器1001可以调用存储器1005中存储的虚拟化平台视频播放加速程序,还执行以下操作:
在所述总路数超过第二预设路数阈值时,计算所述总路数与所述第二预设路数阈值之间的差值,将所述差值作为待截获路数;
截获数量为所述待截获路数的待展示视频的视频码。
本实施例上述方案,通过虚拟机服务器将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对所述视频码进行视频处理,从而降低虚拟机服务器性能消耗,提高了虚拟化平台视频播放的速度。
基于上述硬件结构,提出本发明虚拟化平台视频播放加速方法实施例。
参照图2,提出本发明虚拟化平台视频播放加速方法第一实施例。
在本实施例中,所述虚拟化平台视频播放加速方法包括以下步骤:
步骤S10,虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;
可理解的是,虚拟机服务器响应于用户设备发送的远程登录请求,与所述用户设备建立远程连接;通过远程连接用户可通过用户设备对虚拟机服务器上的应用程序进行相应的操作,用户通过用户设备远程登录虚拟机服务器的虚拟操作系统,与所述用户设备建立远程连接,并对安装在该操作系统上的应用程序进行操作时,获取虚拟机服务器应用程序的相关数据。
需要说明的是,用户设备可为智能手机、IPAD或者笔记本电脑等可实现相同或者相似功能的其他用户设备,本实施例在此不作限制。
应理解的是,在多个用户设备远程登录虚拟机服务器的虚拟操作系统,对安装在该操作系统上的视频软件进行视频播放操作时,首先从外部网络获取视频码流数据,例如可从网络摄像头获取各待展示视频的视频码流数据。当打开视频路数越多的时候,需要解码渲染的视频数据量就会越大。另外根据测试,每路1080P(1080P是一种视频显示格式,外语字母P意为逐行扫描,Progressive scanning)视频的数据大小在3Mb左右,因此在客户实际千兆网卡的部署环境下,网络流量并不是性能瓶颈,所以那么所有的压力及瓶颈都在解码和渲染上了,则在视频软件对各待展示视频的视频码进行解码及渲染之前,截获至少一路待展示视频的视频码,使其不在虚拟机服务器上进行解码及渲染操作,以卸载虚拟机服务器的压力。
步骤S20,将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。
可理解的是,为了降低虚拟机服务器成本,给所述虚拟机服务器卸载压力,虚拟机服务器在对各待展示视频的视频码进行解码及渲染之前,将截获的待展示视频的视频码分别发送至对应的用户设备,将对视频码的解码及渲染转移到用户设备进行,根据用户设备硬件性能,可顺畅地播放更多路数的视频,虚拟机服务器性能消耗明显降低。例如:每台虚拟机打开监控视频软件能够播放的1080P视频可从9路左右提高到16路或者更多。在用户设备对所述视频码进行解码及渲染,获得的视频图像即可在用户设备进行显示,以实现虚拟平台的视频播放。
需要说明的是,所述截获至少一路待展示视频的视频码之后,还包括步骤:
将截获的待展示视频的视频码发送至解码设备,以使所述解码设备对接收到的视频码进行解码,并将解码获得的解码视频发送至用户设备。
可理解的是,截获的各待展示视频的视频码还可发送至解码设备,所述解码设备可以是专用的解码服务器,也可以是直接在宿主机上插上的显卡,本实施例对此不加以限制。
应理解的是,解码设备对接收到的视频码进行解码,根据解码设备的硬件性能,每台虚拟机能够顺畅地播放更多路数的视频,同时降低了虚拟机服务器性能消耗。例如:每台虚拟机打开监控视频软件能够播放的1080P视频可从9路左右提高到播放25路或更多路数的视频,且不会出现卡顿现象。将解码获得的解码视频发送至用户设备,用户设备再对解码获得的视频进行渲染,渲染后的视频进行显示,如此,也降低了用户设备的性能消耗。
在具体实现中,所述将截获的待展示视频的视频码发送至解码设备之前,还包括步骤:
获取各用户设备分别对应的待展示视频的路数,判断所述路数是否超过第一预设路数阈值;
在所述路数超过第一预设路数阈值时,执行所述将截获的待展示视频的视频码发送至解码设备的步骤。
可理解的是,在用户设备的硬件性能满足待展示视频的视频码的解码需求时,可以不借助解码设备对所述视频码进行解码,直接在用户设备进行解码及渲染处理。当用户设备待展示视频的路数较多,使得本用户设备的待展示视频的视频码的解码需求超出其硬件性能时,用户设备播放视频依旧会出现播放卡顿的现象,此时需要将待展示视频的视频码发送至解码设备进行解码。
应理解的是,所述第一预设路数阈值是根据用户设备的硬件性能而设置的用户设备能接收并解码及渲染的最多视频路数,在用户设备接收到超过所述第一预设路数阈值的路数的视频码进行解码及渲染时,播放视频会出现卡顿现象。在所述待展示视频的路数小于所述第一预设路数,则用户设备根据硬件性能,能顺畅的进行所述待展示视频的解码及渲染,播放视频不会出现卡顿现象。
需要说明的是,在至少一个用户设备对应的待展示视频的路数超过所述第一预设路数阈值时,为了避免用户设备对接收到的视频码进行解码及渲染时出现卡顿,则将待展示视频的视频码发送至解码设备,解码设备对接收到的待展示视频的视频码进行解码,获得的解码视频再发送至用户设备进行渲染及显示,从而保证了更多路数的视频播放的流畅。
本实施例中,通过虚拟机服务器将截获的各待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对所述视频码进行解码及渲染,从而将虚拟机服务器的解码压力转移到用户设备,虚拟机服务器性能消耗降低,提高了虚拟化平台视频播放的速度。
进一步地,如图3所示,基于第一实施例提出本发明虚拟化平台视频播放加速方法第二实施例。
在本实施例中,所述截获至少一路待展示视频的视频码,具体包括:
步骤S01,调用包括视频码对应的函数的钩子程序,以使所述钩子程序根据所述函数查找待展示视频的视频码,并拦截查找到的待展示视频的视频码。
应理解的是,目前市面上的视频监控厂商主要为海康威视、大华、宇视科技和华为等,经过分析,视频监控厂商都提供了软件开发工具包(Software Development Kit,SDK)的二次开发功能,本实施例中,获取视频码的方法是通过钩子(HOOK)程序软件开发工具包SDK进行劫持获取。软件开发工具包SDK中包括视频码的相关函数,调用根据视频码的相关函数构建的钩子程序,根据视频码的相关函数查找到对应的视频码,并将所述视频码截获。
在所述步骤S01之前,还包括步骤:
步骤S001,虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,检测当前视频解码速度,判断所述视频解码速度是否低于预设解码速度;
可理解的是,视频解码速度可以直接反映出虚拟机的解码能力和实际解码状况;具体地,可以通过多种手段来确定该视频解码速度,比如可以通过获取解码状态参数,当所述解码状态参数的数值不属于预设数值范围时,确定所述视频解码速度小于预设解码速度。
需要说明的是,可以根据实际需要确定所采用的解码状态参数,以用于反映出视频解码速度。比如:解码状态参数可以为虚拟机服务器中处理器的资源利用率,如果资源利用率较小(比如小于预设利用率),则说明用于视频解码的处理资源较少,并将导致视频解码速度较低;再如:解码状态参数也可以为已解码画面帧缓冲队列中已解码画面帧的数量,如果已解码画面帧的数量较小(比如小于预设数量),则在视频播放速度一定的情况下,直接表明视频解码速度较低,可能无法匹配视频播放速度。当然,也可以同时获取处理器的资源利用率和已解码画面帧的数量。
应理解的是,当解码状态参数为处理器的资源利用率时,具体可以参考:处理器的当前运行核心数和/或处理器的当前运行主频等参数;其中,当处理器的当前运行核心数小于预设核心数和/或处理器的当前运行主频小于预设运行主频时,判定为处理器的资源利用率较小。如上所述,预设解码速度可以根据实际情况而设置合适的参数值,本实施例对此不加以限制。
应理解的是,在所述视频解码速度低于预设解码速度时,说明虚拟机的解码压力过大,继续在虚拟机中进行视频码的解码及渲染,则用户设备的视频播放显示会出现卡顿。此时,将各待展示视频的视频码截获,将截获的视频码发送至用户设备或者解码设备进行解码,也就是说,可在所述视频解码速度低于预设解码速度时,执行所述截获至少一路待展示视频的视频码的步骤,从而降低虚拟机服务器的压力,降低性能消耗,降低成本。
本实施例,通过检测虚拟机服务器的当前解码速度,在视频解码速度低于预设解码速度时,说明虚拟机服务器的解码压力过大,通过调用钩子程序拦截待展示视频的视频码,将截获的视频码发送至用户设备或解码设备进行解码,从而降低了虚拟机服务器的性能消耗,在不产生额外负载开销的情况下,能播放更多路的视频,而不出现卡顿现象。
进一步地,如图4所示,基于第一实施例提出本发明虚拟化平台视频播放加速方法第三实施例。
在本实施例中,所述截获至少一路待展示视频的视频码,具体包括:
步骤S02,调用包括函数指针的回调函数,以使所述回调函数根据所述函数指针查找待展示视频的视频码,并反馈查找到的待展示视频的视频码。
应理解的是,通过软件开发工具包的二次开发功能,根据软件开发工具包提供注册回调的方式对视频码进行拦截获取。具体为,通过软件开发工具包的接口注册函数指针,所述函数指针指向待展示视频的视频码,根据函数指针构建回调函数,所述回调函数根据所述函数指针查找到待展示视频的视频码,将查找到的待展示视频的视频码进行反馈,从而实现待展示视频的视频码的截获。
在所述步骤S02之前,还包括步骤:
步骤S002,虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,获取所述待展示视频的总路数,判断所述总路数是否超过第二预设路数阈值;
在具体实现中,当虚拟机服务器中待展示视频的路数较多,播放视频会出现播放卡顿的现象。所述第二预设路数阈值是根据虚拟机服务器性能而设置的虚拟机服务器解码及渲染的最多视频路数,在虚拟机服务器解码及渲染的待展示视频的视频码的路数超过所述第二预设路数阈值的路数的视频码时,用户设备播放视频会出现卡顿现象。所以首先获取所述各待展示视频的总路数,将虚拟及服务器端的各待展示视频的总路数与所述第二预设路数阈值进行比较,在所述总路数超过第二预设路数阈值时,认定在虚拟机服务器进行视频码的解码及渲染,则用户设备播放视频会出现卡顿现象。
应理解的是,在虚拟及服务器端的待展示视频的总路数超过所述第二预设路数阈值时,说明虚拟机服务器的解码压力过大,为了避免用户设备视频播放出现卡顿,在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤。将拦截获取的所述待展示视频的视频码发送至解码设备或用户设备,解码设备或用户设备对接收到的待展示视频的视频码进行解码,从而保证了更多路数的视频在用户设备的播放的流畅。
可理解的是,所述在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤,具体包括:在所述总路数超过第二预设路数阈值时,计算所述总路数与所述第二预设路数阈值之间的差值,将所述差值作为待截获路数;截获数量为所述待截获路数的待展示视频的视频码。在待展示视频的总路数超过所述第二预设路数阈值时,对超过的路数的视频码进行截获,发送至用户设备或解码设备,即可解决视频播放不流畅的问题,虚拟机服务器可继续对未被截获的视频码进行解码及渲染,因未截获的视频码的路数为第二预设路数阈值,根据虚拟机服务器的性能,在对不超过第二预设路数阈值的视频码进行解码及渲染,不会出现视频播放卡顿的问题。
本实施例,通过获取待展示视频的总路数,在所述总路数超过第二预设路数阈值时,说明虚拟机服务器的解码压力过大,通过调用回调函数截获待展示视频的视频码,将所述视频码发送至用户设备或解码设备进行解码,从而降低了虚拟机服务器的性能消耗,在不产生额外负载开销的情况下,能播放更多路的视频,而不出现卡顿现象。
在具体实现中,通过待展示视频的总路数判断虚拟机服务器的解码压力过大后,也可调用钩子函数截获各待展示视频的视频码;同样地,通过检测当前视频解码速度确定虚拟机服务器的解码压力过大后,也可调用回调函数截获各待展示视频的视频码。
需要说明的是,上述三个实施例的应用场景,除了虚拟化平台外,还可用于视频会议或直播等其他视频场景,以实现并行解码加速,本实施例对此不加以限制。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有虚拟化平台视频播放加速程序,所述虚拟化平台视频播放加速程序被处理器执行时实现如下操作:
虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;
将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
调用包括视频码对应的函数的钩子程序,以使所述钩子程序根据所述函数查找待展示视频的视频码,并拦截查找到的待展示视频的视频码。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
调用包括函数指针的回调函数,以使所述回调函数根据所述函数指针查找待展示视频的视频码,并反馈查找到的待展示视频的视频码。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
将截获的待展示视频的视频码发送至解码设备,以使所述解码设备对接收到的视频码进行解码,并将解码获得的解码视频发送至用户设备。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
获取各用户设备分别对应的待展示视频的路数,判断所述路数是否超过第一预设路数阈值;
在所述路数超过第一预设路数阈值时,执行所述将截获的待展示视频的视频码发送至解码设备的步骤。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
检测当前视频解码速度,判断所述视频解码速度是否低于预设解码速度;
在所述视频解码速度低于预设解码速度时,执行所述截获至少一路待展示视频的视频码的步骤。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
获取所述待展示视频的总路数,判断所述总路数是否超过第二预设路数阈值;
在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤。
进一步地,所述虚拟化平台视频播放加速程序被处理器执行时还实现如下操作:
在所述总路数超过第二预设路数阈值时,计算所述总路数与所述第二预设路数阈值之间的差值,将所述差值作为待截获路数;
截获数量为所述待截获路数的待展示视频的视频码。
本实施例上述方案,通过虚拟机服务器将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对所述视频码进行视频处理,从而降低虚拟机服务器性能消耗,提高了虚拟化平台视频播放的速度。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本文中,单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图信息所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种虚拟化平台视频播放加速方法,其特征在于,所述方法包括以下步骤:
虚拟机服务器在对多个用户设备分别对应的待展示视频进行视频处理时,截获至少一路待展示视频的视频码;
将截获的待展示视频的视频码分别发送至对应的用户设备,以使所述用户设备对接收到的视频码进行视频处理,并将处理获得的视频图像进行显示。
2.如权利要求1所述的方法,其特征在于,所述截获至少一路待展示视频的视频码,具体包括:
调用包括视频码对应的函数的钩子程序,以使所述钩子程序根据所述函数查找待展示视频的视频码,并拦截查找到的待展示视频的视频码。
3.如权利要求1所述的方法,其特征在于,所述截获至少一路待展示视频的视频码,具体包括:
调用包括函数指针的回调函数,以使所述回调函数根据所述函数指针查找待展示视频的视频码,并反馈查找到的待展示视频的视频码。
4.如权利要求1~3任一项中所述的方法,其特征在于,所述截获至少一路待展示视频的视频码之后,所述方法还包括:
将截获的待展示视频的视频码发送至解码设备,以使所述解码设备对接收到的视频码进行解码,并将解码获得的解码视频发送至用户设备。
5.如权利要求4所述的方法,其特征在于,所述将截获的待展示视频的视频码发送至解码设备之前,所述方法还包括:
获取各用户设备分别对应的待展示视频的路数,判断所述路数是否超过第一预设路数阈值;
在所述路数超过第一预设路数阈值时,执行所述将截获的待展示视频的视频码发送至解码设备的步骤。
6.如权利要求1~3任一项中所述的方法,其特征在于,所述截获至少一路待展示视频的视频码之前,所述方法还包括:
检测当前视频解码速度,判断所述视频解码速度是否低于预设解码速度;
在所述视频解码速度低于预设解码速度时,执行所述截获至少一路待展示视频的视频码的步骤。
7.如权利要求1~3任一项中所述的方法,其特征在于,所述截获至少一路待展示视频的视频码之前,所述方法还包括:
获取所述待展示视频的总路数,判断所述总路数是否超过第二预设路数阈值;
在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤。
8.如权利要求7所述的方法,其特征在于,所述在所述总路数超过第二预设路数阈值时,执行所述截获至少一路待展示视频的视频码的步骤,具体包括:
在所述总路数超过第二预设路数阈值时,计算所述总路数与所述第二预设路数阈值之间的差值,将所述差值作为待截获路数;
截获数量为所述待截获路数的待展示视频的视频码。
9.一种虚拟机服务器,其特征在于,所述虚拟机服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟化平台视频播放加速程序,所述虚拟化平台视频播放加速程序配置为实现如权利要求1至8中任一项所述的虚拟化平台视频播放加速方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有虚拟化平台视频播放加速程序,所述虚拟化平台视频播放加速程序被处理器执行时实现如权利要求1至8中任一项所述的虚拟化平台视频播放加速方法的步骤。
CN201711062626.5A 2017-10-31 2017-10-31 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质 Pending CN107920259A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711062626.5A CN107920259A (zh) 2017-10-31 2017-10-31 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711062626.5A CN107920259A (zh) 2017-10-31 2017-10-31 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质

Publications (1)

Publication Number Publication Date
CN107920259A true CN107920259A (zh) 2018-04-17

Family

ID=61895167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711062626.5A Pending CN107920259A (zh) 2017-10-31 2017-10-31 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质

Country Status (1)

Country Link
CN (1) CN107920259A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636284A (zh) * 2019-10-25 2019-12-31 腾讯科技(深圳)有限公司 解码能力检测方法及装置

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523215A (zh) * 2011-12-15 2012-06-27 北京海云捷迅科技有限公司 基于kvm虚拟化平台的虚拟机在线杀毒系统
CN103283250A (zh) * 2012-12-13 2013-09-04 华为技术有限公司 一种视频重定向的方法、装置、系统及计算机可读介质
CN103714143A (zh) * 2013-12-25 2014-04-09 华为技术有限公司 网页数据的处理方法和装置及通信系统
CN103957445A (zh) * 2014-03-28 2014-07-30 山东乾云启创信息科技有限公司 一种基于应用虚拟化技术的视频重定向系统及方法
CN104038778A (zh) * 2014-05-23 2014-09-10 深圳市深信服电子科技有限公司 多媒体重定向播放的控制方法及装置
CN104159150A (zh) * 2014-08-19 2014-11-19 龙芯中科技术有限公司 云终端、云服务器、媒体数据流播放系统及方法
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
CN105163140A (zh) * 2015-07-22 2015-12-16 深圳市京华科讯科技有限公司 一种虚拟机播放在线视频的方法以及系统
US9258597B1 (en) * 2013-03-13 2016-02-09 Google Inc. System and method for obtaining information relating to video images
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及系统
CN105898390A (zh) * 2015-08-31 2016-08-24 华南理工大学 基于虚拟视频总线多频道快速切换的方法及其系统
CN106227491A (zh) * 2016-08-04 2016-12-14 浪潮电子信息产业股份有限公司 一种远程桌面视频播放方法、服务器、客户端及系统
CN106572361A (zh) * 2016-11-15 2017-04-19 中兴通讯股份有限公司 一种视频文件的处理方法、装置和系统
CN106888385A (zh) * 2017-01-17 2017-06-23 武汉噢易云计算股份有限公司 客户端在虚拟化环境下的视频播放方法及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523215A (zh) * 2011-12-15 2012-06-27 北京海云捷迅科技有限公司 基于kvm虚拟化平台的虚拟机在线杀毒系统
CN103283250A (zh) * 2012-12-13 2013-09-04 华为技术有限公司 一种视频重定向的方法、装置、系统及计算机可读介质
US9258597B1 (en) * 2013-03-13 2016-02-09 Google Inc. System and method for obtaining information relating to video images
CN104301742A (zh) * 2013-07-16 2015-01-21 上海国富光启云计算科技有限公司 虚拟机和客户端间视频重定向装置及其使用方法
CN103714143A (zh) * 2013-12-25 2014-04-09 华为技术有限公司 网页数据的处理方法和装置及通信系统
CN103957445A (zh) * 2014-03-28 2014-07-30 山东乾云启创信息科技有限公司 一种基于应用虚拟化技术的视频重定向系统及方法
CN104038778A (zh) * 2014-05-23 2014-09-10 深圳市深信服电子科技有限公司 多媒体重定向播放的控制方法及装置
CN104159150A (zh) * 2014-08-19 2014-11-19 龙芯中科技术有限公司 云终端、云服务器、媒体数据流播放系统及方法
CN105163140A (zh) * 2015-07-22 2015-12-16 深圳市京华科讯科技有限公司 一种虚拟机播放在线视频的方法以及系统
CN105898390A (zh) * 2015-08-31 2016-08-24 华南理工大学 基于虚拟视频总线多频道快速切换的方法及其系统
CN105791892A (zh) * 2016-03-02 2016-07-20 汉柏科技有限公司 一种基于桌面云的视频重定向方法、云服务器及系统
CN106227491A (zh) * 2016-08-04 2016-12-14 浪潮电子信息产业股份有限公司 一种远程桌面视频播放方法、服务器、客户端及系统
CN106572361A (zh) * 2016-11-15 2017-04-19 中兴通讯股份有限公司 一种视频文件的处理方法、装置和系统
CN106888385A (zh) * 2017-01-17 2017-06-23 武汉噢易云计算股份有限公司 客户端在虚拟化环境下的视频播放方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636284A (zh) * 2019-10-25 2019-12-31 腾讯科技(深圳)有限公司 解码能力检测方法及装置
CN110636284B (zh) * 2019-10-25 2021-11-09 腾讯科技(深圳)有限公司 解码能力检测方法及装置

Similar Documents

Publication Publication Date Title
EP3046331B1 (en) Media control method and system based on cloud desktop
EP2517470B1 (en) Systems and methods for video-aware screen capture and compression
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
US20200195842A1 (en) Information pushing method, storage medium, terminal device, and server
CN111433743B (zh) 一种app远程控制方法及相关设备
US20210281718A1 (en) Video Processing Method, Electronic Device and Storage Medium
CN109062715B (zh) 内存时钟频率的确定方法、装置及终端
WO2019071618A1 (zh) 一种图像处理方法及设备
CN107920259A (zh) 虚拟化平台视频播放加速方法、虚拟机服务器及存储介质
CN113826074B (zh) 用于虚拟桌面底层结构解决方案的自适应实时通信插件
KR20160131827A (ko) 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN114827692A (zh) 一种基于智能电视操作云桌面的系统
KR20160015134A (ko) 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN107679063A (zh) 图片显示方法、服务器和计算机可读存储介质
CN114281258A (zh) 基于数据存储的业务处理方法、装置、设备和介质
CN113835657A (zh) 显示方法及电子设备
KR101512353B1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 서비스 제어 장치 및 시스템
CN106776010B (zh) 一种资源配置方法及终端
KR20160093929A (ko) 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102537913B1 (ko) 특정영역에서의 vmi화면과 로컬화면 표시 방법 및 장치
EP4068093A1 (en) Remote computing resource execution
CN114979772B (zh) 解码器的配置方法、装置、介质以及电子设备
US11025864B2 (en) Video conference communication
Honda et al. Thin client technology for mobile service platform
KR20160106346A (ko) 클라우드 스트리밍 서비스 시스템, 단말의 성능에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180417