CN116017028A - 远程桌面的录屏方法、装置、电子设备及存储介质 - Google Patents
远程桌面的录屏方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116017028A CN116017028A CN202211718332.4A CN202211718332A CN116017028A CN 116017028 A CN116017028 A CN 116017028A CN 202211718332 A CN202211718332 A CN 202211718332A CN 116017028 A CN116017028 A CN 116017028A
- Authority
- CN
- China
- Prior art keywords
- remote desktop
- flow
- desktop
- recording
- screen recording
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种远程桌面的录屏方法、装置、电子设备及存储介质,属于信息技术领域。其中方法包括:对服务端配置流量代理服务;将客户端的连接程序地址更新为所述流量代理服务的地址;通过所述流量代理服务获取所述客户端的原始流量;根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。本申请实施例提供的远程桌面的录屏方法支持对xdmcp远程桌面进行录屏和审计,并且不占用额外的带宽流量。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种远程桌面的录屏方法、装置、电子设备及存储介质。
背景技术
在Linux系统的业务部署、业务操作、日常运维等领域,常常需要对运维人员的操作做审计,以便排查问题或者追责。对于运维人员使用远程桌面进行的运维操作,通常采用桌面录屏的方式来进行审计。Linux环境下常用的远程桌面协议如vnc、rdp都可以方便的通过录屏软件录制。但是若是采用xdmcp这一类远程桌面协议,由于xdmcp易产生较大带宽占用,目前业界还没有适用的录屏方法。
发明内容
为了解决上述技术问题,本申请实施例提供了一种远程桌面的录屏方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种远程桌面的录屏方法,所述方法包括:
对服务端配置流量代理服务;
将客户端的连接程序地址更新为所述流量代理服务的地址;
通过所述流量代理服务获取所述客户端的原始流量;
根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
在一实施方式中,所述将客户端的连接程序地址更新为所述流量代理服务的地址包括:
获取所述客户端与所述服务端之间的会话;
修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
在一实施方式中,所述根据所述原始流量生成远程桌面的模拟录屏,得到录屏图像数据包括:
根据所述原始流量进行模拟绘图,得到多个桌面图像数据,其中,所述原始流量包括鼠标事件、键盘事件和远程显示内容;
将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
在一实施方式中,所述将多个所述桌面图像数据进行组合,得到所述录屏视频数据,包括:
对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
第二方面,本申请实施例提供了一种远程桌面的录屏装置,所述远程桌面的录屏装置包括:
配置模块,用于对服务端配置流量代理服务;
更新模块,用于将客户端的连接程序地址更新为所述流量代理服务的地址;
获取模块,用于通过所述流量代理服务获取所述客户端的原始流量;
模拟模块,用于根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
在一实施方式中,所述更新模块还用于:
获取所述客户端与所述服务端之间的会话;
修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
在一实施方式中,所述模拟模块还用于:
根据所述原始流量进行模拟绘图,得到多个桌面图像数据,其中,所述原始流量包括鼠标事件、键盘事件和远程显示内容;
将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
在一实施方式中,所述模拟模块还用于:
对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的远程桌面的录屏方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的远程桌面的录屏方法。
上述本申请提供的远程桌面的录屏方法,对服务端配置流量代理服务;将客户端的连接程序地址更新为所述流量代理服务的地址;通过所述流量代理服务获取所述客户端的原始流量;根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。本申请实施例提供的远程桌面的录屏方法支持对xdmcp远程桌面进行录屏和审计,并且不占用额外的带宽流量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的远程桌面的录屏方法的一流程示意图;
图2示出了X11桌面环境的一数据交互示意图;
图3示出了xdmcp远程桌面的一数据交互示意图;
图4示出了本申请实施例提供的远程桌面的录屏方法的一数据交互示意图;
图5示出了本申请实施例提供的远程桌面的录屏装置的一结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
实施例1
本公开实施例提供了一种远程桌面的录屏方法。
具体的,参见图1,所述方法包括:
步骤S110,对服务端配置流量代理服务;
本申请实施例应用于xdmcp远程桌面。Vnc、rdp和xdmcp等应用于Linux系统的远程桌面,技术底层都是基于Linux X11。X11桌面的技术架构主要分为如下几个部分:
X11 protocol:XClient和XServer之间的通信协议;
XClient:XClient为具体的图形界面应用程序,将需要绘制的图形信息通过X11protocol发给XServer;
XServer:接收XClient发送的图形绘制信息,具体负责将图形界面绘制到屏幕上;
Vnc、rdp和xdmcp建立远程桌面时,都会新建一个XServer作为一个新的桌面环境,若需要对会话进行录屏以及后续的审计,录屏审计软件可以按照固定的频率从XServer获取当前桌面会话的图像,然后通过编码、压缩生成mp4或者其它格式的视频。vnc和rdp新建的XServer位于本机,因而能够方便的获取桌面内容。但是xdmcp协议新建的XServer位于发起远程桌面的系统,因而如果仍然从XServer获取图像数据,会占用大量的网络带宽,以1920*1080分辨率、25fps为例来计算,网络带宽占用将达到100MB/s以上,占用带宽极大,因而常规的录屏审计软件都不适用于xdmcp远程桌面。
如图2所示,图2示出了传统的X11桌面环境的一数据交互示意图。X服务器可以获取其对应的键盘和鼠标的输入并进行动作处理。X客户端代表远程桌面连接的另一端,X客户端上可以安装若干个应用,X客户端对这些应用进行处理调度和排序管理。
请参见图3,图3示出了xdmcp远程桌面的一数据交互示意图。服务器代表进行远程桌面的服务端,XServer仍然通过X11协议与各应用进行交互。服务器通过录屏软件获取运维机桌面呈现的内容,渲染后展示在X服务器的显示器中。这种方法录屏软件需要跨网络从远程的XServer获取桌面图像数据,产生大量的网络带宽占用。
基于此,本申请实施例提供了一个流量代理(fake-xserver-agent)服务,流量代理服务设置在进行远程桌面的服务器中,用来代理转发X应用和XServer之间的流量。
步骤S120,将客户端的连接程序地址更新为所述流量代理服务的地址;
在一实施方式中,所述将客户端的连接程序地址更新为所述流量代理服务的地址包括:
获取所述客户端与所述服务端之间的会话;修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
步骤S130,通过所述流量代理服务获取所述客户端的原始流量;
请参见图4,图4是配置了流量代理服务的服务端(服务器)。可以看到,在服务器端增加了一个流量代理服务,用来代理转发X应用和XServer之间的流量。
需要注意的是,流量代理服务获取的是流量而非数据。可以理解为流量代理服务是设置在服务器和运维机的网络传输中间的一个转发节点,只负责转发流量,并不增加网络的带宽占用。后续的模拟绘图是服务器自身根据原始流量生成的。
步骤S140,根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
在一实施方式中,所述根据所述原始流量生成远程桌面的模拟录屏,得到录屏图像数据包括:根据所述原始流量进行模拟绘图,得到多个桌面图像数据,其中,所述原始流量包括鼠标事件、键盘事件和远程显示内容;将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
原始流量是X协议流量。X协议由XServer和XClient两部分组成,其中XServer负责显示器、显卡、鼠标键盘等交互外设,XClient负责处理程序逻辑,xserver把鼠标键盘的动作(x事件)通过x协议传给xclient,而xclient把要显示的内容通过x协议传给xserver。因而通过代理获取的原始流量里既有鼠标、键盘事件,又有需要显示的内容信息(远程显示内容),通过一个类似的XServer的功能实现,可以模拟生成桌面图像数据。
在一实施方式中,所述将多个所述桌面图像数据进行组合,得到所述录屏视频数据,包括:对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
流量代理服务,利用获取的流量数据模拟渲染出桌面图像数据。录屏软件从fake-xserver-agent获取模拟渲染的桌面图像数据,经过编码、压缩生成录屏视频数据,可以用于审计。
本实施例提供的远程桌面的录屏方法,支持对xdmcp远程桌面进行录屏和审计,并且不占用额外的带宽,在节省带宽的同时,提高了录屏审计的适用范围。
实施例2
此外,本公开实施例提供了一种远程桌面的录屏装置。
具体的,如图5所示,远程桌面的录屏装置500包括:
所述远程桌面的录屏装置包括:
配置模块510,用于对服务端配置流量代理服务;
更新模块520,用于将客户端的连接程序地址更新为所述流量代理服务的地址;
获取模块530,用于通过所述流量代理服务获取所述客户端的原始流量;
模拟模块540,用于根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
在一实施方式中,所述更新模块520还用于:
获取所述客户端与所述服务端之间的会话;
修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
在一实施方式中,所述模拟模块540还用于:
根据所述原始流量进行模拟绘图,得到多个桌面图像数据;
将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
在一实施方式中,所述模拟模块540还用于:
对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
本发明实施例提供的远程桌面的录屏装置,可以实现实施例1提供的远程桌面的录屏方法,为避免重复,不再赘述。
本实施例提供的远程桌面的录屏装置,支持对xdmcp远程桌面进行录屏和审计,并且不占用额外的带宽,在节省带宽的同时,提高了录屏审计的适用范围。
实施例3
此外,本公开实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行实施例1所提供的远程桌面的录屏方法。
本发明实施例提供的电子设备,可以实现实施例1提供的远程桌面的录屏方法,为避免重复,不再赘述。
本实施例提供的电子设备,支持对xdmcp远程桌面进行录屏和审计,并且不占用额外的带宽,在节省带宽的同时,提高了录屏审计的适用范围。
实施例4
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1所提供的远程桌面的录屏方法。
在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本实施例提供的计算机可读存储介质可以实现实施例1所提供的远程桌面的录屏方法,为避免重复,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种远程桌面的录屏方法,其特征在于,所述方法包括:
对服务端配置流量代理服务;
将客户端的连接程序地址更新为所述流量代理服务的地址;
通过所述流量代理服务获取所述客户端的原始流量;
根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
2.根据权利要求1所述的远程桌面的录屏方法,其特征在于,所述将客户端的连接程序地址更新为所述流量代理服务的地址包括:
获取所述客户端与所述服务端之间的会话;
修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
3.根据权利要求1所述的远程桌面的录屏方法,其特征在于,所述根据所述原始流量生成远程桌面的模拟录屏,得到录屏图像数据包括:
根据所述原始流量进行模拟绘图,得到多个桌面图像数据,其中,所述原始流量包括鼠标事件、键盘事件和远程显示内容;
将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
4.根据权利要求3所述的远程桌面的录屏方法,其特征在于,所述将多个所述桌面图像数据进行组合,得到所述录屏视频数据,包括:
对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
5.一种远程桌面的录屏装置,其特征在于,所述装置包括:
配置模块,用于对服务端配置流量代理服务;
更新模块,用于将客户端的连接程序地址更新为所述流量代理服务的地址;
获取模块,用于通过所述流量代理服务获取所述客户端的原始流量;
模拟模块,用于根据所述原始流量生成远程桌面的模拟录屏,得到录屏视频数据。
6.根据权利要求5所述的远程桌面的录屏装置,其特征在于,所述更新模块还用于:
获取所述客户端与所述服务端之间的会话;
修改所述会话的DISPLAY环境变量,所述DISPLAY环境变量包括地址信息。
7.根据权利要求5所述的远程桌面的录屏装置,其特征在于,所述模拟模块还用于:
根据所述原始流量进行模拟绘图,得到多个桌面图像数据,其中,所述原始流量包括鼠标事件、键盘事件和远程显示内容;
将多个所述桌面图像数据进行组合,得到所述录屏视频数据。
8.根据权利要求7所述的远程桌面的录屏装置,其特征在于,所述模拟模块还用于:
对多个所述桌面图像数据进行编码和压缩,生成所述录屏视频数据。
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至4中任一项所述的远程桌面的录屏方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至4中任一项所述的远程桌面的录屏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718332.4A CN116017028A (zh) | 2022-12-29 | 2022-12-29 | 远程桌面的录屏方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718332.4A CN116017028A (zh) | 2022-12-29 | 2022-12-29 | 远程桌面的录屏方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116017028A true CN116017028A (zh) | 2023-04-25 |
Family
ID=86018792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211718332.4A Pending CN116017028A (zh) | 2022-12-29 | 2022-12-29 | 远程桌面的录屏方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116017028A (zh) |
-
2022
- 2022-12-29 CN CN202211718332.4A patent/CN116017028A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5373135B2 (ja) | 代替的グラフィック・セットの効率的な符号化 | |
US7609280B2 (en) | High level graphics stream | |
CN111611518B (zh) | 基于Html5的可视化展示页面自动发布方法及系统 | |
CN104508689B (zh) | 一种二维码处理方法和终端 | |
CN110119294A (zh) | 菜单页面的生成方法、装置及系统 | |
CN107391119B (zh) | 一种横竖屏实现方法及装置 | |
CN105824517A (zh) | 一种桌面的实现方法和装置 | |
US20170097749A1 (en) | Integrating applications in a portal | |
US20140229533A1 (en) | Client-side network page generation | |
CN107798078B (zh) | 看板数据展示方法、装置、计算机设备和存储介质 | |
CN107426588B (zh) | 一种获取电视机配置信息方法、系统及存储装置 | |
CN102770827A (zh) | 用于在终端的屏幕上显示多媒体内容的方法 | |
CN113313623A (zh) | 水印信息显示方法、装置、电子设备、计算机可读介质 | |
US20050102321A1 (en) | Protocol for remote visual composition | |
CN105139217A (zh) | 用于获取用户信息的方法、装置和系统 | |
CN112671876A (zh) | 用于页面运维的方法与设备 | |
CN104572816A (zh) | 信息处理方法及电子设备 | |
CN116017028A (zh) | 远程桌面的录屏方法、装置、电子设备及存储介质 | |
CN112307384B (zh) | 页面快照展示方法、装置、电子设备及存储介质 | |
CN110825390A (zh) | 可视化大屏项目快速部署 | |
CN115328949A (zh) | 分析模型的字段转换方法、装置、存储介质及计算机设备 | |
CN108874371B (zh) | 直播间样式的扩展方法及系统、服务器及存储介质 | |
JP5740026B1 (ja) | 表示画面を表示させるサーバ及び方法 | |
CN117671042A (zh) | 贴图资源的压缩方法和装置、存储介质及电子设备 | |
CN113938380A (zh) | 一种网络设备及其接口动态适配方法 |
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 |