CN117857865A - 屏幕录像作业的重定向方法、装置及计算机可读介质 - Google Patents
屏幕录像作业的重定向方法、装置及计算机可读介质 Download PDFInfo
- Publication number
- CN117857865A CN117857865A CN202311762233.0A CN202311762233A CN117857865A CN 117857865 A CN117857865 A CN 117857865A CN 202311762233 A CN202311762233 A CN 202311762233A CN 117857865 A CN117857865 A CN 117857865A
- Authority
- CN
- China
- Prior art keywords
- screen
- video
- client
- data
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000009877 rendering Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000014759 maintenance of location Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 235000013599 spices Nutrition 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开一种屏幕录像作业的重定向方法、装置及计算机可读介质,其中方法包括:获取服务端的用于指示进行屏幕录像重定向的重定向指示信息;所述重定向指示信息包括屏幕录像作业的作业类型;获取服务端传输的客户机操作系统的待渲染界面信息;对所述待渲染界面信息进行渲染处理,以在客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;在客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端。本申请通过将对客户机操作系统的屏幕录像作业重定向至客户端进行,降低了服务端宿主机的资源消耗,能够为服务端的虚拟机提供更好的资源服务。
Description
技术领域
本申请属于客户端远程监测与管理技术领域,尤其涉及一种屏幕录像作业的重定向方法、装置及计算机可读介质。
背景技术
云桌面系统是一种在云端提供虚拟机的计算、存储、网络等服务,在客户端本地通过网络访问云端上虚拟机的系统。云桌面系统主要由两部分组成:服务端与客户端。其中,客户端的客户机操作系统运行在云端(服务端)虚拟机中,可根据需求在服务端的宿主机上为客户机操作系统分配CPU(Central Processing Unit,中央处理器)、内存及硬盘等资源。客户端负责为用户提供虚拟机中操作系统的浏览、使用以及响应服务端的管理需求等功能;服务端即为云服务端,用于为客户端提供监控、管理、连接等服务。
云桌面系统部署后,使用过程中经常存在一些过程监控及过程追溯等应用场景,这需要云端管理员对客户机操作系统进行实时监控或查询一定时间内的过往使用记录,相应需要对客户机操作系统的界面进行屏幕录像及数据存储等操作。参见图1,已知技术通过在服务端获取虚拟机虚拟显存中的显示数据,并对其进行转码、压缩编码、封装、存储等处理,实现对客户机操作系统的屏幕录像及数据存储操作。然而,该处理方式需要服务端宿主机的CPU及内存、硬盘等资源支持,对宿主机公共资源占用较大,导致对宿主机资源的高消耗;另外,服务端的每个宿主机都挂载着许多虚拟机,服务端宿主机承担上述操作的资源消耗后,往往难以为虚拟机提供更好的资源服务。
发明内容
有鉴于此,本申请公开一种屏幕录像作业的重定向方法、装置及计算机可读介质,用于通过将对客户机操作系统的屏幕录像作业重定向至客户端执行,来降低服务端宿主机的资源消耗。
具体方案如下:
一种屏幕录像作业的重定向方法,应用于客户端,所述方法包括:
获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型;所述客户端的客户机操作系统运行于所述服务端的虚拟机上;
获取所述服务端传输的所述客户机操作系统的待渲染界面信息;
对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;
在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端。
可选的,所述重定向信息还包括重定向开启指令及屏幕录像作业所生成屏幕录像数据的数据量上限信息;在根据所述作业类型对当前显示的界面信息进行屏幕录像之前,所述方法还包括:
开启所述客户端的屏幕录像重定向功能;
在所述客户端本地创建屏幕录像重定向所产生的屏幕录像数据的存储目录,所述存储目录对应的存储空间满足所述数据量上限信息指示的存储空间要求。
可选的,获取所述服务端传输的所述客户机操作系统的待渲染界面信息,包括:
接收所述服务端通过预设显示通道传输的所述客户机操作系统的待渲染界面信息的分块编码数据;
其中,所述待渲染界面信息包括待渲染界面的各个分块区域的界面信息;所述服务端传输的所述分块编码数据,至少包括所述待渲染界面中显示信息发生变化的目标分块区域的分块编码数据。
可选的,对所述待渲染界面信息进行渲染处理,包括:
获取通过对接收的分块编码数据进行解码所得到的分块解码数据;
将所述分块解码数据渲染到客户端界面画布的对应分块区域。
可选的,根据所述作业类型对当前显示的界面信息进行屏幕录像,包括:
创建后台画布,将当前显示的界面信息填充到所述后台画布上,得到当前显示的界面信息对应的屏幕图像;
将界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据。
可选的,将界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据,包括:
若所述作业类型为用于指示截屏的第一类型,将界面信息对应的屏幕图像作为对所述客户端的截屏数据;
若所述作业类型为用于指示录屏的第二类型,按预设帧率将界面信息对应的屏幕图像转码为视频流,并将转码得到的视频流封装为录屏数据文件。可选的,所述重定向信息还包括屏幕录像作业所生成屏幕录像数据的数据量上限信息,所述方法还包括:
响应于当前所得到的录屏数据文件的数据量达到所述数据量上限信息指示的数据量,停止对所述客户端的录屏。
可选的,在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端之后,所述方法还包括:
响应于接收到所述服务端发起的对目标屏幕录像数据的获取指令,将所述目标屏幕录像数据发送至所述服务端;
其中,所述获取指令包括所述目标屏幕录像数据的至少部分元数据。
可选的,所述重定向信息还包括屏幕录像数据的保留时长,所述方法还包括:
响应于相应屏幕录像数据在所述客户端本地的存储时长达到所述保留时长,从所述客户端本地删除所述相应屏幕录像数据。
一种屏幕录像作业的重定向装置,应用于客户端,所述装置包括:
第一获取模块,用于获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型;所述客户端的客户机操作系统运行于所述服务端的虚拟机上;
第二获取模块,用于获取所述服务端传输的所述客户机操作系统的待渲染界面信息;
渲染与录像处理模块,用于对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;
存储模块,用于在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据;
发送模块,用于将屏幕录像数据的元数据发送至所述服务端。
一种计算机可读介质,其上存储有计算机程序,所述计算机程序包含用于执行如上文任一项所述的屏幕录像作业的重定向方法的程序代码。
综上所述,本申请提供了一种屏幕录像作业的重定向方法、装置及计算机可读介质,其中方法包括:获取服务端的用于指示进行屏幕录像重定向的重定向指示信息;所述重定向指示信息包括屏幕录像作业的作业类型;所述客户端对应的客户机操作系统运行于所述服务端的虚拟机上;获取所述服务端传输的所述客户机操作系统的待渲染界面信息;对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端。
本申请通过将对客户机操作系统的屏幕录像作业重定向至客户端进行,使得将服务端宿主机对屏幕录像作业的计算、存储等资源压力分散到了分布式客户端中,从而降低了服务端宿主机的资源消耗,能够为服务端的虚拟机提供更好的资源服务。
附图说明
结合附图并参考以下具体实施方式,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是已知技术在服务端执行屏幕录像作业的示意图;
图2是本申请提供的屏幕录像作业的重定向方法的一种流程示意图;
图3是本申请提供的将屏幕录像作业重定向至客户端执行的示意图;
图4是本申请提供的屏幕录像作业的重定向方法的另一种流程示意图;
图5是本申请提供的屏幕录像作业的重定向方法的又一种流程示意图;
图6是本申请提供的屏幕录像作业的重定向装置的组成结构图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
本文使用的术语″包括″及其变形是开放性包括,即″包括但不限于″。术语″基于″是″至少部分地基于″。术语″一个实施例″表示″至少一个实施例″;术语″另一实施例″表示″至少一个另外的实施例″;术语″一些实施例″表示″至少一些实施例″。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的″第一″、″第二″等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的″一个″、″多个″的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为″一个或多个″。
本申请实施例公开一种屏幕录像作业的重定向方法、装置及计算机可读介质,可以应用于但不限于桌面云环境下的屏幕录像场景。
其中,所公开的方法应用于客户端,具体可以包括但不限于桌面云环境下的云桌面系统包括的客户端;与客户端相对的服务端,相应可以包括但不限于云桌面系统包括的服务端,即云服务端。
客户端的客户机操作系统运行在服务端的虚拟机中,可根据需求在服务端的宿主机上为客户机操作系统分配CPU、内存及硬盘等资源。客户端负责为用户提供虚拟机中操作系统的浏览、使用以及响应服务端的管理需求等功能;服务端用于为客户端提供监控、管理、连接等服务。
已知技术通过在服务端获取虚拟机虚拟显存中的显示数据,并对其进行转码、压缩编码、封装、存储等处理,实现对客户机操作系统的屏幕录像及数据存储操作,该处理方式会导致对宿主机资源的高消耗,使得服务端宿主机难以为虚拟机提供更好的资源服务。本申请实施例通过将对客户机操作系统的屏幕录像作业重定向至客户端执行,来降低对服务端宿主机的资源消耗。
参见图2所示的方法流程图,本申请实施例公开的屏幕录像作业的重定向方法,至少包括以下各处理步骤:
步骤201、获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型。
本申请实施例中,当服务端(如云端)管理员基于管理需求,需对某个或某些客户端的当前使用情况进行监控时,可在服务端向所需的客户端发起用于指示客户端进行屏幕录像的重定向信息。
以桌面云环境的应用场景为例,当桌面云用户的云端管理员需对某个或某些客户端的当前桌面云使用情况进行监控时,可在云端(服务端)向所需的一个或多个客户端发起用于指示客户端进行屏幕录像的重定向信息。
客户端相应可接收到服务端发起的重定向信息,所接收的重定向信息至少包括屏幕录像作业的作业类型。屏幕录像作业的作业类型,具体可以是用于指示截屏的第一类型,或用于指示录屏的第二类型。
服务端可以但不限于通过socket等通信协议,向客户端进行重定向信息的数据传输,客户端相应通过socket等通信协议接收服务端传输的重定向信息,并对其进行解析。参见表1,提供了重定向信息中的字段及其含义说明的一个示例。
表1
其中,Type表示屏幕录像作业的作业类型,具体分为Image和Video两种,Image表示截屏(第一类型),Video表示录屏(第二类型)。
步骤202、获取服务端传输的客户机操作系统的待渲染界面信息。
步骤203、对所述待渲染界面信息进行渲染处理,以在客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像。
在得到服务端的重定向信息后,客户端根据重定向信息执行对应的屏幕录像处理。
客户端具体可获取服务端传输的客户机操作系统的待渲染界面信息,将其渲染到客户端的显示屏进行显示,同时根据重定向信息中的作业类型对当前显示的界面信息进行屏幕录像,以保证屏幕录像作业的实时性。
可选的,客户端可接收服务端通过预设显示通道传输的客户机操作系统的待渲染界面信息的分块编码数据。
预设显示通道可以包括但不限于spice(Simple Protocol for IndependentComputing Environment,独立计算环境简单协议)的display通道,其中,spice是目前最新的基于KVM(Kernel-based Virtual Machine,是一种开源的系统虚拟化模块)虚拟机的开源虚拟化桌面传输协议,可应用于桌面虚拟化解决方案。
待渲染界面信息包括待渲染界面的各个分块区域的界面信息。服务端传输给客户端的分块编码数据,至少包括待渲染界面中显示信息发生变化的目标分块区域的分块编码数据。所述目标分块区域,具体为待渲染界面包含的各个分块区域中,当前显示信息相比于前一时刻/前一时间周期的显示信息发生变化的分块区域。
当客户端如桌面云客户端启动服务端的虚拟机后,服务端通过spice的display等显示通道将客户机操作系统的待渲染界面信息传输至客户端。在一优选实施方式中,服务端可基于相应服务如spice-server将待渲染界面分成若干个分块,得到待渲染界面的各个分块区域,并通过检测函数检测每个分块区域的显示信息变化,将显示信息发生变化的目标分块区域内的界面信息进行编码,然后通过spice的display等显示通道将目标分块区域的分块编码数据传输至客户端,以避免显示信息未发生变化的分块区域编码数据的重复传输,节省带宽及计算(如编解码)等资源消耗。当然在其他实施方式中,也可以将待渲染界面的全部分块区域的分块编码数据传输至客户端,对此不作限制,可视实际需求而定。
客户端在接收到服务端传输的分块编码数据后,对其进行解码,得到对应的分块解码数据,并将分块解码数据渲染到客户端界面画布的对应分块区域进行显示,例如,对接收的目标分块区域(显示信息发生变化的分块区域)的分块编码数据进行解码,并将其解码数据渲染到客户端界面画布的对应分块区域进行显示。
可选的,实施中,客户端的渲染工作可通过cairo进行,cairo是一种底层的图形库,可以根据需求构建渲染界面。客户端如桌面云客户端在通过spice的display等显示通道与服务端交互,得到服务端传输的待渲染界面信息的分块编码数据,并对其解码后,可进一步通过cairo的函数接口将解码数据渲染到客户端屏幕上,以提供给客户端用户使用。
在渲染时,具体可通过cairo创建surface(绘图表面),作为客户端界面画布,并通过将解码数据(如分块解码数据)在surface中按RBGA(渲染surface的颜色排列顺序定义为红-蓝-绿-透明色,即RBGA)排列,实现将解码数据完整的渲染在画布上,当有数据变化时,实时将变化后的数据(如变化后的分块解码数据)渲染到画布对应区域对其进行显示。
与此同时,客户端根据重定向信息中指定的作业类型,对当前显示的界面信息进行屏幕录像处理。客户端具体可创建后台画布,将当前显示的界面信息通过复制等方式填充到后台画布上,得到当前显示的界面信息对应的屏幕图像,并将界面信息对应的屏幕图像处理为匹配于所指定作业类型的屏幕录像数据。
其中,若重定向信息中指定的作业类型为用于指示截屏的第一类型,将界面信息对应的屏幕图像作为对客户端的截屏数据。若重定向信息中指定的作业类型为用于指示录屏的第二类型,按照预设帧率将界面信息对应的屏幕图像转码为视频流,并将转码得到的视频流封装为录屏数据文件。
示例性的,可在客户端的spice中通过cairo创建一张新的surface,作为后台画布,并将当前渲染显示的界面信息复制到后台画布上,得到当前显示的界面信息的屏幕图像,若重定向信息中的指定作业类型为用于指示截屏的第一类型,如表1信息中的Type=Image,可直接将所述屏幕图像作为对当前界面信息的截屏数据,并可将其按预设的命名规则命名。
所述命名规则可以包括但不限于,按当前的年-月-日-时-分-秒-图片ID(Identity document,身份标识号码)的命名格式,对截屏数据进行命名。
若重定向信息中的指定作业类型为用于指示录屏的第二类型,如表1信息中的Type=Video,则按照预设帧率将界面信息对应的屏幕图像转码为视频流,例如,按照18帧/秒的帧率将屏幕图像转码为视频流,并将转码得到的视频流封装为录屏数据文件。
客户端转码所采用的转码工具,可以包括但不限于ffmpeg等具备转码功能的工具,当重定向信息中的指定作业类型为用于指示录屏的第二类型时,客户端可调用ffmpeg等工具,并将客户端显示界面的屏幕图像作为ffmpeg工具的输入文件,为ffmpeg工具提供视频转码素材,ffmpeg工具根据屏幕图像的命名,按照一定帧率如18帧/秒的帧率将图片转码为视频流。其中,ffmpeg工具具体根据屏幕图像的命名,将同一秒不同ID的屏幕图像转码封装在同一个单元。
步骤204、在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端。
在完成屏幕录像,得到对客户端的截屏数据或录屏数据等屏幕录像数据后,将屏幕录像数据存储至客户端本地,并将屏幕录像数据的元数据上传至服务端。后续,当服务端基于监控或管理需求,需查看相应的目标屏幕录像数据时,可基于目标屏幕录像数据的元数据,从客户端调取对应的目标屏幕录像数据,以满足服务端的监控或管理需求。
屏幕录像数据的元数据,包括但不限于屏幕录像数据对应的截屏/录屏完成标志、文件名、文件完成(生成)时间等信息。参见表2,提供了屏幕录像数据的元数据的一个示例。
表2
字段名称 | 定义 | 描述 |
Status | Done/Doing | 截屏或录屏完成标志 |
Filename | .jpeg/.mp4 | 截屏或录屏文件名称 |
Time | xx年-月-日-时-分-秒 | 文件完成时间 |
其中,Status、Filename和Time,分别表示截屏/录屏完成标志、文件名、文件完成时间,Status=Done表示截屏/录屏已完成,Status=Doing表示截屏/录屏未完成。
综上所述,本申请实施例的方法,通过将对客户机操作系统的屏幕录像作业重定向至客户端,实现了将所述屏幕录像作业涉及的截图、转码、封装、存储等任务转移到了客户端进行,具体如图3所示,从而可使得将服务端宿主机的计算、存储等资源压力分散到分布式客户端,降低了服务端宿主机的资源消耗,支持服务端宿主机为挂载的虚拟机提供更好的资源服务。
已知技术中,对客户机操作系统的屏幕录像作业在服务端执行,屏幕录像作业涉及的各项任务如截图、转码、封装、存储等需要消耗大量的CPU及内存资源,尤其是当多个客户端的处理进程同时运行时,会导致服务端资源的严重消耗。本申请实施例通过将所述屏幕录像作业重定向至每一个需要屏幕录像的客户端中,将原本服务端的工作分解成了相应客户端的工作,从而大幅降低了对服务端资源的消耗以及因资源消耗而对服务端带来的影响,支持服务端为挂载的虚拟机提供更好的资源服务。
在一可选实施例中,客户端从服务端接收的重定向信息,还包括重定向开启指令及屏幕录像作业所生成屏幕录像数据的数据量上限信息。
本申请所公开的屏幕录像作业的重定向方法,在根据重定向信息中指定的作业类型,对当前显示的界面信息进行屏幕录像之前,还可以包括以下的重定向初始化处理:
开启所述客户端的屏幕录像重定向功能;在所述客户端本地创建屏幕录像重定向所产生的屏幕录像数据的存储目录。
其中,所述存储目录对应的存储空间满足所述数据量上限信息指示的存储空间要求。
参见表3,提供了重定向信息中的字段及其含义说明的另一个示例。
表3
其中,Type表示屏幕录像作业的作业类型,Type字段的更详细信息参见上文对表1中Type字段的说明。Start为录屏开始命令字段,Start=True表征开启屏幕录像重定向,Start=False表征关闭屏幕录像重定向。Length为屏幕录像数据的数据量上限信息字段,用于对屏幕录像数据的长度(数据量)进行限制,由于截屏情况下,截屏数据的数据量通常较小,因此,该字段主要是对录屏视频的长度进行限制,以避免录屏数据文件过大。
客户端在通过socket等通信协议接收到服务端传输的如表3所示的重定向信息后,进行协议解析。若解析得到Start=True,则开启客户端的屏幕录像重定向功能,以实现将屏幕录像作业重定向至客户端执行,并根据解析得到的Length信息,如″Length=xxxMB″,查询客户端机器中各个盘符的剩余存储空间,在查询到满足Length字段的存储空间要求的剩余存储空间时,基于查询到的所述剩余存储空间,创建用于对屏幕录像重定向所产生的屏幕录像数据进行存储的存储目录,以便将后续截屏或录屏所产生的屏幕录像数据,存储至客户端本地所述存储目录对应的存储空间。
本实施例通过按重定向信息中指定的屏幕录像数据的数据量上限信息,查询客户端机器中各个盘符的剩余存储空间进行存储目录的创建,可有效保证录屏重定向产生的截屏/录屏数据文件有足够的本地存储空间。
除此之外,本申请所公开的屏幕录像作业的重定向方法,还可以包括以下处理:响应于当前所得到的录屏数据文件的数据量达到所述数据量上限信息指示的数据量,停止对客户端的录屏。
例如,针对表3的示例,根据解析得到的Length信息,如"Length=xxxMB″,确定客户端当前的录屏重定向所产生的录屏数据是否达到Length信息表征的数据量上限,若达到,则停止录屏,以对客户端机器的存储资源消耗进行控制,避免对客户端机器存储资源的过度消耗。
在一可选实施例中,参见图4所示的屏幕录像作业的重定向方法流程图,本申请公开的屏幕录像作业的重定向方法,在步骤204之后,还可以包括以下处理:
步骤205、响应于接收到服务端发起的对目标屏幕录像数据的获取指令,将目标屏幕录像数据发送至服务端。
其中,获取指令中包括所述目标屏幕录像数据的至少部分元数据。
在客户端将基于屏幕录像作业所生成的屏幕录像数据存储至本地,并将屏幕录像数据的元数据发送至服务端后,服务端管理员可根据实际需求,在获得客户端所上报的元数据时刻,实时根据所上报的元数据,如文件名称、文件对应的录屏/截屏时间信息等,要求客户端上传对应的目标屏幕录像数据,或者,也可以在后续的所需时刻,根据已上报的相应元数据要求客户端上传对应的目标屏幕录像数据,所要求上传的目标屏幕录像数据可以为一个或多个,如某个时间段内的一个或多个录屏文件等,对此不限制,可视服务端对客户端的实际监控或管理需求而定。
示例性的,服务端管理员可按表4所示的元数据内容,要求客户端上传所需的目标屏幕录像数据。
表4
其中,Time表示服务端所要求上传的目标屏幕录像数据对应的时间段,Filename表示服务端所要求上传的目标屏幕录像数据(如截屏文件或录屏文件)的文件名称。
客户端在收到服务端发送的如表4所示的元数据信息后,在本地存储空间中查询匹配于表4中元数据信息的截屏文件/录屏文件,并将其作为目标屏幕录像数据上传至服务端,以满足服务端的监控或管理需求。
可选的,客户端在将目标屏幕录像数据上传至服务端后,可将目标屏幕录像数据从客户端本地删除,以释放客户端的本地存储空间,节省对客户端存储资源的消耗,其他未上传的屏幕录像数据仍存储在客户端本地,以便服务端在有需要时能够按需获取。
基于本申请实施例,服务端可根据监控/管理需求通过与客户端的数据交互,选择性存储部分关键的屏幕录像数据,通过客户端分布式存储及服务端选择性存储,实现了对屏幕录像数据存储资源的优化,大幅降低了对服务端存储资源的消耗,相应支持服务端为挂载的虚拟机提供更好的资源服务。
在一可选实施例中,服务端发送至客户端的重定向信息还包括屏幕录像数据的保留时长,参见表5,提供了重定向信息所包含的各个字段及其含义说明的又一个示例。
表5
其中,Type表示屏幕录像作业的作业类型,Start为录像开始命令字段,Length为屏幕录像数据的数据量上限信息字段,Type/Start/Length字段的更详细信息参见上文对表1和表3中相关字段的说明。SaveTime表示屏幕录像文件在客户端的保留时长,过期可以删除,单位可以包括但不限于小时(h)、天(d)、月(m)等中的任意一种或多种,具体视实际需求而定。
参见图5所示的屏幕录像作业的重定向方法流程图,本申请公开的屏幕录像作业的重定向方法,在步骤204之后,还可以包括以下处理:
步骤206、响应于相应屏幕录像数据在客户端本地的存储时长达到所述保留时长,从客户端本地删除所述相应屏幕录像数据。
客户端在存储通过屏幕录像作业重定向所生成的屏幕录像数据过程中,可对每个屏幕录像数据(如截屏文件、录屏文件)的存储时长进行计时,一旦某个屏幕录像数据的存储时长达到重定向信息中指定的保留时长,如存储时长达到指定的时长7天,则将其从客户端本地删除,以释放客户端的存储空间,避免长期占用客户端的存储资源。
对应于上述的屏幕录像作业的重定向方法,本申请实施例还公开一种屏幕录像作业的重定向装置,其组成结构如图6所示,包括:
第一获取模块10,用于获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型;所述客户端的客户机操作系统运行于所述服务端的虚拟机上;
第二获取模块20,用于获取所述服务端传输的所述客户机操作系统的待渲染界面信息;
渲染与录像处理模块30,用于对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;
存储模块40,用于在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据;
发送模块50,用于将屏幕录像数据的元数据发送至所述服务端。
在一可选实施方式中,所述重定向信息还包括重定向开启指令及屏幕录像作业所生成屏幕录像数据的数据量上限信息;
所述装置还包括重定向初始化模块,用于:
在根据所述作业类型对当前显示的界面信息进行屏幕录像之前,开启客户端的屏幕录像重定向功能,在客户端本地创建屏幕录像重定向所产生的屏幕录像数据的存储目录;所述存储目录对应的存储空间满足所述数据量上限信息指示的存储空间要求。
在一可选实施方式中,第二获取模块20,具体用于:
接收所述服务端通过预设显示通道传输的所述客户机操作系统的待渲染界面信息的分块编码数据;
其中,所述待渲染界面信息包括待渲染界面的各个分块区域的界面信息;所述服务端传输的所述分块编码数据,至少包括所述待渲染界面中显示信息发生变化的目标分块区域的分块编码数据。
在一可选实施方式中,渲染与录像处理模块30,在对所述待渲染界面信息进行渲染处理时,具体用于:
获取通过对接收的分块编码数据进行解码所得到的分块解码数据;
将所述分块解码数据渲染到客户端界面画布的对应分块区域。
在一可选实施方式中,渲染与录像处理模块30,在根据所述作业类型对当前显示的界面信息进行屏幕录像时,具体用于:
创建后台画布,将当前显示的界面信息填充到所述后台画布上,得到当前显示的界面信息对应的屏幕图像;
将界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据。
在一可选实施方式中,渲染与录像处理模块30,在将界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据时,具体用于:
若所述作业类型为用于指示截屏的第一类型,将界面信息对应的屏幕图像作为对所述客户端的截屏数据;
若所述作业类型为用于指示录屏的第二类型,按预设帧率将界面信息对应的屏幕图像转码为视频流,并将转码得到的视频流封装为录屏数据文件。
在一可选实施方式中,所述装置还包括控制模块,用于:响应于当前所得到的录屏数据文件的数据量达到所述数据量上限信息指示的数据量,停止对所述客户端的录屏。
在一可选实施方式中,发送模块50还用于:
响应于接收到所述服务端发起的对目标屏幕录像数据的获取指令,将所述目标屏幕录像数据发送至所述服务端;
其中,所述获取指令包括所述目标屏幕录像数据的至少部分元数据。
在一可选实施方式中,所述控制模块还用于:响应于相应屏幕录像数据在所述客户端本地的存储时长达到所述保留时长,从所述客户端本地删除所述相应屏幕录像数据。
对于本申请实施例提供的屏幕录像作业的重定向装置而言,由于其与上文方法实施例提供的屏幕录像作业的重定向方法相对应,所以描述的比较简单,相关相似之处请参见上文方法实施例的说明即可,此处不再详述。
本申请还提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序包含用于执行如上文任一方法实施例提供的屏幕录像作业的重定向方法的程序代码。
在本申请的上下文中,计算机可读介质(机器可读介质)可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
综上所述,本申请实施例公开的屏幕录像作业的重定向方法、装置及计算机可读介质,相比于已知技术,至少具备以下技术优势:
1)将屏幕录像作业重定向至客户端进行,相应将屏幕录像作业所产生的资源消耗分布在客户端,从而降低了服务端的公共资源消耗,使桌面云服务端专注于桌面云的计算工作,提升了整体桌面云系统的性能;
2)当桌面云的虚拟机增加、减少或迁移时,服务端无需为录屏功能考虑计算资源及存储的增加,只需考虑虚拟机的资源消耗即可。尤其当虚拟机发生迁移时,对服务端资源方面的影响很小,避免了当虚拟机的使用发生增加或其他变化时,服务端的资源也需要进行一定的变动考虑,当使用场景中录像虚拟机(当前对应有屏幕录像作业的虚拟机)及非录像虚拟机(当前未对应屏幕录像作业的虚拟机)同时混合存在时,由于录像作业的运行及资源消耗均分摊在客户端本地,因此服务端虚拟机的迁移更加便捷,兼容性更好。
需要说明,尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种屏幕录像作业的重定向方法,其特征在于,应用于客户端,所述方法包括:
获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型;所述客户端的客户机操作系统运行于所述服务端的虚拟机上;
获取所述服务端传输的所述客户机操作系统的待渲染界面信息;
对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;
在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端。
2.根据权利要求1所述的屏幕录像作业的重定向方法,其特征在于,所述重定向信息还包括重定向开启指令及屏幕录像作业所生成屏幕录像数据的数据量上限信息;
在所述根据所述作业类型对当前显示的界面信息进行屏幕录像之前,还包括:
开启所述客户端的屏幕录像重定向功能;
在所述客户端本地创建屏幕录像重定向所产生的屏幕录像数据的存储目录,所述存储目录对应的存储空间满足所述数据量上限信息指示的存储空间要求。
3.根据权利要求1所述的屏幕录像作业的重定向方法,其特征在于,所述获取所述服务端传输的所述客户机操作系统的待渲染界面信息,包括:
接收所述服务端通过预设显示通道传输的所述客户机操作系统的待渲染界面信息的分块编码数据;
其中,所述待渲染界面信息包括待渲染界面的各个分块区域的界面信息;所述服务端传输的所述分块编码数据,至少包括所述待渲染界面中显示信息发生变化的目标分块区域的分块编码数据。
4.根据权利要求3所述的屏幕录像作业的重定向方法,其特征在于,所述对所述待渲染界面信息进行渲染处理,包括:
获取通过对接收的所述分块编码数据进行解码所得到的分块解码数据;将所述分块解码数据渲染到客户端界面画布的对应分块区域。
5.根据权利要求1所述的屏幕录像作业的重定向方法,其特征在于,所述根据所述作业类型对当前显示的界面信息进行屏幕录像,包括:
创建后台画布,将当前显示的界面信息填充到所述后台画布上,得到当前显示的界面信息对应的屏幕图像;
将所述界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据。
6.根据权利要求5所述的屏幕录像作业的重定向方法,其特征在于,所述将所述界面信息对应的屏幕图像处理为匹配于所述作业类型的屏幕录像数据,包括:
若所述作业类型为用于指示截屏的第一类型,将所述界面信息对应的屏幕图像作为对所述客户端的截屏数据;
若所述作业类型为用于指示录屏的第二类型,按预设帧率将所述界面信息对应的屏幕图像转码为视频流,并将转码得到的视频流封装为录屏数据文件。
7.根据权利要求6所述的屏幕录像作业的重定向方法,其特征在于,所述重定向信息还包括屏幕录像作业所生成屏幕录像数据的数据量上限信息,所述方法还包括:
响应于当前所得到的录屏数据文件的数据量达到所述数据量上限信息指示的数据量,停止对所述客户端的录屏。
8.根据权利要求1所述的屏幕录像作业的重定向方法,其特征在于,所述在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据,并将屏幕录像数据的元数据发送至所述服务端之后,还包括:
响应于接收到所述服务端发起的对目标屏幕录像数据的获取指令,将所述目标屏幕录像数据发送至所述服务端;
其中,所述获取指令包括所述目标屏幕录像数据的至少部分元数据。
9.根据权利要求1所述的屏幕录像作业的重定向方法,其特征在于,所述重定向信息还包括屏幕录像数据的保留时长,所述方法还包括:
响应于相应屏幕录像数据在所述客户端本地的存储时长达到所述保留时长,从所述客户端本地删除所述相应屏幕录像数据。
10.一种屏幕录像作业的重定向装置,其特征在于,应用于客户端,所述装置包括:
第一获取模块,用于获取服务端发送的用于指示所述客户端进行屏幕录像的重定向信息;所述重定向信息至少包括屏幕录像作业的作业类型;所述客户端的客户机操作系统运行于所述服务端的虚拟机上;
第二获取模块,用于获取所述服务端传输的所述客户机操作系统的待渲染界面信息;
渲染与录像处理模块,用于对所述待渲染界面信息进行渲染处理,以在所述客户端显示已渲染的界面信息,并根据所述作业类型对当前显示的界面信息进行屏幕录像;
存储模块,用于在所述客户端本地存储基于屏幕录像作业所生成的屏幕录像数据;
发送模块,用于将屏幕录像数据的元数据发送至所述服务端。
11.一种计算机可读介质,其特征在于,其上存储有计算机程序,所述计算机程序包含用于执行如权利要求1-9任一项所述的屏幕录像作业的重定向方法的程序代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311762233.0A CN117857865A (zh) | 2023-12-20 | 2023-12-20 | 屏幕录像作业的重定向方法、装置及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311762233.0A CN117857865A (zh) | 2023-12-20 | 2023-12-20 | 屏幕录像作业的重定向方法、装置及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117857865A true CN117857865A (zh) | 2024-04-09 |
Family
ID=90541099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311762233.0A Pending CN117857865A (zh) | 2023-12-20 | 2023-12-20 | 屏幕录像作业的重定向方法、装置及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117857865A (zh) |
-
2023
- 2023-12-20 CN CN202311762233.0A patent/CN117857865A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989885B (zh) | 视频文件转码系统、分割方法、转码方法及装置 | |
US9203883B2 (en) | Systems and methods for a client-side remote presentation of a multimedia stream | |
EP2344957B1 (en) | Remote computing platforms providing high-fidelity display and interactivity for clients | |
CN101223791B (zh) | 转变压缩级别的方法及其交互式流式图像系统 | |
US9426476B2 (en) | Video stream | |
EP3244621B1 (en) | Video encoding method, system and server | |
CN101238457B (zh) | 支持任意格式大对象通信的远程协议 | |
US9860285B2 (en) | System, apparatus, and method for sharing a screen having multiple visual components | |
CN108449633B (zh) | 基于nfv的机顶盒云化系统及业务实现方法 | |
EP2759140B1 (en) | Remote presentation session encoding method and encoder with low complexity | |
WO2022257699A1 (zh) | 图像画面显示方法、装置、设备、存储介质及程序产品 | |
TWI495330B (zh) | 有效地串流數位視訊的系統及方法 | |
CN103873568A (zh) | 基于云计算实现远程虚拟桌面显示的系统及方法 | |
CN105637886A (zh) | 用于向客户端提供图形用户界面的服务器,以及客户端 | |
CN112035081A (zh) | 投屏方法、装置、计算机设备及存储介质 | |
US6859557B1 (en) | System and method for selective decoding and decompression | |
CN102664939A (zh) | 一种屏幕镜像移动终端的方法及设备 | |
WO2023040825A1 (zh) | 媒体信息的传输方法、计算设备及存储介质 | |
US9596435B2 (en) | Distribution control apparatus, distribution control method, and computer program product | |
CN104067627A (zh) | 一种视频重定向的方法、装置、系统及计算机可读介质 | |
CN102770827A (zh) | 用于在终端的屏幕上显示多媒体内容的方法 | |
CN117857865A (zh) | 屏幕录像作业的重定向方法、装置及计算机可读介质 | |
US20150063435A1 (en) | Techniques for reference based transcoding | |
CN115052043B (zh) | 一种云桌面的视频传输方法、电子设备、装置及介质 | |
WO2018003685A1 (ja) | 画像圧縮方法、画像復元方法、画像圧縮装置、画像復元装置、画像圧縮プログラムプロダクト及び画像復元プログラムプロダクト |
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 |