欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种屏幕录制方法和相关装置独创技术49852字

一种屏幕录制方法和相关装置

2021-01-27 06:21:29

一种屏幕录制方法和相关装置

  技术领域

  本申请涉及计算机领域,特别是涉及一种屏幕录制方法和相关装置。

  背景技术

  用户在使用终端设备的过程中,可以通过屏幕录制的方式,将终端设备屏幕中所显示内容录制为媒体文件,例如在视频应用、直播应用中播放的视频时进行屏幕录制,例如对自己使用各类应用过程中的屏幕显示内容进行屏幕录制。录制的媒体文件可以用于重复查看、上传到网络上分享等。

  在进行屏幕录制的过程中,终端设备可能会展示各类内容通知,例如通知收到新邮件、短信、社交软件消息,又例如通知一些应用的更新、推送等。由于这些内容通知会以滑窗或弹窗等方式展示在终端屏幕上,而且何时展示用户难以预知,导致不定期出现的内容通知会被通过屏幕录制到媒体文件中。

  内容通知中有些会涉及到用户的个人隐私,有些会影响屏幕录制效果例如遮挡关键画面,这些是录制者不希望出现在屏幕录制的媒体文件中的,如果不慎录入,通过重复录制或者后期视频编辑的方式进行修复。不论哪种方式都会增加屏幕录制的成本和复杂度。

  发明内容

  为了解决上述技术问题,本申请提供了一种屏幕录制方法和相关装置,降低了屏幕录制的成本和复杂度。

  本申请实施例公开了如下技术方案:

  一方面,本申请实施例提供了一种屏幕录制方法,所述方法包括:

  针对终端设备中待录制的目标软件,获取第一视频和第二视频;其中,所述第一视频是根据所述终端设备的屏幕显示内容确定的,所述第二视频是根据所述目标软件的用户界面确定的;

  确定所述第一视频中第一视频帧与所述第二视频中第二视频帧的图像差异;所述第一视频帧和所述第二视频帧为对应同一时刻的视频帧;

  若确定所述图像差异未超出阈值,将所述第一视频帧或所述第二视频帧作为目标视频帧;

  若确定所述图像差异超出所述阈值,生成针对所述第一视频帧和所述第二视频帧的选择指示,并根据所述选择指示对应的选择响应确定所述目标视频帧;

  根据所述目标视频帧生成对应所述目标软件的屏幕录制视频。

  另一方面,本申请实施例提供了一种屏幕录制装置,所述装置包括获取单元、确定单元和生成单元:

  所述获取单元,用于针对终端设备中待录制的目标软件,获取第一视频和第二视频;其中,所述第一视频是根据所述终端设备的屏幕显示内容确定的,所述第二视频是根据所述目标软件的用户界面确定的;

  所述确定单元,用于确定所述第一视频中第一视频帧与所述第二视频中第二视频帧的图像差异;所述第一视频帧和所述第二视频帧为对应同一时刻的视频帧;

  所述确定单元,还用于若确定所述图像差异未超出阈值,将所述第一视频帧或所述第二视频帧作为目标视频帧;

  所述确定单元,还用于若确定所述图像差异超出所述阈值,生成针对所述第一视频帧和所述第二视频帧的选择指示,并根据所述选择指示对应的选择响应确定所述目标视频帧;

  另一方面,本申请实施例提供了一种用于屏幕录制的设备,所述设备包括处理器以及存储器:

  所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

  所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。

  另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。

  另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的方法。

  由上述技术方案可以看出,针对终端设备中待录制的目标软件,获取第一视频和第二视频。第一视频是根据终端设备的屏幕显示内容确定的,第二视频是根据目标软件的用户界面确定的,由于第一视频和第二视频的数据源上的区别,在视频录制过程中,在屏幕中显示的内容通知会被录制进第一视频内,而不会被录制进第二视频内。第一视频中的第一视频帧与第二视频中的第二视频帧是对应于同一时刻的视频帧,通过确定第一视频帧和第二视频帧的图像差异,可以从第一视频中筛选出图像差异较大第一视频帧,这些第一视频帧中显示出内容通知的可能性较大。根据这类第一视频帧和对应的第二视频帧可以生成选择指示,以指示用户选择这类第一视频帧所在时刻实际需要采用何种目标视频帧,通过该选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就能够便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中,相对于相关技术,大大降低了屏幕录制时用户操作成本和复杂度。

  附图说明

  为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本申请实施例提供的一种屏幕录制方法的应用场景示意图;

  图2为本申请实施例提供的一种屏幕录制方法的流程示意图;

  图3a为本申请实施例提供的一种目标软件的用户界面全屏显示的示意图;

  图3b为本申请实施例提供的一种在屏幕中显示内容通知的示意图;

  图4为本申请实施例提供的另一种目标软件的用户界面全屏显示的示意图;

  图5为本申请实施例提供的一种选择指示示意图;

  图6为本申请实施例提供的一种确定目标视频帧的流程示意图;

  图7a-7g为本申请实施例提供的另一种屏幕录制方法的流程示意图;

  图8为本申请实施例提供的另一种屏幕录制方法的流程示意图;

  图9为本申请实施例提供的一种屏幕录制装置的结构示意图;

  图10为本申请实施例提供的服务器的结构示意图;

  图11为本申请实施例提供的终端设备的结构示意图。

  具体实施方式

  下面结合附图,对本申请的实施例进行描述。

  在相关技术中,用户在录制视频过程中,为了避免消息通知被录制到屏幕录制视频中,只能提前关闭显示消息通知的功能,但是一些希望被录制的内容通知也会被相应的屏蔽。如果用户在录制视频之前,没有关闭消息通知,则在录制视频过程中会不定期地显示内容通知,对于涉及用户个人隐私的内容通知,或者影响屏幕录制效果的内容通知,使得用户无法得到理想的屏幕录制视频,只能重新录制,极大地增加了屏幕录制的成本。对于一些直播录制场景,用户没有重复录制的机会,只能通过后期对视频进行编辑、修复,这对于非专业人士而言操作难度较大,提高了对于屏幕录制视频操作复杂度。

  为了降低屏幕录制的成本和复杂度,本申请实施例提供了一种屏幕录制方法和相关装置。

  本申请实施例提供的屏幕录制方法可以应用于具有数据处理能力的屏幕录制设备,例如终端设备或服务器,该方法可以通过终端设备独立执行,也可以通过服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为手机、平板等;服务器可以理解为是应用服务器,也可以为Web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。

  为了便于描述方案,在本申请实施例中,主要以终端设备作为屏幕录制设备,独立执行本申请实施例提供的屏幕录制方法进行说明。

  参见图1,图1为本申请实施例提供的一种屏幕录制方法的应用场景示意图。如图1所示,包括终端设备101,安装有待录制的目标软件。

  由于无法预知何时会收到消息,若用户没有提前关闭显示内容通知的功能,则在屏幕录制过程中,终端设备会不定期地在屏幕中显示内容通知,以提示用户收到了新的消息。

  对于屏幕录制视频过程中所显示的内容通知,可能是用户希望保留的,例如,在录制邮箱收发功能测试的视频场景中,对于收到新邮件的内容通知是用户希望保留在屏幕录制视频中的。屏幕录制视频过程中所展示的内容通知也可能是用户不希望保留的,例如,在分享屏幕录制视频的场景中,对于涉及用户个人隐私的内容通知时用户不希望保留在屏幕录制视频终端额,或者,对于影响视频观看效果的内容通知也是用户不希望保留的。

  为了获取更为理想的屏幕录制视频,无论是采用重复录制还是后期视频编辑的方,都大大增加了屏幕录制的成本和复杂度。为此,本申请实施例提供了一种屏幕录制方法,能够降低屏幕录制的成本和复杂度。

  在屏幕录制过程中,对于正在运行的目标软件,终端设备101可以获取第一视频和第二视频。其中,第一视频是根据终端设备101的屏幕显示内容确定的,其中,屏幕显示内容是指终端设备101的显示屏所提供的显示区域内的内容。第二视频是根据目标软件的用户界面确定的,其中,用户界面是指目标软件在运行过程中向用户展示的界面。

  由于第一视频和第二视频在数据源上存在区别,而屏幕中显示的内容通知来自其他软件,因此,在视频录制过程中,在屏幕中显示的内容通知会被录制到第一视频中,而不会被录制到第二视频中。

  针对同一时刻,若终端设备101在屏幕上显示了内容通知,则第一视频中的第一视频帧与第二视频中的第二视频帧是存在差异的。基于此,终端设备101可以针对同一时刻,确定第一视频中第一视频帧与第二视频中第二视频帧的图像差异,将图像差异与阈值进行比较,确定此刻屏幕中是否显示了内容通知。

  若确定图像差异未超过阈值,即第一视频帧与第二视频帧的图像差异较小,表明第一视频帧中显示出内容通知的可能性较小。因此,终端设备101可以将第一视频帧或第二视频帧作为目标视频帧。在图1所示的应用场景中,设定阈值为T。对于t1时刻,第一视频帧p1与第二视频帧p2对应的图像差异d1未超过阈值T,可以将第一视频帧p1作为目标视频帧。

  若确定图像差异超过阈值,即第一视频帧与第二视频帧的图像差异较大,表明第一视频帧中显示出内容通知的可能性较大。因此,终端设备101可以根据第一视频帧与第二视频帧生成选择指示,向用户提供选择第一视频帧或第二视频帧作为目标视频帧的入口,并根据用户针对该选择指示对应的选择响应确定目标视频帧。在图1所示的应用场景中,对于t2时刻,第一视频帧p3与第二视频帧p4对应的图像差异d2超过阈值T,则生成针对p3和p4的选择指示,若用户选择了p4,则将第二视频帧p4作为目标视频帧。

  上述基于阈值比较的方式,从第一视频中筛选出了图像差异较大的第一视频帧,这类第一视频帧中显示出内容通知的可能性较大,对此,通过生成针对第一视频帧和对应的第二视频帧的选择指示,以指示用户选择这类第一视频帧所在时刻实际需要采用何种目标视频帧,通过该选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就能够便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中,相对于相关技术,大大降低了屏幕录制时用户操作成本和复杂度。

  基于上述,根据目标视频帧,就可以生成针对目标软件的屏幕录制视频。在图1所示的应用场景中,可以将t1时刻的目标视频帧p1和t2时刻的目标视频帧p4,生成针对目标软件的屏幕录制视频。

  参见图2,图2为本申请实施例提供的一种屏幕录制方法的流程示意图。如图2所示,该屏幕录制方法包括以下步骤:

  S201:针对终端设备中待录制的目标软件,获取第一视频和第二视频。

  在实际应用中,用户利用终端设备启动待录制的目标软件,获取第一视频和第二视频。可以理解的是,本申请实施例所提供的屏幕录制方法可以是终端设备提供的一种屏幕录制功能,也可以由安装在终端设备中的录屏软件,向用户提供屏幕录制服务。

  在一种可能的实现方式中,终端设备上安装有录屏软件。具体应用时,用户通过终端设备启动录屏软件,然后,针对待录制的目标软件进行屏幕录制。用户启动目标软件,目标软件在终端设备上运行。在录制过程中,终端设备通过录制软件获取第一视频和第二视频。

  可以理解的是,本申请实施例提供的屏幕录制方法也可以由终端设备预先配置的屏幕录制功能实现。在实际应用中,无论采用录屏软件的方式还是采用终端设备中配置屏幕录制功能的方式,都可以实施本申请实施例提供的屏幕录制方法,在此不作任何限定。

  上述目标软件是一系列按照特定顺序组织的计算机数据和指令的集合,包括系统软件、应用软件和介于这两者之间的中间件,在本申请实施例中不对目标软件进行任何限定。第一视频是根据终端设备的屏幕显示内容确定的。终端设备的屏幕显示内容是指通过终端设备显示屏向用户展示的内容。第二视频为根据目标软件的用户界面(UserInterface,UI)确定的。用户界面是指系统和用户之间进行交互和信息交换的介质,用于实现信息的内部行驶与人类可以接收形式之间的转换。

  由于第一视频是根据对应终端设备的数据源获取的,而第二视频是根据对应目标软件的数据源获取的,因此,在针对目标软件录制屏幕视频时,若终端设备显示了与目标软件无关的内容通知,则该内容通知会被录制进第一视频内,而不会被录制进第二视频内。其中,内容通知包括终端设备向用户展示的各类提示性的信息,这类通知一般通过弹窗、滑窗的方式进行展示。通过内容通知,可以对终端设备新获取的内容向用户进行提示,所提示的内容可以涉及终端设备中配置的各类软件。

  内容通知可以包括例如社交软件接收的新消息、新动态等;例如办公软件接收的新邮件、新指示、日程提醒等;例如媒体、资讯软件中的热点推荐、资讯推荐、内容推荐等;例如购物软件的物流更新、购物车变化、商家消息等;例如游戏软件中任务完成提示、功能恢复提示等。除此之外,还可以包括针对各类产品的广告推送。下面结合图3a和图3b,对在屏幕中显示了内容通知进行示例性说明。

  如图3a所示,用户使用终端设备301对聊天软件进行屏幕录制。在屏幕录制过程中,聊天软件的用户界面如图3a中303所示区域。在终端设备301在屏幕录制聊天软件过程中,若用户没有关闭终端设备301显示内容通知的功能,则当终端设备301收到了一条新消息时,终端设备301在屏幕中显示该新消息对应的内容通知。其中,在屏幕中显示的内容通知如图3b中304所示区域。在实际应用中,大部分内容通知是否在终端设备中进行展示可以预先设定,在此不作任何限定。

  在一种可能的实现方式中,上述目标软件的用户界面是全屏显示的。全屏展示的方式可以包括多种,例如,基于终端设备显示屏幕的全部可显示区域进行显示的方式,也可以是除去上部通知栏和/或下部功能键位栏的显示区域进行显示。下面以图3a所示对聊天软件进行屏幕录制场景作为示例,具体结合图3a-图4对目标软件的用户界面全屏展示的两种方式进行介绍。

  第一种展示方式:目标软件的用户界面在终端设备显示屏幕的全部可显示区域内进行显示。

  如图3a所示,302所示区域为终端设备301显示屏幕的全部可显示区域,303为聊天软件的用户界面,其中,302所示区域与303所示区域相同。

  第二种展示方式:目标软件的用户界面是在除去上部通知栏的显示区域内进行显示。

  如图4所示,302所示区域为终端设备301显示屏幕的全部可显示区域,303为聊天软件的用户界面,404为上部通知栏。其中,302所示区域等于303所示区域加上404所示区域。

  需要说明的是,图3a和图4仅为本申请实施例针对目标软件的用户界面展示形式的示例性说明,在实际应用中,可以根据具体的应用场景确定目标软件的用户界面展示形式,在此对其不作任何限定。

  针对上述获取视频过程,在一种可能的实现方式中,终端设备可以利用屏幕录制模块调用屏幕录制应用程序编程接口(Application Programming Interface,API),例如,MediaProjection API,获取第一视频。终端设备可以利用软件录制模块,通过录制软件用户界面服务获取第二视频,例如,AccessibilityService。

  上述使用系统提供的接口或服务,获取来自不同数据源的第一视频和第二视频,基于此,为后续根据第一视频和第二视频生成屏幕录制视频提供的视频数据。

  S202:确定所述第一视频中第一视频帧与所述第二视频中第二视频帧的图像差异。

  由上述图3a和图3b可以看到,在屏幕中显示了内容通知时,第一视频帧包括了内容通知,而第二视频帧不包括内容通知,两个视频帧的图像差异较大。由上述图3a和图4可以看到,虽然没有在屏幕中显示内容通知,但是终端设备的屏幕显示内容包括目标软件的用户界面之外,还包括上部信息栏和/或下部功能键位栏,即终端设备的屏幕显示内容与目标用户的用户界面之间存在一定的图像差异。为了确定出屏幕录制过程中,在屏幕中是否显示了内容通知,终端设备可以确定第一视频中第一视频帧与第二视频中第二视频帧的图像差异。其中,第一视频帧和第二视频帧为对应同一时刻的视频帧。

  由于第一视频和第二视频的开始录制时间可能并不完全相同,会有先后开始的情况,故为了在进行后续的视频帧比对时保持视频帧内容的同步,通过时刻这一概念进行视频帧的选择。

  也就是说,本申请中提出的时刻并非是基于两个视频分别对应的视频录制时间确定的,而是基于两个视频共同对应的自然时间确定的,例如,用户针对终端设备正在运行的目标软件,从10点34分00秒开始进行屏幕录制,直到10点37分59秒录制结束。则针对同一时刻10点35分15秒,终端设备可以确定出对应该时刻的第一视频帧和第二视频帧的图像差异。

  在确定图像差异的过程中,可以基于像素对比方法确定图像差异,也可以基于图像对比算法确定图像差异,可以根据实际应用场景设定确定图像差异的方法,在此不做任何限定。

  上述针对同一时刻,确定出了第一视频帧和第二视频帧的图像差异,从而可以根据图像差异,从第一视频中筛选出可能显示了内容通知的第一视频帧,以便生成满足用户需求的屏幕录制视频。

  可以理解的是,内容通知携带有一定的信息量,当屏幕中显示了内容通知时,会导致原有屏幕显示内容发生一定的变化,使得第一视频帧与第二视频帧的图像差异变大。基于此,本申请实施例将第一视频帧和第二视频帧的图像差异与阈值进行比较,判断每个时刻对应的图像差异是否超过了阈值,以确定第一视频帧中是否显示了内容通知。其中,阈值可以预先设定,用于标识第一视频帧和第二视频帧的图像差异大小。若否,执行下述S203;若是,执行下述S204。

  S203:若确定所述图像差异未超出阈值,将所述第一视频帧或所述第二视频帧作为目标视频帧。

  对于t1时刻,若终端设备确定出t1时刻对应的图像差异未超过阈值,表明对应t1时刻的第一视频帧和第二视频帧的图像差异较小,即在t1时刻,终端设备的屏幕显示内容与目标软件的用户界面的差异较小,这意味着在t1时刻,在屏幕中显示了内容通知的可能性较小,因此,可以将第一视频帧或者第二视频帧作为目标视频帧。

  在一种可能的实现方式中,若所述第一视频帧中没有显示所述内容通知,则根据第一视频帧和第二视频帧确定的图像差异未超过阈值,表明在屏幕中没有显示内容通知时,图像差异是没有超过阈值的,此时,用户可以正常进行屏幕录制。

  上述通过确定图像差异未超过阈值,确定出在针对目标软件录制屏幕视频过程中,在屏幕中没有显示内容通知,基于此,可以直接将第一视频帧或者第二视频帧作为目标视频帧,用于生成屏幕录制视频。

  S204:若确定所述图像差异超出所述阈值,生成针对所述第一视频帧和所述第二视频帧的选择指示,并根据所述选择指示对应的选择响应确定所述目标视频帧。

  对于t2时刻,若终端设备确定出t2时刻对应的图像差异超过阈值,表明对应t2时刻的第一视频帧和第二视频帧的图像差异较大,即在t2时刻,终端设备的屏幕显示内容与目标软件的用户界面的差异较大,这意味着在t1时刻,在屏幕中显示了内容通知的可能性较大。

  在一种可能的实现方式中,在屏幕中显示了内容通知,则根据第一视频帧和第二视频帧确定的图像差异超过了阈值,表明在屏幕中显示了内容通知时,图像差异是超过了阈值的,此时,向用户提供选择入口,决定作为目标视频帧的到底是第一视频帧还是第二视频帧。

  基于上述,终端设备针对t2时刻对应的第一视频帧和第二视频帧生成选择指示,该选择指示用于指示用户选择实际需要采用第一视频帧还是第二视频帧作为t2时刻对应的目标视频帧。针对图1所示的应用场景,终端设备确定出t2时刻的图像差异超过阈值后,生成针对第一视频帧p3和第二视频帧p4的选择指示,如图5所示的501。

  用户针对t2时刻对应的选择指示,可以选择第一视频帧作为目标视频帧,也可以选择第二视频帧作为目标视频帧。基于此,终端设备可以根据选择指示对应的选择响应确定出t2时刻对应的目标视频帧。其中,选择响应用于标识用户针对选择指示做出的选择。

  在一种可能的实现方式中,若所述选择响应指示所述第一视频帧,确定所述第一视频帧为所述目标视频帧。即当用户选择了第一视频帧时,终端设备根据用户的选择响应将第一视频帧确定为目标视频帧。若所述选择响应指示所述第二视频帧,确定所述第二视频帧为所述目标视频帧。即当用户选择了第二视频帧,终端设备根据用户的选择响应将第二视频帧确定为目标视频帧。在图5所示的应用场景中,内容通知为产品推荐类干扰信息,为了避免内容通知对屏幕显示内容的影响,用户选择第二视频帧p4作为目标视频帧,即终端设备根据选择响应指示的第二视频帧p4,确定为t2时刻对应的目标视频帧。

  上述通过确定图像差异超过阈值,确定出在针对目标软件录制屏幕视频过程中,在屏幕中显示了内容通知,基于此,通过该选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就能够便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中。

  针对上述根据选择指示对应的选择响应确定目标视频帧,本申请实施例还提供了另一种可能的实现方式中,若所述选择响应指示根据所述第一视频帧和所述第二视频帧确定的编辑视频帧,确定所述编辑视频帧为所述目标视频帧。即,用户可以从第一视频帧和第二视频帧中选择一个,然后,对选择出的视频帧进行编辑,并将编辑后的视频帧作为编辑视频帧。

  针对图1所示的应用场景,终端设备确定出t2时刻的图像差异超过阈值后,生成针对第一视频帧p3和第二视频帧p4的选择指示,如图6所示的601。基于图5可知,若第一视频帧中的内容通知涉及了用户的个人信息,但是,用户需要保留该内容通知,以提示用户该时刻收到了新的消息。基于此,用户可以选择第一视频帧p3,并对第一视频帧p3进行编辑,将内容通知中涉及到个人信息的区域进行遮盖(如图6所示的602),并将遮盖后得到的编辑视频帧选为目标视频帧(如图6所示的603)。由此,既保留了内容通知,又遮盖了个人隐私信息,极大地满足了用户的需求,提高了用户的使用体验。

  需要说明的是,图6仅给出了一种可能的应用场景,在实际应用中,用户可以基于实际需求对第一视频帧和第二视频帧进行编辑,例如,内容通知所携带的信息不够完整,用户可以在第一视频帧中增加相应地补充说明等等,以获取用户想要用于生成屏幕录制屏幕的目标视频帧。

  上述在选择指示向用户提供选择目标视频帧入口的同时,还向用户提供了针对第一视频帧和第二视频帧的编辑服务,增加了用户针对视频帧的可编辑性能,提高了用于生成屏幕录制视频的目标视频帧的灵活性和抗干扰性。

  结合上述图5和图6所示的应用场景可知,在一应用场景中,若在屏幕中显示的内容通知是对用户有用的提示类消息,例如,消息收发功能测试中,通过内容通知提示新收到了一条新的消息,说明消息收发功能正常,在此场景下用户可以选择第一视频帧作为目标视频帧,以提示用户收到了新的消息。在与图6相似的应用场景中,若在屏幕中显示的内容通知为干扰类消息,用户可以选择第二视频帧作为目标视频帧,以避免干扰类消息对屏幕显示效果的影响。在与图5相似的应用场景中,若在屏幕中显示的内容消息为待编辑类消息,用户可以通过对第一视频帧或第二视频帧进行编辑,并将编辑后的视频帧作为目标视频帧,以满足用户的实际需求。

  可以理解的是,视频帧率(Frames Per Second,FPS)一般不低于24FPS,即1秒钟的视频包括至少24个视频帧。由于内容通知在屏幕中显示通常会保持一定的时间,例如,1s~3s,因此,若在屏幕录制过程中,在屏幕中显示了内容通知,则有多个第一视频帧中包括了内容通知,即终端设备会筛选出多个第一视频帧供用户进行选择,用户操作量较大。

  为了降低用户操作量,在一种可能的实现方式中,对于确定图像差异超过阈值的第一视频帧,可以确定该第一视频帧的前后帧与第一视频帧的图像关联关系,然后,将图像关联关系满足关联条件的前后帧加入包括第一视频帧的第一视频帧集合,并确定所述第二视频内容中与所述第一视频帧集合对应的、包括所述第二视频帧的第二视频帧集合,继而,生成针对所述第一视频帧集合和所述第二视频帧集合的选择指示。

  其中,图像关联关系用于标识第一视频帧与第二视频帧的图像差异,在第一视频帧与其前后帧中的相似度。图像差异在第一视频帧与其前后帧中的相似程度越高,表明图像关联关系越紧密,第一视频帧与其前后帧中包括同一内容通知的可能性越大。图像差异在第一视频帧与其前后帧中的相似程度越低,表明图像关联关系越疏远,第一视频帧与其前后帧中包括同一内容通知的可能性越小。例如,若第一视频帧与其后一帧中都包括同一内容通知,即图像差异在第一视频帧与其后一帧中的相似程度较高,第一视频帧与其后一帧的图像关联关系较为紧密。在实际应用中,第一视频帧的前后帧的数量可以预先设定,在此不作任何限定。

  基于上述,以第一视频帧集合为单位生成选择指示供用户选择,减少了用户对于图像差异超过阈值的第一视频帧和第二视频帧的选择操作,进一步降低了屏幕录制时用户操作成本和复杂度,提高了用户的使用体验。

  S205:根据所述目标视频帧生成对应所述目标软件的屏幕录制视频。

  基于上述S203和S204,终端设备确定出不同时刻的目标视频帧后,可以根据目标视频帧生成对应目标软件的屏幕录制视频。对于生成屏幕录制视频过程,在一种可能的实现方式中,终端设备可以通过调用视频合成应用程序编程接口生成屏幕录制视频,例如,MediaCodec API。基于此,使用系统提供的接口,根据目标视频帧生成了屏幕录制视频,在降低了屏幕录制的成本和复杂度的同时,尽可能地满足了用户对于屏幕录制视频的需求,极大地提高了用户的使用体验。

  可以理解的是,在屏幕录制过程中,用户可能需要使用到多个软件进行录制,例如,在屏幕录制过程中,当前屏幕显示的软件需要在多个软件中来回切换。为此,本申请实施例提供了一种可能的实现方式,即在录制过程中,终端设备可以确定出处于终端设备前台运行的待定软件,并将该待定软件作为目标软件进行录制。

  其中,前台运行的待定软件是指终端设备当前正在运行的顶层软件。例如,若用户使用终端设备打开了聊天App,拍照App。当用户利用聊天App与朋友聊天时,终端设备前台运行的待定软件即为聊天App;当用户利用拍照App拍照时,终端设备前台运行的待定软件即为拍照App。

  为了便于更好地理解,下面以用户录制一个仿真软件从下载、安装到使用全过程的视频为例,对上述方式进行介绍。首先,用户需要从软件A中下载一个仿真软件,此时终端设备可以将软件A确定为目标软件进行屏幕录制。仿真软件下载后,在安装并使用仿真软件过程中,终端设备可以将该仿真软件确为目标软件进行录制。

  上述通过将终端设备前台运行的待定软件确定为待录制的目标软件,实现了针对多个软件进行屏幕录制的目的,

  上述实施例提供的屏幕录制方法,针对终端设备中待录制的目标软件,获取第一视频和第二视频。第一视频是根据终端设备的屏幕显示内容确定的,第二视频是根据目标软件的用户界面确定的,由于第一视频和第二视频的数据源上的区别,在视频录制过程中,在屏幕中显示的内容通知会被录制进第一视频内,而不会被录制进第二视频内。第一视频中的第一视频帧与第二视频中的第二视频帧是对应于同一时刻的视频帧,通过确定第一视频帧和第二视频帧的图像差异,可以从第一视频中筛选出图像差异较大第一视频帧,这些第一视频帧中显示出内容通知的可能性较大。根据这类第一视频帧和对应的第二视频帧可以生成选择指示,以指示用户选择这类第一视频帧所在时刻实际需要采用何种目标视频帧,通过该选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就能够便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中,相对于相关技术,大大降低了屏幕录制时用户操作成本和复杂度。

  为了更好地理解上述实施例提供的屏幕录制方法,下面结合图7a-7g和图8,对本申请实施例提供的屏幕录制方法的应用场景进行介绍。

  参见图7a-7g,图7a-7g为本申请实施例提供的一种屏幕录制方法的应用场景示意图。结合图8所示的方法,该屏幕录制方法包括以下步骤:

  S801:开始屏幕录制。

  如图7a所示,用户使用手机打开录屏软件,点击开始按钮,开始屏幕录制。如图7b所示,录屏软件可以提供倒计时功能,以便在录制开始前,用户将屏幕显示界面切换到全屏显示的视频软件用户界面。

  S802:针对视频软件,获取第一视频和第二视频。

  根据手机的屏幕显示内容,使用MediaProjection API,获取第一视频,根据视频软件的用户界面,使用AccessibilityService获取第二视频。

  S803:结束屏幕录制。

  如图7c所示,用户点击结束按钮,结束屏幕录制。

  S804:确定第一视频中第一视频帧和第二视频中第二视频帧的图像差异。

  S805:判断图像差异是否超过阈值。若是,执行S806;若否,执行S807。

  S806:生成选择指示,并根据选择指示对应的选择响应确定目标视频帧。

  用户根据选择指示选择第一视频帧,或者第二视频帧作为目标视频帧。如图7e所示,用户分别选择t1时刻对应的第一视频帧、t2时刻对应的第二视频帧以及t3时刻对应的第二视频帧作为目标视频帧。

  S807:是否生成屏幕录制视频。

  如图7f所示,屏幕录制已完成,询问用户是否生成屏幕录制视频。用户点击“是”的按钮,执行S808。

  S808:根据目标视频帧生成屏幕录制视频,保存至相册。如图7g所示,以消息展示的方式提示用户屏幕录制视频已生成,并成功保存至相册中。

  上述实施例提供的屏幕录制方法,当检测到屏幕录制过程中显示了内容通知时,通过选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就可以便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中,降低了屏幕录制时用户操作成本和复杂度。

  针对上述实施例提供的屏幕录制方法,本申请实施例还提供了一种屏幕录制装置。

  参见图9,图9为本申请实施例提供的一种屏幕录制装置的结构示意图。如图9所示,该屏幕录制装置900,包括获取单元901、确定单元902和生成单元903:

  所述获取单元901,用于针对终端设备中待录制的目标软件,获取第一视频和第二视频;其中,所述第一视频是根据所述终端设备的屏幕显示内容确定的,所述第二视频是根据所述目标软件的用户界面确定的;

  所述确定单元902,用于确定所述第一视频中第一视频帧与所述第二视频中第二视频帧的图像差异;所述第一视频帧和所述第二视频帧为对应同一时刻的视频帧;

  所述确定单元902,还用于若确定所述图像差异未超出阈值,将所述第一视频帧或所述第二视频帧作为目标视频帧;

  所述确定单元902,还用于若确定所述图像差异超出所述阈值,生成针对所述第一视频帧和所述第二视频帧的选择指示,并根据所述选择指示对应的选择响应确定所述目标视频帧;

  所述生成单元903,用于根据所述目标视频帧生成对应所述目标软件的屏幕录制视频。

  在一种可能的实现方式中,所述确定单元902,用于:

  若所述第一视频帧中显示所述内容通知,根据所述第一视频帧和所述第二视频帧确定的所述图像差异超出所述阈值;

  若所述第一视频帧中未显示所述内容通知,根据所述第一视频帧和所述第二视频帧确定的所述图像差异未超出所述阈值。

  在一种可能的实现方式中,所述确定单元902,用于:

  确定所述第一视频帧的前后帧与所述第一视频帧的图像关联关系;

  将所述图像关联关系满足关联条件的前后帧加入包括所述第一视频帧的第一视频帧集合;

  确定所述第二视频中与所述第一视频帧集合对应的、包括所述第二视频帧的第二视频帧集合;

  生成针对所述第一视频帧集合和所述第二视频帧集合的选择指示。

  在一种可能的实现方式中,所述确定单元902,用于:

  若所述选择响应指示所述第一视频帧,确定所述第一视频帧为所述目标视频帧;

  若所述选择响应指示所述第二视频帧,确定所述第二视频帧为所述目标视频帧;

  若所述选择响应指示根据所述第一视频帧和所述第二视频帧确定的编辑视频帧,确定所述编辑视频帧为所述目标视频帧。

  在一种可能的实现方式中,所述确定单元902,还用于:

  确定处于所述终端设备前台运行的待定软件,将所述待定软件作为所述目标软件。

  在一种可能的实现方式中,所述装置还包括启动单元:

  所述启动单元,用于通过所述终端设备启动录屏软件;

  所述生成单元,用于通过所述录屏软件展示所述选择指示。

  在一种可能的实现方式中,所述第一视频是通过调用屏幕录制应用程序编程接口获取的;

  所述第二视频是通过录制软件用户界面服务获取的;

  所述屏幕录制视频是通过调用视频合成应用程序编程接口生成的。

  在一种可能的实现方式中,所述目标软件的用户界面是全屏显示的。

  上述实施例提供的屏幕录制装置,针对终端设备中待录制的目标软件,获取第一视频和第二视频。第一视频是根据终端设备的屏幕显示内容确定的,第二视频是根据目标软件的用户界面确定的,由于第一视频和第二视频的数据源上的区别,在视频录制过程中,在屏幕中显示的内容通知会被录制进第一视频内,而不会被录制进第二视频内。第一视频中的第一视频帧与第二视频中的第二视频帧是对应于同一时刻的视频帧,通过确定第一视频帧和第二视频帧的图像差异,可以从第一视频中筛选出图像差异较大第一视频帧,这些第一视频帧中显示出内容通知的可能性较大。根据这类第一视频帧和对应的第二视频帧可以生成选择指示,以指示用户选择这类第一视频帧所在时刻实际需要采用何种目标视频帧,通过该选择指示给予了用户选择是否在屏幕录制视频中显示内容通知的入口,使得用户通过对选择指示进行简单的选择响应,就能够便利的确定在视频录制的过程中,哪些内容通知可以出现在屏幕录制视频中,哪些内容通知不可以出现屏幕录制视频中,相对于相关技术,大大降低了屏幕录制时用户操作成本和复杂度。

  本申请实施例还提供了一种用于屏幕录制的服务器和终端设备,下面将从硬件实体化的角度对本申请实施例提供的用于屏幕录制的服务器和终端设备进行介绍。

  参见图10,图10是本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。

  服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

  上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。

  其中,CPU 1422用于执行如下步骤:

  针对终端设备中待录制的目标软件,获取第一视频和第二视频;其中,所述第一视频是根据所述终端设备的屏幕显示内容确定的,所述第二视频是根据所述目标软件的用户界面确定的;

  确定所述第一视频中第一视频帧与所述第二视频中第二视频帧的图像差异;所述第一视频帧和所述第二视频帧为对应同一时刻的视频帧;

  若确定所述图像差异未超出阈值,将所述第一视频帧或所述第二视频帧作为目标视频帧;

  若确定所述图像差异超出所述阈值,生成针对所述第一视频帧和所述第二视频帧的选择指示,并根据所述选择指示对应的选择响应确定所述目标视频帧;

  根据所述目标视频帧生成对应所述目标软件的屏幕录制视频。

  可选的,CPU 1422还可以执行本申请实施例中屏幕录制方法任一具体实现方式的方法步骤。

  针对上文描述的屏幕录制方法,本申请实施例还提供了一种用于屏幕录制的终端设备,以使上述屏幕录制方法在实际中实现以及应用。

  参见图11,图11为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括平板电脑、个人数字助理(英文全称:Personal DigitalAssistant,英文缩写:PDA)等任意终端设备:

  图11示出的是与本申请实施例提供的终端相关的部分结构的框图。参考图11,该终端包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图11中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

  下面结合图11对平板电脑的各个构成部件进行具体的介绍:

  存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现终端的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

  处理器1580是终端的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。

  在本申请实施例中,该终端所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。

  该终端所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的屏幕录制方法。

  本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的屏幕录制方法。

  本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的屏幕录制方法。

  本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

  需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

  以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

《一种屏幕录制方法和相关装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)