录屏方法、装置、电子设备和计算机可读存储介质与流程

文档序号:21183837发布日期:2020-06-20 17:58阅读:186来源:国知局
录屏方法、装置、电子设备和计算机可读存储介质与流程

本申请涉及录屏技术领域,具体而言,涉及一种录屏方法、装置、电子设备和计算机可读存储介质。



背景技术:

在观众观看网络直播的过程,例如主播直播、游戏直播等,常常会有对移动设备的显示屏幕上的视频进行录制的需求。目前的移动设备大多具备录屏的功能,但是,现有的录屏方式往往采用的是如mediaprojection的方式进行录制,该种方式将对移动终端的显示屏幕上的所有内容进行录制,这就导致一些影响效果的元素,例如录制进度条、录制控制按键等均被录制在内,影响获得的录制视频的效果。



技术实现要素:

本申请的目的包括,例如,提供了一种录屏方法、装置、电子设备和计算机可读存储介质,其能够避免录屏时的控制元素对录制效果的影响。

本申请的实施例可以这样实现:

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

在对应用程序的运行过程进行录屏时,将所述应用程序的运行视频图像渲染显示于第一图层,将录屏时的控制元素渲染显示于第二图层;

对所述第一图层中的运行视频图像进行录屏处理,得到录屏结果数据。

在可选的实施方式中,应用于直播接收终端,所述将所述应用程序的运行视频图像渲染显示于第一图层的步骤,包括:

获取场景图像,所述场景图像为预先采集并存入所述直播接收终端的图像,或通过所述直播接收终端的摄像设备实时采集的图像;

接收直播服务器推送的直播视频图像,将所述直播视频图像叠加至所述场景图像得到所述应用程序的运行视频图像;

将所述运行视频图像渲染显示于第一图层。

在可选的实施方式中,所述将所述直播视频图像叠加至所述场景图像得到所述应用程序的运行视频图像的步骤,包括:

基于所述场景图像创建ar模型,将所述ar模型加载至所述场景图像得到ar场景图像;

将所述直播视频图像加载至所述ar场景图像中的ar模型,得到所述应用程序的运行视频图像。

在可选的实施方式中,所述方法还包括:

获取预先设置的水印;

将所述水印叠加至所述场景图像中的预设位置。

在可选的实施方式中,在所述场景图像为通过所述直播接收终端的摄像设备实时采集的图像时,所述将所述水印叠加至所述场景图像中的预设位置的步骤,包括:

创建控制节点,所述控制节点用于控制所述水印在所述场景图像中的显示位置;

将所述控制节点关联至控制所述摄像设备的拍摄视角的主节点,以使所述控制节点的控制参数随所述主节点的视角参数的变化而调整;

根据所述控制节点的控制参数将所述水印叠加至所述场景图像中的预设位置。

在可选的实施方式中,所述对所述第一图层中的运行视频图像进行录屏处理,得到录屏结果数据的步骤,包括:

根据获取的编码配置参数对编码器进行配置;

通过所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理,得到录屏结果数据。

在可选的实施方式中,所述通过所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理,得到录屏结果数据的步骤,包括:

响应于录屏开始指令,启动所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理;

在接收到录屏结束指令或到达预设最大录制时长时,停止录屏处理并得到所述录屏处理的录屏结果数据。

在可选的实施方式中,所述方法还包括:

获取所述直播接收终端的音频采集设备采集的音频数据,和/或所述直播接收终端的音频播放设备播放的音频数据;

将获得的音频数据与所述录屏结果数据进行融合,得到音视频数据。

第二方面,本申请实施例提供一种录屏装置,所述装置包括:

渲染模块,用于在对应用程序的运行过程进行录屏时,将所述应用程序的运行视频图像渲染显示于第一图层,将录屏时的控制元素渲染显示于第二图层;

录制模块,用于对所述第一图层中的运行视频图像进行录屏处理,得到录屏结果数据。

第三方面,本申请实施例提供一种电子设备,包括:

存储器,用于存储计算机程序;

与所述存储器连接的处理器,用于执行所述计算机程序,以实现前述实施方式任意一项所述的录屏方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现前述实施方式任意一项所述的录屏方法。

本申请实施例的有益效果包括,例如:

本申请实施例提供一种录屏方法、装置、电子设备和计算机可读存储介质,通过在对应用程序的运行过程进行录制时,将应用程序的运行视频图像渲染显示于第一图层,并将录屏时的控制元素渲染显示于第二图层。然后,再对第一图层中的运行视频图像进行录制处理,得到录屏结果数据。如此,通过将录屏所需的运行视频图像以及录制不需要的控制元素分别渲染至不同的图层,避免屏幕录制时,控制元素对录制效果的影响。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

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

图2为本申请实施例提供的电子设备的结构图;

图3为本申请实施例提供的录屏方法的流程示意图;

图4为本申请实施例提供的录屏方法中渲染运行视频图像的方法的流程图;

图5为本申请实施例提供的运行视频图像的效果示意图之一;

图6为本申请实施例提供的运行视频图像的效果示意图之二;

图7为本申请实施例提供的录屏方法中运行视频图像获取方法的流程图;

图8为本申请实施例提供的运行视频图像的效果示意图之三;

图9为本申请实施例提供的录屏方法中添加水印方法的流程图;

图10为本申请实施例提供的录屏方法中将水印叠加至预设位置的方法的流程图;

图11为本申请实施例提供的录屏方法中录屏结果数据获取方法的流程图;

图12为本申请实施例提供的录屏方法中音视频数据获取方法的流程图;

图13为本申请实施例提供的录屏装置的功能模块框图。

图标:100-直播接收终端;110-处理器;120-存储器;130-外设接口;140-射频模块;150-屏幕;160-录屏装置;161-渲染模块;162-录制模块;200-直播服务器;300-直播提供终端。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本申请的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。

请参阅图1,图1示出了本申请实施例提供的录屏方法的应用场景示意图。该场景中包括直播服务器200、直播接收终端100以及直播提供终端300,直播服务器200分别与直播接收终端100和直播提供终端300通信连接,用于为直播接收终端100和直播提供终端300提供直播服务。例如,主播可以通过直播提供终端300为观众提供实时在线的直播流并传输给直播服务器200,直播接收终端100可以从直播服务器200拉取直播流进行在线观看或者回放。

在一些实施场景中,直播接收终端100和直播提供终端300可以互换使用。例如,直播提供终端300的主播可以使用直播提供终端300来为观众提供直播视频服务,或者作为观众查看其它主播提供的直播视频。又例如,直播接收终端100的观众也可以使用直播接收终端100观看所关注的主播提供的直播视频,或者作为主播为其它观众提供直播视频服务。

本实施例中,直播接收终端100和直播提供终端300可以包括但不限于智能手机、平板计算机、膝上型计算机,或其任意两种以上组合。本申请中,后续以智能手机为例进行说明。在具体实施过程中,可能有零个、一个或多个直播接收终端100和直播提供终端300接入直播服务器200,图1中仅示出一个。其中,直播接收终端100和直播提供终端300中可以安装用于提供互联网直播服务的互联网产品,例如,互联网产品可以是计算机或智能手机中使用的与互联网直播服务相关的应用程序app、web网页、小程序等。

本实施例中,直播服务器200可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,直播服务器200可以是分布式系统)。在一些可能的实施方式中,如直播服务器200采用单个物理服务器,可以基于不同直播服务功能为该物理服务器分配不同的逻辑服务器组件。

可以理解,图1所示仅为一种可行的示例,在其它可行的实施例中,该应用场景中也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。

请参阅图2,本申请实施例还提供一种电子设备,该电子设备可为上述直播接收终端100。如图2所示,该电子设备包括处理器110、存储器120、外设接口130、射频模块140和屏幕150,这些组件通过一条或多条通讯总线/信号线相互通讯。

其中,处理器110可以是通用处理器,例如,中央处理器(cpu)、网络处理器(np,networkprocessor)或微处理器等,也可以是特定应用集成电路(asic,application-specificintegratedcircuit),或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(dsp,digitalsignalprocessing)、现场可编程门阵列(fpga,field-programmablegatearray)或其他可编程逻辑器件。

存储器120中保存有执行本申请技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。更具体地,存储器120可以包括只读存储器(rom,read-onlymemory)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、闪存等。

外设接口130将各种输入/输出装置耦合至处理器110以及存储器120。

射频模块140用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块140可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片等。射频模块140可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm),增强型移动通信技术(enhanceddatagsmenvironment,edge),蓝牙,无线保真技术(wireless-fidelity,wifi)(如美国电气和电子工程师协会标准ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议。

屏幕150在电子设备与用户之间同时提供一个输出及输入界面。具体地,该屏幕150可以向用户显示页面及视频输出,这些输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。该屏幕150可以为触控屏幕,用于接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。屏幕150的显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。

电子设备的处理器110执行存储器120中所存放的程序,以及调用其他设备,可用于实现本申请实施例所提供的录屏方法。

为了能够改善屏幕录制时的录制效果,图3示出了本申请实施例提供的录屏方法的流程示意图,本实施例中,该录屏方法可以应用于用户终端,该用户终端可以是图1中所示的直播接收终端100。

步骤s110,在对应用程序的运行过程进行录屏时,将所述应用程序的运行视频图像渲染显示于第一图层,将录屏时的控制元素渲染显示于第二图层。

步骤s120,对所述第一图层中的运行视频图像进行录屏处理,得到录屏结果数据。

录屏指代将应用程序的运行过程进行记录,生成相应的文件,即录屏文件。其中,本实施例中,该应用程序可以是任意程序,可以包括但不限于视频播放应用、游戏应用、直播应用等。本实施例中,以直播应用为例进行说明。

观众在利用直播应用进行直播观看的过程中,可能会有对应用程序的运行内容进行录制的需求,例如,在观看主播的视频直播时,将直播接收终端100上播放的直播视频进行录制,以便于保留,或者,在观看游戏直播时,将直播接收终端100上播放的游戏直播过程进行录制。

目前,用户终端在进行屏幕录制时,一般是采用mediaprojection录制用户终端的整个屏幕的播放内容,但是在启动录制时,屏幕上将显示一些录制时的控制元素,例如录制进度条、控制按钮等,亦或是应用程序本身具有的一些控制元素,如应用中的控制按键等。在目前的录制方式中,这些控制元素也将录制在内,影响到录制的效果。

因此,在本实施例中,在启动对应用程序的运行过程进行录制时,可将应用程序的运行视频图像渲染至第一图层,其中,运行视频图像即指应用程序中显示的需要进行录制的视频图像,如上述的主播的直播视频、游戏视频等。而将录屏时的控制元素渲染至第二图层,其中,第二图层可处于第一图层的上层。本实施例中,可采用arcore实现录屏处理。

通过将运行视频图像和控制元素渲染至不同的图层中,在进行录制时,仅对第一图层中的运行视频图像进行录制。如此,第一图层中的运行视频图像和第二图层中的控制元素均可显示在屏幕上,但仅对第一图层中的运行视频图像进行录制。保障了录屏的内容只有第一图层中的内容,避免了第二图层中的控制元素对录制效果的影响。

目前,随着用户对直播效果的越来越高的要求,用户在观看直播时,往往希望能够将主播端的直播内容放置于一定的场景下,以实现更为丰富的观看体验。请参阅图4,第一图层中的运行视频图像可以通过以下方式获得:

步骤s111,获取场景图像,所述场景图像为预先采集并存入所述直播接收终端100的图像,或通过所述直播接收终端100的摄像设备实时采集的图像。

步骤s112,接收直播服务器推送的直播视频图像,将所述直播视频图像叠加至所述场景图像得到所述应用程序的运行视频图像。

步骤s113,将所述运行视频图像渲染显示于第一图层。

本实施例中,直播提供终端300可将直播视频发送至直播服务器200,通过直播服务器200将直播内容推送给各个直播接收终端100。直播视频图像可呈现在直播接收终端100的屏幕上,用户可根据自身的需求将直播视频图像融入一定的场景图像下,从而实现更为丰富的观看效果,例如,如图5和图6中所示。

作为一种可能的实现方式,场景图像可以是预先采集并保存的,场景图像可以是例如一个房间的图像、海边的图像、森林的图像等等。

场景图像可以是一张,即场景图像固定不变,也可以是视频流中包含的多帧图像帧,即场景图像包含多张不同的图像。在场景图像固定不变的情形下,可直接将接收到的直播视频图像叠加至场景图像中即可。在场景图像为多帧图像帧时,可将直播视频图像包含的各帧,对应叠加至场景图像的对应帧中。最终应用程序的运行视频图像即为直播视频图像与场景图像的叠加图像。

作为另一种可能的实施方式,场景图像可以是直播接收终端100的摄像设备实时采集的图像。该摄像设备可为ar摄像设备,可包括单摄像头、双摄像头、三摄像头等不限。

在这种情形下,在进行直播视频图像播放时,可开启直播接收终端100的摄像设备,摄像设备采集直播接收终端100所处环境的环境图像,即场景图像。将直播视频图像叠加至采集的场景图像中,如此,可将直播视频图像融入用户当前所处的环境图像中。

在这种情形下,用户可模拟对直播视频图像中的直播内容的操作,或者与直播内容进行互动,如图6中所示,直播视频图像在场景图像中的位置以及角度均可进行调节,例如,直播视频图像可以正对于显示屏幕,也可以转动一定角度,以与显示屏幕呈一定角度。

在将直播视频图像调整到一定角度,以与摄像设备所拍摄的观众的位置相配合对应,从而可以使用户终端中所呈现出的运行视频图像中,观众在模拟对直播视频图像中的直播内容进行操控。例如,在直播内容为游戏内容时,则用户可以假装在对游戏进行操控。或者,在直播视频为直播图像时,则观众可模拟与主播实现同框合影等。从而,可以满足观众对直播应用的多方面的需求。

为了避免直播视频图像将场景图像完全遮挡,应当理解,直播视频图像的尺寸应当小于场景图像的尺寸,例如,在将直播视频图像叠加至场景图像后,直播视频图像可覆盖在场景图像上,覆盖的面积可为场景图像面积的四分之一、三分之一或其他占比等。

最后,再将上述直播视频图像和场景图像的叠加后的图像渲染显示于第一图层中,后续进行录屏时,录制的内容包括直播视频图像和场景图像。

在本实施例中,为了使直播视频图像能够很好地叠加至场景图像中,请参阅图7,可通过以下方式进行图像的叠加:

步骤s1121,基于所述场景图像创建ar模型,将所述ar模型加载至所述场景图像得到ar场景图像。

步骤s1122,将所述直播视频图像加载至所述ar场景图像中的ar模型,得到所述应用程序的运行视频图像。

本实施例中,创建的ar模型为用于叠加装载直播视频图像的模型,之所以称为ar模型,是因为在场景图像为摄像设备实时拍摄的场景图像时,该模型将随着摄像设备的拍摄角度的改变,而在场景图像中随之发生如方位转动、缩放等变化,使该虚拟的模型能够套在现实场景中并进行互动。可选地,该ar模型可以是加载至场景图像中的如手机屏幕边框的图像,如图5中所示。也可以是加载至场景图像中的如电脑屏幕边框的图像,如图8中所示,或者是其他的根据需求设置的ar模型。

在将直播视频图像叠加至场景图像时,即可叠加至场景图像中的ar模型中,从而,最终形成的运行视频图像即包含场景图像、场景图像中的ar模型以及加载至ar模型中的直播视频图像。

进一步地,在本实施例中,为了保障应用程序中的直播视频的权益,避免出现侵权现象,因此,可在屏幕录制时,添加水印以对直播视频图像进行标记。请参阅图9,本实施例提供的录屏方法还包括以下步骤:

步骤s210,获取预先设置的水印。

步骤s220,将所述水印叠加至所述场景图像中的预设位置。

本实施例中,可将预先设置的水印存放至存放目录中,例如drawable目录。水印可以包括但不限于,图片、静态文字、弹幕、跑马灯中的任意一种或几种的组合。将水印叠加至场景图像时,叠加的位置可以预先设置,例如可以是场景图像的左上角、右上角、左下角、右下角或中间位置等,具体地本实施例不作限制,可根据需求进行设置。为了不造成对场景图像的遮挡,一般将水印叠加至场景图像的边角位置处。具体地,可通过布局文件viewrenderable加载水印以叠加至场景图像中。

本实施例中,在场景图像为摄像设备拍摄的实时图像时,随着摄像设备的拍摄角度的变化,获得的场景图像的方位角也将发生变化,为了能够将水印固定在场景图像的预设位置处,请参阅图10,可通过以下方式进行水印的叠加:

步骤s211,创建控制节点,所述控制节点用于控制所述水印在所述场景图像中的显示位置。

步骤s212,将所述控制节点关联至控制所述摄像设备的拍摄视角的主节点,以使所述控制节点的控制参数随所述主节点的视角参数的变化而调整。

步骤s213,根据所述控制节点的控制参数将所述水印叠加至所述场景图像中的预设位置。

本实施例中,场景图像的拍摄场景可以理解为基于球面坐标系建立的场景,摄像设备处于该球面坐标系的中心位置,可以理解为球面坐标系中的球面的中心点。场景图像中的各个点可以是球面坐标系中的球面上的点。随着摄像设备的拍摄视角的改变,拍摄获得的场景图像的方位角将改变,若不对水印的叠加位置进行调整,在拍摄视角改变时,水印将在场景图像中移动,无法稳定显示在场景图像中的固定位置处。

因此,本实施例中,创建一控制节点,该控制节点的控制参数决定了水印在场景图像中的显示位置,由上述可知,该控制参数不是固定不变的,而是应该随着拍摄视角的改变而变化。

可通过主节点控制摄像设备的拍摄视角,主节点的视角参数将确定摄像设备的拍摄视角。因此,可将控制节点关联至主节点,也即主节点和控制节点之间形成父级-子级关系。当某个节点为其它节点的子级时,该节点将随父级移动、旋转和缩放。

因此,在主节点的视角参数改变时,控制节点的控制参数随之改变,从而使基于控制节点的控制参数所叠加的水印,能够固定在场景图像中的预设位置处。

通过上述处理,则最终应用程序的运行视频图像由场景图像、场景图像中的ar模型、加载至ar模型中的直播视频图像以及叠加至场景图像中的水印所组成。在进行屏幕录制时,录制得到的结果数据为包含上述各个图像的在第一图层中的运行视频图像。

请参阅图11,本实施例中,在对上述运行视频图像进行录制时,可通过以下方式实现:

步骤s121,根据获取的编码配置参数对编码器进行配置。

步骤s122,通过所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理,得到录屏结果数据。

本实施例中,可通过用户终端的操作系统,如安卓系统中,所集成的具备视频数据编码功能的编码器,实现运行视频图像的编码和录制。该编码器可以是mediacodec编解码器。mediacodec编解码器是低层多媒体架构的一部分,它是android提供的用于访问低层多媒体编/解码器接口。可以理解的是,mediacodec编解码器可以用作安卓平台上的编码器,还可以用作安卓平台上的解码器,以实现视频数据的异步处理。而上述的用于显示运行视频数据的第一图层可为mediacodec编解码器所生成的,可记为surface。

由于一些用户终端,例如智能手机或游戏机等,性能有限,并不支持视频的高级压缩特性和分辨率较高的图像,因此,在利用编码器对运行视频图像进行编码之前,可预先获得包含用户终端所支持的压缩协议等的编码配置参数,从而基于该编码配置参数对mediacodec编解码器进行配置。

在配置完成编码器之后,将第一图层中的运行视频图像作为编码器的输入流,调用mediacodec.start以进行编码以及录屏处理,得到录屏结果数据。

在本实施例中,用户可通过触发录屏开始指令以实现录屏处理。该录屏开始指令可以是语言控制指令、指纹控制指令、预设控件的触发指令、手势指令等。用户终端在检测到录屏开始指令后,响应于该录屏开始指令,并启动上述编码器对第一图层中的运行视频图像进行编码以及录屏处理。可通过调用startmirroringtosurface以进行录屏处理。

接收到录屏结束指令时或到达预设最长录制时长时,停止录屏处理并得到录屏处理的录屏结果数据。其中,录屏结束指令同样可以是上述的如语言控制指令、指纹控制指令、预设空间的触发指令、手势指令等。而预设最长录制时长可以是例如1分钟、2分钟等不限。在结束录屏处理时,可通过调用stopmirroringtosurface停止录屏。

请参阅图12,本实施例中,为了避免最终得到的结果数据中仅包含视频数据,因此,本实施例所提供的录屏方法还包括以下步骤:

步骤s310,获取所述直播接收终端100的音频采集设备采集的音频数据,和/或所述直播接收终端100的音频播放设备播放的音频数据。

步骤s320,将获得的音频数据与所述录屏结果数据进行融合,得到音视频数据。

直播接收终端100的音频采集设备采集的音频数据可以是用户的音频信息,或者是用户所处的环境中的其他设备所产生的音频信息。而直播接收终端100的音频播放设备播放的音频数据可以是接收的直播服务器200所推送的直播视频中的音频信息,或者是直播接收终端100中的其他应用程序所产生的音频信息,如音乐类应用等。

本实施例中,将音频数据与录屏处理所得到录屏结果数据进行融合,从而得到包含音频数据以及视频数据的音视频数据。

本实施例所提供的录屏方案,通过将应用程序的运行视频图像渲染显示于第一图层,将录屏时的控制元素渲染显示于第二图层。如此,在录屏处理时,可仅对第一图层中的运行视频图像进行录制,避免了录屏时的一些控制元素对录屏效果产生的不良影响,提升录屏质量。

进一步地,本实施例中,将预先设置的水印叠加至运行视频图像中的场景图像中,如此,在录制得到的结果数据中将包含该水印,以对运行视频图像进行标记,以避免对应用程序中的运行视频图像的侵权使用、恶意使用等。

请参阅图13,本申请实施例还提供一种应用于上述直播接收终端100的录屏装置160,其中,该录屏装置160可以包括渲染模块161和录制模块162。

渲染模块161,用于在对应用程序的运行过程进行录屏时,将所述应用程序的运行视频图像渲染显示于第一图层,将录屏时的控制元素渲染显示于第二图层。在本实施例中,所述渲染模块161可用于执行图3所示的步骤s110,关于所述渲染模块161的相关内容可以参照前文对步骤s110的描述。

录制模块162,用于对所述第一图层中的运行视频图像进行录屏处理,得到录屏结果数据。在本实施例中,所述录制模块162可用于执行图3所示的步骤s120,关于所述录制模块162的相关内容可以参照前文对步骤s120的描述。

在一种可能的实现方式中,渲染模块161可以用于通过以下方式将应用程序的运行视频图像渲染显示于第一图层中:

获取场景图像,所述场景图像为预先采集并存入所述直播接收终端100的图像,或通过所述直播接收终端100的摄像设备实时采集的图像;

接收直播服务器推送的直播视频图像,将所述直播视频图像叠加至所述场景图像得到所述应用程序的运行视频图像;

将所述运行视频图像渲染显示于第一图层。

在一种可能的实施方式中,渲染模块161可以用于通过以下方式将直播视频图形叠加至场景图像以得到运行视频图像:

基于所述场景图像创建ar模型,将所述ar模型加载至所述场景图像得到ar场景图像;

将所述直播视频图像加载至所述ar场景图像中的ar模型,得到所述应用程序的运行视频图像。

在一种可能的实现方式中,所述录屏装置160还包括叠加模块,该叠加模块用于:

获取预先设置的水印;

将所述水印叠加至所述场景图像中的预设位置。

在上述场景图像为通过直播接收终端100的摄像设备实时采集的图像时,叠加模块可以同于通过以下方式将水印叠加至场景图像中的预设位置:

创建控制节点,所述控制节点用于控制所述水印在所述场景图像中的显示位置;

将所述控制节点关联至控制所述摄像设备的拍摄视角的主节点,以使所述控制节点的控制参数随所述主节点的视角参数的变化而调整;

根据所述控制节点的控制参数将所述水印叠加至所述场景图像中的预设位置。

在一种可能的实施方式中,录制模块162可以用于通过以下方式进行录屏处理:

根据获取的编码配置参数对编码器进行配置;

通过所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理,得到录屏结果数据。

在一种可能的实施方式中,录制模块162可以用于通过以下方式利用编码器进行录屏处理:

响应于录屏开始指令,启动所述编码器对所述第一图层中的运行视频图像进行编码以及录屏处理;

在接收到录屏结束指令或到达预设最大录制时长时,停止录屏处理并得到所述录屏处理的录屏结果数据。

在一种可能的实施方式中,所述录屏装置160还包括融合模块,该融合模块可以用于:

获取所述直播接收终端100的音频采集设备采集的音频数据,和/或所述直播接收终端100的音频播放设备播放的音频数据;

将获得的音频数据与所述录屏结果数据进行融合,得到音视频数据。

在本申请实施例中,对应于上述的录屏方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述录屏方法的各个步骤。

其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述录屏方法的解释说明。

综上所述,本申请实施例提供一种录屏方法、装置、电子设备和计算机可读存储介质,通过在对应用程序的运行过程进行录制时,将应用程序的运行视频图像渲染显示于第一图层,并将录屏时的控制元素渲染显示于第二图层。然后,再对第一图层中的运行视频图像进行录制处理,得到录屏结果数据。如此,通过将录屏所需的运行视频图像以及录制不需要的控制元素分别渲染至不同的图层,避免屏幕录制时,控制元素对录制效果的影响。

在本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1