一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种屏幕录制方法、装置、芯片和终端与流程

2021-11-29 19:00:00 来源:中国专利 TAG:


1.本技术属于计算机技术领域,尤其涉及一种屏幕录制方法、装置、芯片和终端。


背景技术:

2.为了保存在终端上的操作记录,通常会使用屏幕录制方法对终端的屏幕进行录像。
3.例如,采用浏览器提供的接口截取屏幕上的帧图像,然后将截取到的帧图像以视频流形式进行保存。然而,采用这种方式得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输。


技术实现要素:

4.本技术实施例提供一种屏幕录制方法、装置、芯片和终端,可以降低屏幕录制文件的数据量,减少屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。
5.本技术实施例第一方面提供一种屏幕录制方法,包括:
6.对屏幕录制过程中采集的第一张图像进行存储,得到所述第一张图像的屏幕录制数据;
7.基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到所述屏幕录制过程中除所述第一张图像以外的每一张图像的屏幕录制数据;
8.其中,n为大于或等于1的整数,所述屏幕录制数据用于在结束屏幕录制后生成屏幕录制文件。
9.本技术实施例第二方面提供一种屏幕录制装置,包括:
10.第一存储单元,用于对屏幕录制过程中采集的第一张图像进行存储,得到所述第一张图像的屏幕录制数据;
11.第二存储单元,用于基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到所述屏幕录制过程中除所述第一张图像以外的每一张图像的屏幕录制数据;
12.其中,n为大于或等于1的整数,所述屏幕录制数据用于在结束屏幕录制后生成屏幕录制文件。
13.本技术实施例第三方面提供一种芯片,包括处理器,处理器用于读取并执行存储器中存储的计算机程序,以实现上述第一方面的方法的步骤
14.本技术实施例第四方面提供一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面的方法的步骤。
15.本技术实施例第五方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的方法的步骤。
16.本技术实施例中,通过基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,实现了在屏幕录制过程中,对终端的显示界面对应的图像进行压缩处理,有效降低了屏幕录制文件的数据量,减少了屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。
附图说明
17.为了更清楚地说明本技术实施例的屏幕录制方法,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1是本技术实施例提供的终端的硬件结构示意图;
19.图2是本技术实施例提供的终端的软件结构示意图;;
20.图3是本技术实施例提供的屏幕录制方法的实现流程示意图;
21.图4是本技术实施例提供的屏幕录制方法的另一实现流程示意图;
22.图5是本技术实施例提供的屏幕录制方法的另一实现流程示意图;
23.图6是本技术实施例提供的终端的显示界面的第一示意图;
24.图7是本技术实施例提供的终端的显示界面的第二示意图;
25.图8是本技术实施例提供的屏幕录制装置的结构示意图。
具体实施方式
26.为了使本技术的目的、屏幕录制方法及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,除非另有说明,“多个”是指两个或多于两个,“至少一个”、“一个或多个”是指一个、两个或两个以上。
28.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
29.本技术实施例的方法可以应用于多种终端,例如,手机、平板电脑、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等需要进行屏幕录制的终端上,本技术实施例对终端的具体类型不作任何限制。
30.以上述终端为手机为例。图1示出的是与本技术实施例提供的手机的部分结构的
示意图。参考图1,手机包括:射频(radio frequency,rf)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,wi

fi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
31.其中,存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。
32.处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据。
33.例如,上述处理器180执行存储在存储器120内的软件程序时可以实现下述屏幕录制方法的步骤:
34.对屏幕录制过程中采集的第一张图像进行存储,得到所述第一张图像的屏幕录制数据;
35.基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到屏幕录制过程中除所述第一张图像以外的每一张图像的屏幕录制数据;
36.其中,n为大于或等于1的整数,所述屏幕录制数据用于在结束屏幕录制后生成屏幕录制文件。
37.可选的,处理器180可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。当处理器180包含多个处理核心时,终端可以在当前已创建的线程的基础上,通过新建屏幕录制线程的方式,实现本技术的屏幕录制方法,以充分利用终端的剩余的多核心运算能力,使得在服务端(例如,服务器)无需在部署相应的能力,降低了服务端的部署成本,并避免影响终端正在运行的应用的运行过程。
38.可以理解的是,本技术实施例示意的结构并不构成对终端的具体限定。在本技术另一些实施例中,设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
39.图2是本技术实施例的手机100的软件结构示意图。以手机100操作系统为android系统为例,在一些实施例中,将android系统分为四层,分别为应用程序层、应用程序框架层(framework,fwk)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
40.如图2所示,上述应用程序层可以包括一系列应用程序包,应用程序包可以包括浏览器、支付类应用、保险类应用、社交类应用以及用于实现本技术的屏幕录制方法的屏幕录制应用等应用程序。
41.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
42.如图2所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
43.其中,通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知
类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
44.本技术实施例中,在检测终端显示界面的显示内容是否存在变化的过程中,可以通过监听通知管理器的运行状态实现。
45.例如,在监听到通知管理器在状态栏输出了通知时,则确定检测到终端显示界面的显示内容存在变化。
46.以下实施例可以在具有上述硬件结构/软件结构的手机上实现。下面对本技术实施例提供的屏幕录制方法、装置、芯片和终端进行说明。
47.目前,为了保存用户在终端上的操作记录,通常会使用屏幕录制方法对终端的屏幕进行录像。
48.例如,采用浏览器提供的接口截取终端显示屏上的帧图像,然后将截取到的帧图像以视频流形式进行保存。
49.然而,采用这种方式得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输。
50.除此之外,目前还存在一种屏幕录制方法,通过将网页的html内容上传到服务器,然后监听用户对该网页的操作,以及网页的变化数据,接着将用户的操作数据以及网页的变化数据上传至上传到服务器中,由服务器保存为屏幕录制文件,相比于通过截取帧图像的方式得到的屏幕录制文件,屏幕录制文件的数据量较小。
51.然而,这种方式得到的屏幕录制文件,由于html内容中只包含图片链接,没有图片具体内容。因此,在基于屏幕录制文件进行视频回放时,该图片链接对应的图片有可能已经被下架,而导致视频回放的时候会缺少背景图。因此为了应对此类问题,常见做法,将图片永久性存储,极大的增加了服务器成本。并且,在视频回放的时候,还需要在服务端配置chrome浏览器等相应的浏览工具,制作回放视频,存在还原成本高的问题。
52.另外,由于html内容只包含有层叠样式表(cascading style sheets,css)的链接地址,不包含css具体内容,而css会影响到页面的显示效果,所以可能会发生以下两种问题:第一种、css链接地址不变,但是内容发生变化,导致基于html内容中的css链接地址无法还原回屏幕录制时对应的显示界面;第二种、html内容中的css链接地址不能访问,导致无法还原回屏幕录制时对应的显示界面。因此,为了应对此类问题,常见的解决方法是,做版本管理,对css链接进行永久的版本控制。然而,这些都会大幅度增加css的开发成本和维护成本。
53.基于上述问题,本技术实施例提供一种屏幕录制方法、装置、芯片和终端,可以减少屏幕录制文件占用的存储空间,有利于对屏幕录制文件进行数据传输,并且,由于是直接采集终端显示界面对应的图像进行压缩存储,而非只存储页面元素对应的访问链接,因此,不会出现无法还原为屏幕录制时对应的显示界面的问题。
54.为了更好地理解本技术实施例提供的屏幕录制方法,以下结合附图,从实现层面介绍具体的实现过程。
55.示例性的,如图3示出了本技术实施例提供的一种屏幕录制方法的流程示意图。该
屏幕录制方法可以由上述终端配置的屏幕录制装置执行,具体包括如下步骤301至步骤302。
56.步骤301,对屏幕录制过程中采集的第一张图像进行存储,得到第一张图像的屏幕录制数据。
57.本技术实施例中,上述对屏幕录制过程中采集的第一张图像进行存储的过程中,可以是指对第一张图像直接进行存储,而不进行压缩处理。
58.步骤302,基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据。
59.本技术实施例中,上述步骤302中的n为大于或等于1的整数。
60.上述基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据,可以是指,对屏幕录制过程中采集到的除第一张图像以外的图像进行存储时,需要基于历史采集到的图像为基础,进行压缩存储。
61.例如,在对屏幕录制过程中采集的第一张图像进行存储之后,基于第一张图像对第二张图像进行压缩存储,得到屏幕录制过程中第二张图像的屏幕录制数据,接着,基于第一张图像和第二张图像对第三张图像进行压缩存储,得到屏幕录制过程中第三张图像的屏幕录制数据,依此类推,得到屏幕录制过程中的每一张图像的屏幕录制数据。
62.本技术实施例中,在结束屏幕录制后,可以基于上述步骤301以及上述步骤302存储的屏幕录制数据生成最终的屏幕录制文件。
63.例如,在一个实施例中,终端可以将上述步骤301以及上述步骤302存储的屏幕录制数据发送给服务器,由服务器对上述步骤301以及上述步骤302得到的屏幕录制数据进行汇总、压缩后,得到屏幕录制文件,或者,直接在本地对上述步骤301以及上述步骤302得到的屏幕录制数据进行汇总、压缩后,得到屏幕录制文件,本技术对此不做限制。
64.本技术实施例中,通过基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,有效降低了屏幕录制文件的数据量,减少了屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。另外,由于本技术是直接采集终端显示界面对应的图像进行压缩存储,而非只存储页面元素对应的访问链接,因此,不会出现无法还原为屏幕录制时对应的显示界面的问题。
65.需要说明的是,本技术实施例中,上述步骤302中的第一张图像至第n张图像以及第n 1张图像,可以是指单个屏幕录制周期中采集的第一张图像至第n张图像以及第n 1张图像,并且,该屏幕录制周期的确定可以包含以下两种方式:第一种,将单次屏幕录制过程直接作为一个屏幕录制周期,第二种,将单次屏幕录制过程依据预设规则划分为一个或多个屏幕录制周期。
66.例如,当上述屏幕录制为针对网页的屏幕录制,则在屏幕录制过程中,可以将在同一个网页上采集的图像作为同一个屏幕录制周期采集的图像,而将不同网页上采集的图像作为不同屏幕录制周期采集的图像。以减少基于第一张图像至第n张图像,对第n 1张图像进行压缩存储的计算量。
67.基于这种预设规则,当单次屏幕录制过程中,不存在网页跳转时,可以将单次屏幕
录制过程直接作为一个屏幕录制周期;而当单次屏幕录制过程中,存在网页跳转时,可以将在同一个网页上采集的图像作为同一个屏幕录制周期采集的图像,而将不同网页上采集的图像作为不同屏幕录制周期采集的图像,进而将单次屏幕录制过程划分为多个屏幕录制周期。
68.具体的,由于在同一个网页上采集的图像的相似度较大,不同网页上采集的图像的相似度较小,因此,将在同一个网页上采集的图像进行压缩时,可以通过提取相同的图像内容进行合并的方式,达到最大的压缩率,并且,可以减小压缩过程压缩字典的数据量,或者,减小需要进行图像比对的数据量,进而减少基于第一张图像至第n张图像,对第n 1张图像进行压缩存储的计算量,同时在进行录制文件的回放时,还可以基于单个屏幕录制周期采集的图像进行回放,使得屏幕录制文件的回放具有更大的灵活性。
69.例如,用户只需要看某个网页的回放,则可以只需要对该网页对应的屏幕录制周期采集的图像进行回放即可。
70.同理,当上述屏幕录制为针对视频播放的屏幕录制,则在屏幕录制过程中,可以将在同一个视频上采集的图像作为同一个屏幕录制周期采集的图像,而将不同视频上采集的图像作为不同屏幕录制周期采集的图像。以减少基于第一张图像至第n张图像,对第n 1张图像进行压缩存储的计算量。
71.需要说明的是,上述仅仅是对预设规则的确定方式进行举例说明,并不表示为对本技术保护范围的限制,可以理解的是,本技术可以针对不同的屏幕录制场景,采用不同的划分规则确定屏幕录制周期。并且,上述屏幕录制文件可以为基于单次屏幕录制过程中,采集到的全部图像得到的屏幕录制文件。
72.为了降低压缩存储的计算量,在本技术的一些实施方式中,上述实施例中的第n张图像以及第n 1张图像可以基于预设采样时间间隔采样得到,或者,在终端显示界面的显示内容存在变化时采样得到,或者,在每个预设采样时间间隔到达时,并且,检测到终端显示界面的显示内容存在变化时采样得到。
73.其中,预设采样时间间隔可以根据实际需求进行设置,例如,对于帧率要求较低的场景,可以增大预设采样时间间隔,反之,则减小预设采样时间间隔。
74.另外,本技术通过在屏幕录制过程中,当终端显示界面的显示内容存在变化时才获取终端显示界面的显示内容对应的图像,可以避免相邻两帧采样得到的图像为相同的图像,因而可以降低屏幕录制文件的数据量大小,减少压缩存储的计算量。
75.可选的,在本技术实施例中,上述第一张图像至第n张图像以及第n 1张图像均为终端显示界面的显示内容对应的图像,即,屏幕录制过程中,用户看到的显示界面对应的显示图像。
76.为避免影响终端正在运行的应用的运行过程,本技术实施例中,在屏幕录制过程中,可以新建屏幕录制线程,接着,利用该屏幕录制线程基于上述显示内容构建虚拟显示图像,然后,将该虚拟显示图像转换为svg格式的图像,并将该svg格式的图像作为终端显示界面的显示内容对应的图像,即,得到上述第一张图像至第n张图像以及第n 1张图像。
77.本技术实施例中,当上述屏幕录制为针对网页的屏幕录制,上述显示内容可以包括用户触摸操作、用户滑动操作、用户点击操作、页面跳转、光标位置、网页对应的文档对象模型树中的dom元素以及dom元素的激活状态中的一种或多种内容。
78.本技术通过直接获取屏幕录制过程中终端显示界面的显示内容对应的第一张图像至第n张图像以及第n 1张图像进行压缩存储,得到屏幕录制文件,使得基于该屏幕录制文件进行图像(视频)回放时,不会出现无法还原为屏幕录制时对应的显示界面的问题。
79.本技术实施例中,由于svg格式的图像为基于文字描述的图像,因此,在利用支持相同内容自动合并的压缩算法对图像进行压缩时,可以提取svg格式的图像中相同内容的部分,实现大幅度的压缩效果,并且,在对图像进行放大时,失真率较低。
80.可选的,上述支持相同内容自动合并的压缩算法可以包括7z格式的压缩算法。
81.如图4所示,为本技术实施例提供的另一屏幕录制方法的实现流程示意图,该屏幕录制方法可以由上述终端配置的屏幕录制装置执行,具体包括如下步骤401至步骤402。
82.步骤401,利用7z格式的压缩算法对屏幕录制过程中采集的第一张图像进行压缩存储,得到第一张图像的屏幕录制数据。
83.也就是说,本实施例中,上述第一张图像的屏幕录制数据是经过对第一张图像进行压缩处理之后得到的,并且,为利用7z格式的压缩算法进行压缩处理得到的。
84.本技术实施例中,7z是一种文件压缩格式,具有高压缩比率,其采用了多种压缩算法进行数据压缩,如lzma、lzma2、bzip2等。因此,与其它压缩格式相比,得到的压缩文档较小。
85.步骤402,基于对屏幕录制过程中采集的第一张图像至第n张图像进行压缩存储得到的压缩字典,利用7z格式的压缩算法对第n 1张显示图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据。
86.本技术实施例中,上述基于对屏幕录制过程中采集的第一张图像至第n张图像进行压缩存储得到的压缩字典,利用7z格式的压缩算法对第n 1张显示图像进行压缩存储,可以是指对屏幕录制过程中采集到的除第一张图像以外的图像进行存储时,需要基于对历史采集到的图像进行压缩存储得到的压缩字典进行压缩存储。
87.例如,先利用7z格式的压缩算法对屏幕录制过程中采集的第一张图像进行压缩存储,得到最初始的压缩字典,然后,基于该最初始的压缩字典,对屏幕录制过程中采集的第二张图像进行压缩存储,得到更新后的压缩字典,接着,再依据更新后的压缩字典,对屏幕录制过程中采集的第三张图像进行压缩存储,依此类推,得到屏幕录制过程中的每一张图像的屏幕录制数据。
88.本技术实施例中,在结束屏幕录制后,可以基于上述步骤401以及上述步骤402存储的屏幕录制数据生成最终的屏幕录制文件。
89.例如,在一个实施例中,终端可以将上述步骤401以及上述步骤402存储的屏幕录制数据发送给服务器,由服务器对上述步骤401以及上述步骤402得到的屏幕录制数据进行汇总、压缩后,得到屏幕录制文件,或者,直接在本地对上述步骤401以及上述步骤402得到的屏幕录制数据进行汇总、压缩后,得到屏幕录制文件,本技术对此不做限制。
90.本技术实施例中,通过利用具有高压缩比率的7z格式的压缩算法对屏幕录制过程中采集到的每张图像进行压缩存储,有效降低了屏幕录制文件的数据量,减少了屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。解决了传统的屏幕录制方法得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输的问题。另外,由于本技术是直接采集终端显示界面对应的图像进行压缩存储,而非只存储
页面元素对应的访问链接,因此,不会出现无法还原为屏幕录制时对应的显示界面的问题。
91.需要说明的是,上述第一张图像至第n张图像以及第n 1张图像除了为svg格式的图像以外,也可以为png、jpeg等其他格式的图像,本技术对此不做限制。
92.但是,由于在使用7z格式的压缩算法对屏幕录制过程中采集的图像进行压缩存储时,对svg格式的图像的压缩效果较佳,因此,在本技术的一些实施方式中,可以通过获取svg格式的第一张图像至第n张图像以及第n 1张图像,然后基于上述步骤401至步骤402的屏幕录制方式进行屏幕录制。
93.可以理解的是,对于其他格式的图像,也可以采用7z格式的压缩算法进行压缩存储。即,本技术的其他实施方式中,可以采用7z格式的压缩算法对屏幕录制过程中采集的其他格式的图像进行压缩存储。
94.还需要说明的是,上述第一张图像至第n张图像以及第n 1张图像还可以通过屏幕截图的方式进行采集,本技术对终端显示界面的显示内容对应的图像的采集方式不做限制。
95.同样的,本技术实施例中,上述步骤402中的第一张图像至第n张图像以及第n 1张图像,可以是指单个屏幕录制周期中采集的第一张图像至第n张图像以及第n 1张图像,并且,该屏幕录制周期的确定可以包含以下两种方式:第一种,将单次屏幕录制过程直接作为一个屏幕录制周期,第二种,将单次屏幕录制过程依据预设规则划分为一个或多个屏幕录制周期,此处不再赘述。
96.可选的,在一个实际应用中,上述图4所示的屏幕录制方法可以通过下述步骤a41~a48实现。
97.a41,征询用户屏幕录制隐私协议。
98.即,在用户同意进行屏幕录制时,执行下述步骤a42

a48,以避免侵犯用户隐私。
99.a42,新建屏幕录制线程worker。
100.例如,在终端处理器的核数为多核时,创建一个或多个单独的屏幕录制线程,以避免影响终端正在运行的应用的运行过程,提高用户进行终端操作的流畅性。
101.a43,利用该屏幕录制线程,基于终端显示界面的显示内容构建虚拟显示图像js

dom;
102.可选的,在利用该屏幕录制线程,基于终端显示界面的显示内容构建虚拟显示图像js

dom的过程中,可以设置定时器、页面监听(即,例如,监听通知管理器的运行状态)以及用户操作监听,在每个预设采样时间间隔到达时,并且,检测到终端显示界面的显示内容存在变化时,利用该屏幕录制线程,基于终端显示界面的显示内容构建虚拟显示图像js

dom。
103.其中,虚拟显示图像是指未在终端的显示界面显示,而仅仅是在终端后台渲染得到的图像数据。
104.另外,当屏幕录制场景为针对网页内容的屏幕录制时,终端显示界面的显示内容可以包括用户触摸操作、用户滑动操作、用户点击操作、页面跳转、光标位置、网页对应的文档对象模型树中的dom元素以及dom元素的激活状态中的一种或多种内容,通过将该显示内容传输给worker,即可构建虚拟js

dom。
105.a44,将a43生成的虚拟显示图像js

dom转换为svg格式的图像。
106.本技术实施例中,由于svg格式的图像为基于文字描述的图像,因此,在利用支持相同内容自动合并的压缩算法对图像进行压缩时,可以提取svg格式的图像中相同内容的部分,实现大幅度的压缩效果,并且,在对图像进行放大时,失真率较低。
107.a45,利用7z格式的压缩算法对a44生成的svg格式的图像进行压缩,得到屏幕录制数据。
108.其中,在利用7z格式的压缩算法对svg格式的图像进行压缩的过程中,可以依序对生成的svg格式的图像进行压缩,提取出每张svg图像中相同内容的部分,并自动合并,同时生成压缩字典,使得在后生成的svg格式的图像可以基于对在先生成的svg格式的图像进行压缩得到的压缩字典,计算出差异数据,并利用7z格式的压缩算法对该差异数据进行压缩,得到在后生成的svg格式的图像的屏幕录制数据,同时,对压缩字典进行更新。
109.例如,先对第一张svg格式的图像进行压缩存储,得到第一张svg格式的图像的屏幕录制数据,并生成最初始的压缩字典;然后基于该最初始的压缩字典,计算第二张svg格式的图像的差异数据,并对该差异数据进行压缩,实现对最初始的压缩字典的更新,并获得对第二张svg格式的图像进行压缩的屏幕录制数据;依此类推,得到每张svg格式的图像的屏幕录制数据。
110.a46,将上述svg格式的图像的屏幕录制数据发送给服务器。
111.例如,将上述svg格式的图像的屏幕录制数据分批次发送给服务器(如,在每生成预设数量的svg格式的图像的屏幕录制数据之后,发送给服务器),以避免一次性占用终端较大的数据传输资源。
112.a47,在完成屏幕录制之后,由服务器对接收到的屏幕录制数据进行汇总、压缩后,得到屏幕录制文件。
113.a48,在需要进行屏幕录制文件的回放时,可以由服务器对屏幕录制文件进行解压,反向计算出svg格式的图像,然后使用ffmpeg图像转视频工具,将svg格式的图像转为mp4格式的视频文件。
114.本技术实施例中,通过在终端侧对svg格式的图像进行压缩之后,再发送给服务器,可以降低数据传输的数据量,节省终端流量,并且,还可以节省服务器存储屏幕录制文件的存储空间。解决了传统的屏幕录制方法得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输的问题。另外,由于本技术是直接采集终端显示界面对应的图像进行压缩存储,而非只存储页面元素对应的访问链接,因此,不会出现无法还原为屏幕录制时对应的显示界面的问题。
115.可选的,在本技术的一些实施方式中,除了利用7z格式的压缩算法对屏幕录制过程中采集的图像进行压缩存储,在本技术的一些实施方式中,还可以通过图像比对的方式对屏幕录制过程中采集的图像进行压缩存储。
116.具体的,如图5所示,为本技术另一实施方式提供的屏幕录制方法的实现流程示意图,该屏幕录制方法可以由上述终端配置的屏幕录制装置执行,具体包括如下步骤501至步骤503。
117.步骤501,对屏幕录制过程中采集的第一张图像进行存储,得到第一张图像的屏幕录制数据。
118.本技术实施例中,上述对屏幕录制过程中采集的第一张图像进行存储的过程中,
可以是指对第一张图像直接进行存储,而不进行压缩处理。
119.步骤502,确定第一张图像至第n张图像中是否存在与第n 1张图像相同的图像;n为大于或等于1的整数。
120.例如,通过对第一张图像至第n张图像以及第n 1张图像进行图像比对,确定第一张图像至第n张图像中是否存在与第n 1张图像相同的图像。
121.步骤503,在第一张图像至第n张图像中存在与第n 1张图像相同的图像时,将第一张图像至第n张图像中与第n 1张图像相同的图像的标识数据作为第n 1张图像的屏幕录制数据。
122.本技术实施例中,上述步骤502,确定第一张图像至第n张图像中是否存在与第n 1张图像相同的图像,可以是指,对屏幕录制过程中采集到的除第一张图像以外的图像进行存储时,需要基于历史采集到的图像为基础,确定第一张图像至第n张图像中是否存在与第n 1张图像相同的图像,以实现对第n 1张图像的压缩存储。
123.例如,先对屏幕录制过程中采集的第一张图像直接存储,接着,将屏幕录制过程中采集的第二张图像与第一张图像进行图像比对,确定第二张图像是否与第一张图像相同,若相同,则将第一张图像的标识数据作为第二张图像的屏幕录制数据,若不相同,则直接对第二张图像进行存储,然后,将屏幕录制过程中采集的第三张图像分别与历史采集的第一张图像和第二张图像进行图像比对,确定第一张图像和第二张图像中是否存在与第三张图像为相同的图像,若存在,则将第一张图像和第二张图像中与第三张图像相同的图像的标识数据作为第三张图像的屏幕录制数据,若不存在,则直接对第三张图像进行存储,依此类推,实现对屏幕录制过程中采集的图像进行压缩存储。
124.基于本实施例的屏幕录制方法,可以有效降低屏幕录制文件的数据量,减少屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。解决了传统的屏幕录制方法得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输的问题。
125.下面基于两种实际应用场景对本技术降低屏幕录制文件的数据量,减少屏幕录制文件占用的存储空间的原理进行解释。
126.在实际应用中,终端的显示界面有可能存在页面跳转的情况,或者,出现弹窗的情况,这两种情况页面变化后,一般还会还原回原来的显示界面,因而,屏幕录制过程中,会采集到相同的图像,因而,可以对采集的图像通过上述图3至图5的实施方式进行压缩。
127.例如,如图6所示,用户先打开了网页1,此时,终端的显示界面为61,接着,用户在网页1的基础上又打开了网页2,此时,终端的显示界面为62,再接着,用户关闭了网页2,此时终端的显示界面为63,可以看出,显示界面63与显示界面61相同,因此,通过将显示界面63对应的图像与历史采集到的显示界面61对应的图像进行比对时,可以确定显示界面63对应的图像与显示界面61对应的图像为相同的图像,因而,可以将显示界面61对应的图像的标识数据作为显示界面63对应的图像的屏幕录制数据,进而实现对显示界面63对应的图像进行压缩。
128.又例如,如图7所示,用户先打开了网页1,此时,终端的显示界面为71,接着,终端的显示界面弹出弹窗72,此时,终端的显示界面为73,再接着,用户关闭弹窗72,此时,终端的显示界面为74,可以看出,显示界面74与显示界面71相同,因此,通过将显示界面74对应
的图像与历史采集到的显示界面71对应的图像进行比对时,可以确定显示界面74对应的图像与显示界面71对应的图像为相同的图像,因而,可以将显示界面71对应的图像的标识数据作为显示界面74对应的图像的屏幕录制数据,进而实现对显示界面74对应的图像进行压缩。
129.本技术通过将第n 1张图像与第一张图像至第n张图像进行比对,并将第一张图像至第n张图像中与第n 1张图像相同的图像的标识数据作为第n 1张图像的屏幕录制数据,实现了在屏幕录制过程中,对终端的显示界面对应的图像进行压缩处理。
130.需要说明的是,对于通过在终端的显示界面存在变化时,采集显示界面对应的图像,以减少屏幕录制文件的数据量的一般屏幕录制方法中,其在在网页1的基础上,打开网页2,会进行一次图像的采集并保存,在网页2关闭时,由于也检测到终端的显示界面存在变化,因此,也会进行一次图像的采集并保存,所以其图像的压缩比例要比上述图5至图7的屏幕录制方式低。可以理解的是,对于显示界面出现弹窗的情况也是一样的,此处不再赘述。
131.而本技术实施例,在网页1的基础上,打开网页2,会进行一次图像的采集并保存,在网页2关闭时,由于此时可以检测到终端的显示界面对应的图像与历史采集的图像相同,因而可以进行压缩存储,而非直接存储,进而可以有效降低屏幕录制文件的数据量,减少屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。
132.可选的,在本技术的一些实施方式中,上述图5至图7所示的实施方式中的标识数据可以为用以表征对应图像的采集顺序的编号标识。例如,该编号标识可以为图像的采集时间,或者,为第一张、第二张等序号标识。
133.可选的,上述屏幕录制数据可以携带有图像的编号标识。本技术通过对屏幕录制过程中采集到的每一张图像都进行编号标识的记录,以便在基于屏幕录制文件进行视频回放时,可以基于该编号标识确定图像的回放顺序。
134.需要说明的是,由于上述屏幕录制数据可以在屏幕录制过程中,实时生成后,实时发送给服务器进行存储,服务器可以基于屏幕录制数据的接收时间确定接收到屏幕录制数据对应的图像的采集顺序,因此,在本技术的一些实施方式中,上述屏幕录制数据也可以无需携带用以表征对应图像的采集顺序的编号标识。
135.在一个实际应用中,上述屏幕录制场景可以为保险在线销售,或者大件物品在线销售等录制场景,以确保用户投保过程或物品买卖过程被成功记录,便于后续定位纠纷职责。
136.当上述屏幕录制场景可以为保险在线销售时,可选的,本技术实施例提供的屏幕录制方法可以包括下述步骤a01~a06。
137.a01,当终端打开保险页面时,向服务器申请与保险订单号关联的屏幕录制id;
138.a02,对屏幕录制过程中采集的第一张图像进行存储,得到第一张图像的屏幕录制数据,并发送给服务器;
139.a03,基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据,并发送给服务器;
140.a04,在结束屏幕录制后在服务器生成屏幕录制文件;
141.a05,当服务器的屏幕录制文件成功保存时,跳转至保险支付页面,以完成投保;
142.a06,当屏幕录制文件未成功保存时,拦截订单,提示用户重新操作。
143.本技术实施例中,通过在保险在线销售时,对投保过程进行屏幕录制,可以便于后续定位纠纷职责。
144.另外,在本技术的一些实施方式中,还可以利用本技术的屏幕录制方法得到的屏幕录制文件对用户的投保操作数据进行分析,便于开发人员改善用户的操作体验。
145.例如,基于用户的投保操作数据对验证码输入功能进行分析,以提高用户输入验证码的操作体验。
146.本技术中,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,在本技术的一些实施方式中,某些步骤可以采用其它顺序进行。
147.图8示出了本技术实施例提供的一种屏幕录制装置800的结构示意图,包括第一存储单元801和第二存储单元802。
148.第一存储单元,用于对屏幕录制过程中采集的第一张图像进行存储,得到第一张图像的屏幕录制数据;
149.第二存储单元,用于基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据;
150.其中,n为大于或等于1的整数,屏幕录制数据用于在结束屏幕录制后生成屏幕录制文件。
151.可选的,在本技术的一些实施方式中,第n张图像以及第n 1张图像基于预设采样时间间隔采样得到;
152.或者,
153.第n张图像以及第n 1张图像在终端显示界面的显示内容存在变化时采样得到;
154.或者,
155.第n张图像以及第n 1张图像在每个预设采样时间间隔到达时,并且,检测到终端显示界面的显示内容存在变化时采样得到。
156.可选的,在本技术的一些实施方式中,第一张图像至第n张图像以及第n 1张图像,为单个屏幕录制周期中采集的第一张图像至第n张图像以及第n 1张图像;
157.其中,单个屏幕录制周期基于以下方式确定:
158.将单次屏幕录制过程依据预设规则划分为一个或多个屏幕录制周期。
159.可选的,在本技术的一些实施方式中,当上述屏幕录制为针对网页的屏幕录制时,上述将单次屏幕录制过程依据预设规则划分为一个或多个屏幕录制周期,包括:
160.在单次屏幕录制过程中,将在同一个网页上采集的图像作为同一个屏幕录制周期采集的图像,将不同网页上采集的图像作为不同屏幕录制周期采集的图像。
161.可选的,在本技术的一些实施方式中,第一张图像至第n张图像以及第n 1张图像均为终端显示界面的显示内容对应的图像,屏幕录制装置还用于:
162.新建屏幕录制线程;
163.利用屏幕录制线程基于显示内容构建虚拟显示图像;
164.将虚拟显示图像转换为svg格式的图像,并将svg格式的图像作为终端显示界面的
显示内容对应的图像。
165.可选的,在本技术的一些实施方式中,上述第一存储单元,具体用于:利用7z格式的压缩算法对屏幕录制过程中采集的第一张图像进行压缩存储,得到第一张图像的屏幕录制数据;上述第二存储单元,具体用于:基于对屏幕录制过程中采集的第一张图像至第n张图像进行压缩存储得到的压缩字典,利用7z格式的压缩算法对第n 1张显示图像进行压缩存储,得到屏幕录制过程中除第一张图像以外的每一张图像的屏幕录制数据。
166.可选的,在本技术的一些实施方式中,上述第二存储单元,还具体用于:
167.确定第一张图像至第n张图像中是否存在与第n 1张图像相同的图像;
168.在第一张图像至第n张图像中存在与第n 1张图像相同的图像时,将第一张图像至第n张图像中与第n 1张图像相同的图像的标识数据作为第n 1张图像的屏幕录制数据。
169.需要说明的是,为描述的方便和简洁,上述描述的屏幕录制装置800的具体工作过程,可以参考上述图1至图7中方法的对应过程,在此不再过多赘述。
170.示例性的,本技术实施例还提供一种芯片,包括处理器,处理器用于读取并执行存储器中存储的计算机程序,以实现上述屏幕录制方法的步骤。
171.示例性的,本技术实施例还提供一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述屏幕录制方法的步骤。
172.示例性的,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述屏幕录制方法的步骤。
173.示例性的,本技术实施例还提供了一种计算机产品,该计算机产品存储有计算机指令,当计算机指令被执行时,实现上述屏幕录制方法的步骤。
174.本技术上述各个实施方式中,通过基于屏幕录制过程中采集的第一张图像至第n张图像,对屏幕录制过程中采集的第n 1张图像进行压缩存储,实现了在屏幕录制过程中,对终端的显示界面对应的图像进行压缩处理,有效降低了屏幕录制文件的数据量,减少了屏幕录制文件占用的存储空间,并且有利于对屏幕录制文件进行数据传输。解决了传统的屏幕录制方法得到的屏幕录制文件的数据量较大,需要占用较大的存储空间,并且不利于文件传输的问题。
175.另外,由于本技术是直接采集终端显示界面对应的图像进行压缩存储,而非只存储页面元素对应的访问链接,因此,不会出现无法还原为屏幕录制时对应的显示界面的问题。
176.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
177.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记
载的部分,可以参见其它实施例的相关描述。
178.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于屏幕录制方法的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
179.在本技术所提供的实施例中,应该理解到,所揭露的装置/用户终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/用户终端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
180.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
181.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
182.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
183.以上实施例仅用以说明本技术的屏幕录制方法,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的屏幕录制方法进行修改,或者对其中部分方法特征进行等同替换;而这些修改或者替换,并不使相应屏幕录制方法的本质脱离本技术各实施例屏幕录制方法的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献