CN114979115B - 一种基于Guacamole的远程操作屏幕录制与回放系统和方法 - Google Patents
一种基于Guacamole的远程操作屏幕录制与回放系统和方法 Download PDFInfo
- Publication number
- CN114979115B CN114979115B CN202210478383.8A CN202210478383A CN114979115B CN 114979115 B CN114979115 B CN 114979115B CN 202210478383 A CN202210478383 A CN 202210478383A CN 114979115 B CN114979115 B CN 114979115B
- Authority
- CN
- China
- Prior art keywords
- guacamole
- screen
- remote
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims abstract description 55
- 238000012423 maintenance Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 3
- 208000032369 Primary transmission Diseases 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于Guacamole的远程操作屏幕录制与回放系统和方法,包括:与多个远程维护设备连接的Guacamole远程维护服务器模块,所述的Guacamole远程维护服务器模块与屏幕录制模块连接,所述的屏幕录制模块与存放屏幕录制文件的存储器,以及多个远程维护客户端连接,所述的屏幕录制存储器与操作记录回放模块连接,所述的操作记录回放模块与多个远程操作客户端连接。本发明通过Guacamole协议传输内容,其屏幕录制文件极大地节省了存储空间,降低了对远程操作所在远程协助服务器设备的硬件存储空间要求。通过建立基于Guacamole协议的传输通道,能够解析屏幕录制文件,简化了操作流程。
Description
技术领域
本发明涉及一种基于Guacamole的远程操作屏幕录制与回放系统与方法,是一种应用于计算机网络的系统和方法,是一种用于远程操作的网络传输数据处理的系统和方法。
背景技术
Apache Guacamole(下称Guacamole) 是一个基于 HTML 5 和 JavaScript 的VNC 查看器,可以通过web浏览器访问远程服务器终端并进行远程操作。Guacamole同时作为一种远程显示和交互协议,实现了现有远程桌面协议的超集。因此,基于Guacamole的远程操作支持了诸如RDP/VNC/SSH等常见的远程桌面协议,减少了远程设置操作,极大地方便了用户对于不同类型设备的远程访问。
同时Guacamole本身支持对远程操作的屏幕录制,只要预先完成相关设置,就可以实现在每次远程操作时自动在指定目录下生成原始录像文件。但是,所述原始录像文件占用存储容量较大,一分钟的屏幕录制就会生成大约几十到上百MB大小的录像文件,在远程操作频繁或远程操作耗时的时候,系统就会超大容量的文件,并在很短的时间,占用系统较大的存储空间。并且所述原始录像文件并不是可以直接播放的视频文件格式,需要借助Guacamole提供的guacenc命令,在终端进行使用才能将原始录像文件转化成.m4v后缀的视频文件之后才能观看,假如远程操作所在设备为Linux系统,则还需将所述视频文件导出到有支持.m4v播放器的系统(通常为windows)中才能观看,这就加大了用户观看操作记录的难度和复杂度。如何在基于Guacamole的远程操作中方便的进行屏幕录制、操作记录回放是一个需要解决的问题。
发明内容
为了克服现有技术的问题,本发明提出了一种基于Guacamole的远程操作屏幕录制与回放系统和方法。所述的系统和方法通过对Guacamole传输协议的传输内容进行处理占用空间极小。所述的系统和方法提供了一种播放服务器和一种基于Javascript的播放客户端,能够建立一种基于Guacamole协议的传输通道,能够解析所述屏幕录制文件并实现远程操作过程的再现,简化了原有操作流程的同时提高了信息的安全性。
本发明的目的是这样实现的:一种基于Guacamole的远程操作屏幕录制与回放系统,包括:与多个被远程设备连接的Guacamole服务器,所述的Guacamole服务器与屏幕录制模块连接,所述的屏幕录制模块与存放屏幕录制文件的存储器,以及多个Guacamole客户端连接,所述的存储器与操作记录回放模块连接,所述的操作记录回放模块与多个播放客户端连接;
所述屏幕录制模块,将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的传输内容进行分批处理并以追加写入的方式生成屏幕录制文件存入存储器中,供操作记录回放模块进行回放;
所述操作记录回放模块,提供基于Html5的web播放服务器和基于Javascript的播放客户端,当用户通过浏览器访问所述web播放服务器地址时,将首先下载所述web播放客户端,并由所述播放客户端与所述web播放服务器之间建立基于Guacamole协议传输的传输通道,所述web播放服务器能够解析所述屏幕录制文件,并且按Guacamole协议的方式向所述播放客户端所在远程终端浏览器以固定的频率进行持续不断的数据传输,从而实现在远程终端浏览器上再现原始远程操作过程的功能。
进一步的,所述的Guacamole服务器通过RDP、VNC、SSH远程桌面协议与被远程设备连接。
一种使用上述系统的远程操作屏幕录制方法,包括以下步骤:
步骤1,创建录屏文件:由Guacamole客户端在存储器的指定目录下创建屏幕录制文件,并将Guacamole连接的uuid编号命名为该文件名称;
步骤2,记录远程维护操作与屏幕回显:将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的一次传输内容进行读取操作;
步骤3,存储:将传输内容和传输时间信息以追加写入的方式写入存储器中的屏幕录制文件;
步骤4,重复步骤2、步骤3的操作内容直到远程连接结束。
一种使用上述系统的远程操作屏幕回放方法,包括以下步骤:
步骤1,建立连接:所述播放客户端得到web播放服务器地址及想要查看的屏幕录制文件名称,由所述播放客户端向所述web播放服务器发送connect指令以及相应屏幕录制文件名称参数;
步骤2,连接确认:所述web播放服务器接收connect指令及其参数,查找和判断与之对应的屏幕录制文件是否存在,如存在,则返回所述屏幕录制文件名称,否则返回空;
步骤3,发出读取请求:所述播放客户端收到所述屏幕录制文件名称,则以所述屏幕录制文件名称为参数,向web播放服务器发送read请求,并开始监听用户的操作;
步骤4,读取屏幕录制文件:所述web播放服务器接收到read请求及其参数后,开始解析所述屏幕录制文件,并以文件中规定的时间间隔持续不断的返回相应时刻的内容,直到到达文件结束位置;
步骤5,显示屏幕录制文件:所述播放客户端持续不断的接收到反馈内容并加以显示,从而实现远程操作的回放。
进一步的,所述的显示屏幕录制文件步骤中,当所述播放客户端监听到用户操作时,向所述web播放服务器发送write请求及其相应操作数据,由所述web播放服务器根据操作数据判断用户操作类型为播放快进、播放慢进、播放暂停、播放停止、播放拖拽、指令回溯或无效操作,并根据操作类型,对所述屏幕录制文件进行相应处理并持续不断的返回数据直到文件结尾。
本发明的优点和有益效果是:本发明通过对Guacamole传输协议的传输内容进行分批处理并以追加写入的方式存储生成的屏幕录制文件,存储了基于Guacamole协议的传输内容,因此在之后的操作记录回放环节可以完全一致的还原远程操作的过程,并且相对于视频文件占用空间更小,一次数十分钟的远程操作,其屏幕录制文件大小约为几百到几千KB,而普通视频文件则高达几十几百MB,从而极大地节省了存储空间,降低了对远程操作所在远程协助服务器设备的硬件存储空间要求。所提供的web播放服务器,能够实现在远程终端浏览器与所述屏幕录制文件之间建立了一种基于Guacamole协议的传输通道,能够解析所述屏幕录制文件,并且按Guacamole协议的方式向远程终端浏览器进行数据传输,使得用户可以在与远程操作相同的浏览器上直接对所述屏幕录制文件进行回放操作,并且支持播放快进、播放慢进、播放暂停、播放停止和播放拖拽的个性化操作,简化了原有操作流程,同时也无需将文件进行挪动即可实现对远程操作的回放。由于屏幕录制文件的播放依赖于所述web播放服务器和Guacamole传输协议,使得所述屏幕录制文件即使泄漏如无相应的系统环境则无法进行播放,从而保证了信息的安全。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为本发明实施例一所述系统的原理框图;
图2为本发明实施例三所述的屏幕录制的流程图;
图3为本发明实施例三中举例某一次传输录屏的Guacamole协议内容;
图4为本发明实施例三中举例某一次传输录屏的Guacamole协议内容传输的鼠标图片;
图5为本发明实施例四所述的操作记录回放的方法流程图。
具体实施方式
实施例一:
本实施例是一种基于Guacamole的远程操作屏幕录制与回放系统,如图1所示。本实施例包括:与多个被远程设备连接的Guacamole服务器,所述的Guacamole服务器与屏幕录制模块连接,所述的屏幕录制模块与存放屏幕录制文件的存储器,以及多个Guacamole客户端连接,所述的存储器与操作记录回放模块连接,所述的操作记录回放模块与多个播放客户端连接。
本实施例所述的系统可以设置在云中,也可以设置专门的服务器集群。本实施例是设置在被远程和Guacamole客户端之间的一个专门用于记录维护操作过程的系统,主要包括:Guacamole服务器、屏幕录制模块和操作记录回放模块。
Guacamole服务器,通过常用的标准远程桌面协议如RDP、VNC、SSH等与被远程设备直接建立远程连接。当用户使用支持Html5的浏览器连接Guacamole服务器时,其内部的web服务器提供给用户基于JavaScript编写的Guacamole客户端,加载后,由Guacamole客户端使用Guacamole协议通过Http与Guacamole服务器建立连接,从而实现远程连接和远程操作。
Guacamole客户端布置在联网的并支持Html5浏览器的台式机或手机、平板电脑等终端硬件设备上。如图1所示,支持Html5浏览器的终端设备可以有多个并可以是多种形式,也就是说,多个设备供应方的维护人员可以通过台式机、手机或平板电脑等设备远程对被远程设备进行监控和维护。所述的被远程设备是指设备购买和使用方已经安装和使用的设备,这些已经安装和使用的设备一般由设备提供方或专业的运维公司进行设备正常运行的监控和维护,提供巡检和应急处理等服务。图1中显示了被远程设备A、B、C分别使用RDP、VNC、SSH进行连接,由于Guacamole协议是这些超集,因此Guacamole服务器能够支撑这些协议的运行。在实际中被远程设备还可以很多,不仅仅限于这三个,也不仅仅限于这三种。本实施例所述的系统不仅可以支持一个设备提供公司对一个设备使用方的远程服务,还能够同时提供多个设备提供方和维护方对多个设备使用方的远程服务。
屏幕录制模块,将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的传输内容进行分批处理并以追加写入的方式存储生成屏幕录制文件,以供操作记录回放模块进行回放。
操作记录回放模块,提供了一种基于Html5的web播放服务器和一种基于Javascript的播放客户端,当用户通过浏览器访问所述播放服务器地址时,将首先下载所述播放客户端,并由所述播放客户端与所述播放服务器之间建立一种基于Guacamole协议传输的Http连接,所述播放服务器能够解析所述屏幕录制文件,并且按Guacamole协议的方式向所述播放客户端所在远程终端浏览器进行数据传输,从而实现在远程终端浏览器上再现原始远程操作过程的功能。
图1中显示的屏幕录制文件1、屏幕录制文件2所表达的是所述存储器中的多个屏幕录制文件(还可以更多),这些屏幕录制文件根据Guacamole连接的uuid编号命名存储在制定的目录中。存储器可以是设置在云中的云存储。
实施例二:
本实施例是实施例一的改进,是实施例一关于Guacamole远程维护服务器模块细化。本实施例所述的Guacamole远程维护服务器模块通过RDP、VNC、SSH远程桌面协议与远程被维护设备连接。
由于Guacamole是RDP、VNC、SSH远程桌面协议的超集,因此使用Guacamole协议支持各种远程桌面。
实施例三:
本实施例是一种使用上述实施例所述系统的远程操作屏幕录制方法。
所述屏幕录制方法包括以下步骤,流程如图2所示:
步骤1,创建录屏文件:由Guacamole客户端在存储器的指定目录下创建屏幕录制文件,并将Guacamole连接的uuid编号命名为该文件名称。
在对被远程设备进行远程操作开始之前,首先要准备存放屏幕录制文件的存放位置。这一指令应当是自动进行的,只要维护方一旦启动对被维护设备的任何操作,都应当建立屏幕录制文件,以实现对远程维护操作的全方位监控。
这里所述的Guacamole连接包括,被远程设备与Guacamole服务器的连接,Guacamole服务器与屏幕录制模块的连接,以及屏幕录制模块与Guacamole客户端的连接,这些连接都是基于Guacamole协议。
在指定目录(默认为/usr/local/record/)下创建屏幕录制文件,Guacamole连接建立时会生成一个唯一的uuid编号,之后的交互过程,便以该uuid编号来标识此连接的过程。因此以此uuid编号命名屏幕录制文件,同样保证了数据的唯一性。
步骤2,记录远程维护操作与屏幕回显:记录远程维护操作与屏幕回显:将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的一次传输内容进行读取操作。
Guacamole服务器发往Guacamole客户端的传输内容为基于Guacamole协议的屏幕回显内容。Guacamole服务器以一定的频率将被远程设备屏幕发生变动的局部区域内容以Guacamole协议的方式向Guacamole客户端发送,由Guacamole客户端将屏幕回显内容与之前的屏幕显示内容进行合成。
当Guacamole客户端进行远程维护操作时,Guacamole客户端会将用户的操作以Guacamole协议的方式向Guacamole服务器发送,并由Guacamole服务器对远程维护操作内容进行解析并发送给远程被维护设备。
传统的屏幕录制每一帧的录屏都需要对整个屏幕进行截屏复制,导致录屏文件size较大,对存储要求较高,而对一次传输的Guacamole传输内容进行记录,则可以大大降低文件占用空间容量(这是由于每一次的Guacamole协议内容,只包括与上一次相比,屏幕发生变动的局部屏幕的内容,如未发生变化,则只有时间同步信息),而且通过技术手段,建立与Guacamole客户端类似的播放客户端,就可以实现对Guacamole传输内容的再现。
Guacamole传输内容包括Guacamole服务器发往客户端的屏幕回显, 以及客户端发往Guacamole服务器的用户远程操作指令内容。 其中屏幕回显的传输是固定频率的,一次屏幕回显的传输类似视频中的一帧的概念,与数据量大小无关。而用户的远程操作指令是当用户进行远程操作的时候才会进行传输,如果没有操作则不会传输。
屏幕回显是 Guacamole服务器发往客户端的,其发送频率是固定的,不管是否有屏幕的变化,都会以固定的频率进行发送,只是发送的内容不同,有屏幕变化时,发送的内容包含屏幕变化的局部图像信息和时间同步信息,而没有变化时,则只发送时间同步信息。
而远程操作指令是客户端发往Guacamole服务器的,是当远程协助用户进行操作时,才会发送,没有固定的频率。发送的内容 只有指令信息,包含鼠标操作指令或键盘操作指令。
传统的屏幕录制是对用户所在客户端屏幕的录制,而这种录制只是对屏幕进行固定频率的截屏,无法发现屏幕的变化,对用户的操作也没有办法进行录制的,需要借助其他的手段(通常是图像识别等)才能实现,而本实施例是对Guacamole服务器和客户端交互的信息进行录制,不仅包含了屏幕回显,也对用户的操作指令进行了记录。
对于屏幕回显的一次传输是根据Guacamole服务器的发送频率来确定的。一次传输可以理解为视频中的一帧图像,按照Guacamole服务器的发送频率,一帧一帧的以固定的时间间隔进行发送。实际中本实施例所述的一帧图像不是视频中的一帧图像,而是屏幕在键盘和鼠标操作过程中发生的局部变化,如果有变化则发送局部变化的图像信息以及时间同步信息,当屏幕没有发生变化时,则只发送时间同步信息,一旦屏幕发生变化则再次将屏幕局部变化的信息以及时间同步信息发送。由于发送的内容仅仅是屏幕发送变化的局部图像信息,包括图像的base64编码信息以及图像所在的位置坐标信息,因此所发送的内容十分简单,使录屏文件size很小,便于传输也便于操作和存储。
如图3所示为Guacamole远程维护服务器发往远程维护客户端的一次屏幕回显的Guacamole协议的传输内容,其中包括了屏幕区域内发生变化的局部的一张图片的base64编码内容,图片大小和位置信息等,图片如图4所示,为一张鼠标光标的图片,像素宽度为32,像素高度为32,所在坐标x/y为0/0。
由此可以看出,本实施例所述的Guacamole协议传输的并不是整个屏幕的截图,而是屏幕中发生变化的局部的位置的截图,传输内容的结尾 以4.sync开头的部分是时间同步信息。
当屏幕未发生变化时,传输的内容则只有时间同步信息,而没有当前时刻的屏幕变动局部截屏图片信息了。因此,相对于普通的视频文件,Guacamole的传输内容少,占用空间较小。
步骤3,存储:将传输内容和传输时间信息写入存储器中的屏幕录制文件。
将传输内容和传输时间信息加以处理以追加写入的方式写入步骤1中创建的屏幕录制文件。为了之后在操作记录回放时,能够方便快速的响应用户的个性化操作(例如快进,慢进,指令回溯等操作),一方面需要区分传输内容的类型是屏幕回显内容还是用户远程操作内容,另一方面需要将处理时间进行记录。
步骤4,重复步骤2、步骤3的操作内容直到远程连接结束。
重复操作就是不断的对每一“帧”进行操作,也就是对所有有变化的屏幕进行录制操作。
实施例四:
本实施例是一种使用实施例二所述系统的远程操作屏幕回放方法。
所述的操作记录回放的方法,提供了一种基于Html5浏览器的web播放服务器和一种基于Javascript的播放客户端,当用户通过浏览器访问所述播放服务器地址时,将首先下载所述播放客户端,并由所述播放客户端与所述web播放服务器之间建立一种基于Guacamole协议传输的Http连接,所述播放服务器能够解析所述屏幕录制文件,并且按Guacamole协议的方式向所述播放客户端所在远程终端浏览器进行数据传输,从而实现在远程终端浏览器上再现原始远程操作过程的功能。所述再现原始远程操作的过程包括:
用户通过浏览器访问所述播放服务器地址时,将首先下载所述播放客户端,并由播放客户端向web播放服务器发送connect、read和write的三种指令及其相关参数,由web播放服务器根据三种指令和参数对所述屏幕录制文件进行处理并和返回相应数据。
所述回放方法具体包括如下步骤(流程如图5所示):
步骤1,建立连接:所述播放客户端得到web播放服务器地址及想要查看的屏幕录制文件名称,由所述播放客户端向所述web播放服务器发送connect指令以及相应屏幕录制文件名称参数。
当某一客户,如被维护设备的机主或者维护方的主管人员,想要看一看维护人员的操作记录,可以找一个能够支持Html5浏览器的硬件终端,通过输入web播放服务器地址及想要查看的屏幕录制文件名称与操作记录回放模块建立连接。当用户输入web播放器地址以及屏幕录制文件名称之后,首先将下载基于Javascript编写的播放客户端,当播放客户端下载完成后,会自动向web播放服务器发送connect指令以及屏幕录制文件名称。
步骤2,连接确认:所述web播放服务器接收connect指令及其参数,查找和判断与之对应的屏幕录制文件是否存在,如存在,则返回所述屏幕录制文件名称,否则返回空。
屏幕录制文件的名称是连接的唯一标识,由于同时可能有多个播放客户端请求对远程操作内容进行回放,web播放服务器正是基于录屏文件的名称来区分和确定向播放客户端返回哪个屏幕录制文件内容的。
步骤3,发出读取请求:发出读取请求:所述播放客户端收到所述屏幕录制文件名称,则以所述屏幕录制文件名称为参数,向web播放服务器发送read请求,并开始监听用户的操作。
播放客户端不仅要对远程操作内容进行回放,同时还要及时快速的响应用户的个性化操作。播放客户端支持播放快进、播放慢进、播放暂停、播放停止、播放拖拽以及指令回溯的功能,播放客户端将监听这些功能按钮的点击操作,当点击操作发生时,播放客户端会向播放服务器发送write请求并将具体的请求指令以参数形式发送。
步骤4,读取屏幕录制文件:所述web播放服务器接收到read请求及其参数后,开始解析所述屏幕录制文件,并以文件中规定的时间间隔持续不断的返回相应时刻的内容,直到到达文件结束位置。
当web播放服务器收到read请求,并不是一次性将屏幕录制文件的所有内容全部发送,而是按照文件记录的处理时间,以一定的频率向播放客户端分批进行发送。所述的一定的频率代表正常播放速度的屏幕回显回传的速度。当用户选择快进或慢进时,web播放器会修改播放频率,并以新的频率向播放客户端发送屏幕录制文件的内容。
步骤5,显示屏幕录制文件:所述播放客户端持续不断的接收到反馈内容并加以显示,从而实现远程操作的回放。
屏幕回显的一次传输内容是基于Guacamole协议的,其内容并不是整个屏幕的截屏信息,而是该时间段发生变动的局部区域的画面以及相应的位置坐标信息等内容。播放客户端会将本次的屏幕回显内容与之前的屏幕内容进行合成绘制操作,从而显示新一帧的屏幕画面。
回放过程可以类似于视音频播放那样实现快进、慢进、暂停、停止、拖拽或无效操作等动作,也可以进行指令的回溯。
实施例五:
本实施例是实施例四的改进,是实施例四关于显示屏幕录制文件的细化。本实施例所述的显示屏幕录制文件步骤中,当所述播放客户端监听到用户操作时,向所述web播放服务器发送write请求及其相应操作数据,由所述web播放服务器根据操作数据判断用户操作类型为播放快进、播放慢进、播放暂停、播放停止、播放拖拽、指令回溯或无效操作,并根据操作类型,对所述屏幕录制文件进行相应处理并持续不断的返回数据直到文件结尾。
例如当用户选择了播放快进的操作时,web播放服务器收到相应的write请求和参数后,将修改返回屏显数据的频率,从而加快播放的速度。
最后应说明的是,以上仅用以说明本发明的技术方案而非限制,尽管参照较佳布置方案对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案(比如系统的构成、协议的应用、步骤的先后顺序等)进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (5)
1.一种基于Guacamole的远程操作屏幕录制与回放系统,其特征在于,包括:与多个被远程设备连接的Guacamole服务器,所述的Guacamole服务器与屏幕录制模块连接,所述的屏幕录制模块与存放屏幕录制文件的存储器,以及多个Guacamole客户端连接,所述的存储器与操作记录回放模块连接,所述的操作记录回放模块与多个播放客户端连接;
所述屏幕录制模块,将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的传输内容进行分批处理并以追加写入的方式生成屏幕录制文件存入存储器中,供操作记录回放模块进行回放;Guacamole传输内容包括Guacamole服务器发往客户端的屏幕回显,以及客户端发往Guacamole服务器的用户远程操作指令内容,屏幕回显是Guacamole 服务器发往客户端的,其发送频率是固定的,不管是否有屏幕的变化,都会以固定的频率进行发送,只是发送的内容不同;有屏幕变化时,发送的内容包含屏幕变化的局部图像信息和时间同步信息;而没有变化时,则只发送时间同步信息,远程操作指令是客户端发往Guacamole服务器的,是当远程协助用户进行操作时,才会发送,没有固定的频率;发送的内容只有指令信息,包含鼠标操作指令或键盘操作指令;
所述操作记录回放模块,提供基于Html5的web播放服务器和基于Javascript的播放客户端,当用户通过浏览器访问所述web播放服务器地址时,将首先下载web播放客户端,并由所述播放客户端与所述web播放服务器之间建立基于Guacamole协议传输的传输通道,所述web播放服务器能够解析所述屏幕录制文件,并且按Guacamole协议的方式向所述播放客户端所在远程终端浏览器以固定的频率进行持续不断的数据传输,从而实现在远程终端浏览器上再现原始远程操作过程的功能。
2.根据权利要求1所述的系统,其特征在于,所述的Guacamole服务器通过RDP、VNC、SSH远程桌面协议与被远程设备连接。
3.一种使用权利要求2所述系统的远程操作屏幕录制方法,其特征在于,包括以下步骤:
步骤1,创建录屏文件:由Guacamole客户端在存储器的指定目录下创建屏幕录制文件,并将Guacamole连接的uuid编号命名为该文件名称;
步骤2,记录远程维护操作与屏幕回显:将被远程设备经由Guacamole服务器与Guacamole客户端之间交互的Guacamole协议的一次传输内容进行读取操作;
步骤3,存储:将传输内容和传输时间信息以追加写入的方式写入存储器中的屏幕录制文件;
步骤4,重复步骤2、步骤3的操作内容直到远程连接结束。
4.一种使用权利要求2所述系统的远程操作屏幕回放方法,其特征在于,包括以下步骤:
步骤1,建立连接:所述播放客户端得到web播放服务器地址及想要查看的屏幕录制文件名称,由所述播放客户端向所述web播放服务器发送connect指令以及相应屏幕录制文件名称参数;
步骤2,连接确认:所述web播放服务器接收connect指令及其参数,查找和判断与之对应的屏幕录制文件是否存在,如存在,则返回所述屏幕录制文件名称,否则返回空;
步骤3,发出读取请求:所述播放客户端收到所述屏幕录制文件名称,则以所述屏幕录制文件名称为参数,向web播放服务器发送read请求,并开始监听用户的操作;
步骤4,读取屏幕录制文件:所述web播放服务器接收到read请求及其参数后,开始解析所述屏幕录制文件,并以文件中规定的时间间隔持续不断的返回相应时刻的内容,直到到达文件结束位置;
步骤5,显示屏幕录制文件:所述播放客户端持续不断的接收到反馈内容并加以显示,从而实现远程操作的回放。
5.根据权利要求4所述回放方法,其特征在于,所述的显示屏幕录制文件步骤中,当所述播放客户端监听到用户操作时,向所述web播放服务器发送write请求及其相应操作数据,由所述web播放服务器根据操作数据判断用户操作类型为播放快进、播放慢进、播放暂停、播放停止、播放拖拽、指令回溯或无效操作,并根据操作类型,对所述屏幕录制文件进行相应处理并持续不断的返回数据直到文件结尾。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210478383.8A CN114979115B (zh) | 2022-05-05 | 2022-05-05 | 一种基于Guacamole的远程操作屏幕录制与回放系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210478383.8A CN114979115B (zh) | 2022-05-05 | 2022-05-05 | 一种基于Guacamole的远程操作屏幕录制与回放系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979115A CN114979115A (zh) | 2022-08-30 |
CN114979115B true CN114979115B (zh) | 2024-03-26 |
Family
ID=82978995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210478383.8A Active CN114979115B (zh) | 2022-05-05 | 2022-05-05 | 一种基于Guacamole的远程操作屏幕录制与回放系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979115B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105405325A (zh) * | 2015-12-22 | 2016-03-16 | 深圳市时尚德源文化传播有限公司 | 一种网络教学方法及系统 |
CN111522726A (zh) * | 2020-04-24 | 2020-08-11 | 北京安码科技有限公司 | 用于实现多虚拟机操作实时录屏审计的方法、系统、电子设备及存储介质 |
CN113709553A (zh) * | 2021-09-30 | 2021-11-26 | 深圳市欢太数字科技有限公司 | 一种屏幕录制方法、装置、芯片和终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526312A (zh) * | 2016-11-29 | 2020-08-11 | 华为技术有限公司 | 屏幕录像的录制、播放方法、录屏终端及播放终端 |
CN110442366B (zh) * | 2019-08-09 | 2021-06-15 | 广州视源电子科技股份有限公司 | 一种传屏处理方法、装置、设备和存储介质 |
-
2022
- 2022-05-05 CN CN202210478383.8A patent/CN114979115B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105405325A (zh) * | 2015-12-22 | 2016-03-16 | 深圳市时尚德源文化传播有限公司 | 一种网络教学方法及系统 |
CN111522726A (zh) * | 2020-04-24 | 2020-08-11 | 北京安码科技有限公司 | 用于实现多虚拟机操作实时录屏审计的方法、系统、电子设备及存储介质 |
CN113709553A (zh) * | 2021-09-30 | 2021-11-26 | 深圳市欢太数字科技有限公司 | 一种屏幕录制方法、装置、芯片和终端 |
Non-Patent Citations (2)
Title |
---|
Windows屏幕变化区域捕捉与回放系统设计及实现;刘志伟;;电脑编程技巧与维护(16);全文 * |
基于Mirror Driver的自适应屏幕录制算法;倪晓军;郑龙;;计算机工程(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114979115A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6437786B1 (en) | Method of reproducing image data in network projector system, and network projector system | |
US9860490B2 (en) | Network video recorder system | |
US10477158B2 (en) | System and method for a security system | |
US10157526B2 (en) | System and method for a security system | |
US11082665B2 (en) | System and method for a security system | |
US8922658B2 (en) | Network video recorder system | |
US7664813B2 (en) | Dynamic data presentation | |
KR101531164B1 (ko) | 사용자 인터페이스 디렉터리를 이용한 사용자 인터페이스 제공/수신하는 방법 및 장치 | |
CN114025140A (zh) | 用于b/s架构监控系统的一体化客户端 | |
US20180288484A1 (en) | Virtual high definition video player | |
CN114979115B (zh) | 一种基于Guacamole的远程操作屏幕录制与回放系统和方法 | |
EP0872987A2 (en) | Apparatus for providing information, method of providing information and computer-readable storage medium retaining a program for providing information | |
JP2000023150A (ja) | プロジェクタにおける画像データの再生方法及びプロジェクタ | |
WO2023024800A1 (zh) | 基于web的多终端设备互动方法、系统、终端设备 | |
CN114040225B (zh) | 一种服务器、显示设备及媒资映射方法 | |
CN114173176B (zh) | 一种服务器、显示设备及媒资过滤方法 | |
CN114363679B (zh) | 一种显示设备、服务器及媒资播放方法 | |
CN112601107B (zh) | 一种异常场景下历史记录同步的方法及显示设备 | |
CN113794890B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116137667A (zh) | 一种服务器、显示设备及媒资迁移方法 | |
JP2007241817A (ja) | 端末装置およびコンテンツ受信方法 | |
CN115827135A (zh) | 云桌面处理方法、系统、电子设备和可读存储介质 | |
CN117149122A (zh) | 同屏互动方法、装置、系统、设备及介质 | |
US20160150016A1 (en) | Method and device for communicating via a shared interaction space | |
CN115543932A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |