一种屏幕录像方法及装置与流程

文档序号:17749685发布日期:2019-05-24 20:52阅读:224来源:国知局
一种屏幕录像方法及装置与流程

本发明涉及图像处理领域,尤其涉及一种屏幕录像方法及装置。



背景技术:

屏幕录像是指采集整个屏幕或屏幕指定区域的图像数据,将图像数据编码得到视频文件的技术。通过屏幕录像技术,用户可以将保存喜欢的视频文件可以抓取显示屏上的画面,生成视频文件,以保存、展示或编辑等。

现有技术中,录屏应用(如游戏录屏大师)通过获取当前设备安装的所有应用程序到后台进行匹配,筛选出指定类型的应用程序,例如游戏应用。录屏应用能够提供在游戏应用界面之上显示的悬浮窗,该悬浮窗包括录像控制按钮,当录屏应用接收到启动录屏指令时,通过MediaRecorder技术进行录屏。当接收到停止录屏指令时,录屏应用停止录屏,生成视频文件,如图1所示。

以上可见,录取视频的时刻取决于用户输入的开启或停止指令。很多应用程序需要由用户来操控,因此在操控应用程序的时候,兼顾操控录屏应用是十分困难的,造成录屏得到的视频往往与用户需要的视频存在偏差,录屏得到的视频文件不够准确。



技术实现要素:

本发明提供了一种屏幕录像方法以及装置,能够自动录屏,并且能够提高录屏的准确性。

第一方面提供了一种屏幕录像方法,包括:

获取应用程序的应用数据;

在应用程序运行时段,利用应用程序内置的录屏插件采集屏幕图像数据;

在应用程序运行时段中,选取应用数据与预设应用数据一致的至少一个时段,将选取的时段作为目标时段;

根据在目标时段中采集的屏幕图像数据,生成视频文件。

第二方面提供一种屏幕录像装置,包括:

获取模块,用于获取应用程序的应用数据;

采集图像模块,用于在应用程序运行时段,利用应用程序内置的录屏插件采集屏幕图像数据;

确定模块,用于在应用程序运行时段中,选取应用数据与预设应用数据一致的至少一个时段,将选取的时段作为目标时段;

视频生成模块,用于根据在目标时段中采集的屏幕图像数据,生成视频文件。

从以上技术方案可以看出,本发明具有以下优点:

获取应用程序的应用数据之后,屏幕录像装置在应用程序运行时段,可以利用应用程序内置的录屏插件采集屏幕图像数据;然后在应用程序运行时段中,选取应用数据与预设应用数据一致的时段,根据在选取时段中采集的屏幕图像数据,生成视频文件。可见,本发明通过预设应用数据能够实现自动录屏功能。同时,由于屏幕录像装置启动录屏的速度比手动启动快得多,因此可以提高录屏的准确性。

附图说明

图1为现有技术中屏幕录像方法的一个流程示意图;

图2为本发明实施例中应用架构的一个示意图;

图3为本发明实施例中应用架构的另一个示意图;

图4为本发明实施例中应用程序与SDK之间的通讯框架的一个示意图;

图5为本发明实施例中SDK与插件之间的通讯框架的一个示意图;

图6为本发明实施例中录屏插件的架构示意图;

图7为本发明实施例中屏幕录像方法的一个流程示意图;

图8为本发明实施例中屏幕录像方法的另一个流程示意图;

图9为本发明实施例中屏幕录像方法的另一个示意图;

图10为本发明实施例中录屏插件的一个示意图;

图11为本发明实施例中屏幕录像装置的一个结构示意图;

图12为本发明实施例中屏幕录像装置的一个结构示意图;

图13为本发明实施例中终端的一个结构示意图。

具体实施方式

为便于理解,下面对本发明屏幕录像方法的应用架构进行介绍:

应用程序:是指为针对使用者的某种应用目的所撰写的软件。在Windows系统下,文档名称一般为*.exe。在苹果操作系统(即Mac OS X)或安卓(Android)系统下文档名一般为*.app。应用程序可以提供插件接口,以供插件接入。应用程序与录屏插件的架构可以如图2所示,当应用程序内设置有录屏插件时,应用程序可以调用录屏插件,执行屏幕录像功能。

软件开发工具包(Software Development Kit,简称SDK):是指管理插件的平台,主要负责插件下载、安装、更新和初始化。应用程序可以通过SDK提供多种插件接口,并通过SDK与插件进行通信。例如,应用程序可以通过SDK提供录屏插件、按键插件或音效插件等各种插件的接口,如图3所示。

录屏插件:是指可以执行屏幕录像功能的插件,能够实现录屏、剪辑等功能。插件(Plug-in)是种遵循一定规范的应用程序接口编写出来的程序。其只能运行在应用程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。插件也称为addin、add-in、addon或add-on,还可以称为外挂。

下面以应用程序、SDK以及插件的应用架构为例,应用程序以游戏类应用为例,对游戏类应用、SDK以及插件的通讯原理进行介绍:

图4为游戏类应用与SDK的通讯框架示意图。

Cocos2d引擎的游戏和基本的App都是直接通过调用java文件接口与SDK的java接口(如QmiSDKApi.java)进行通讯。Cocos2d引擎也可称作Cocos2d-x引擎。

U3d引擎的游戏,需要通过c#文件来调用SDK的接口。U3d引擎通过GameJoy.cs组件提供了JavaClass(如AndroidJavaClass)可以映射Java类到SDK的接口。U3d引擎也可以称Unity3d引擎。

图5为SDK与插件的通讯框架示意图。

1、插件包含class文件、动态链接库(so)文件、组件包(jar)文件资源文件和四大组件。在Android中,四大组件包括活动(activity)组件、服务(service)组件、内容提供(content provider)组件以及广播接收(broadcast receiver)组件。

2、SDK通过插件配置文件反射生成录屏插件实例,再通过插件命令组件(PluginCommander)中的写(write)和读(read)函数与插件进行通讯。其中,插件配置文件包括(类信息、插件版本号等)。

图6为录屏插件的架构示意图:

录屏插件包括录屏模块、用户界面(User Interface,简称UI)模块以及视频分享模块。

1、录屏模式可以包括根(root)录制模式、游戏引擎录制模式以及Android 5.0录制模式。

下面分别对各模式下获取图像数据流的过程进行简单介绍:

(1)根录制模式:终端获取root权限之后,可以读取设备指定内存,获取其存储的图像数据,再将得到的图像数据转为RGB格式图像。指定内存一般是指fb0图像数据内存。

(2)游戏引擎录制模式:U3d引擎录制和Cocos2d引擎录制。

在U3d引擎录制模式中,终端通过Camera获取图像数据之后,然后重新渲染图像数据(CameraRender)。

在Cocos2d引擎录制模式中,终端获取图像数据之后,通过visit方法渲染采集图像(RenderScene)。

(3)Android5.0录制模式:调用MediaProjection类函数创建获取图像数据事件,然后通过VirtualDisplay函数捕捉当前屏幕图像,然后把图像渲染到MediaCodec的Surface中。

通过以上三种方式获取图像数据流以后再进行编码及合成,从而生成视频文件。

2、UI界面包括高级悬浮窗和正常窗体。

高级悬浮窗可以显示在应用程序的所有界面之上,防止被阻挡。其可以不依赖应用的生命周期,与应用融合度较低,有很强的全局性。悬浮窗可以是全屏窗体,也可以是自适应窗体。自适应窗体可以是可移动窗体,也可以是静态窗体。

正常窗体依赖于应用程序的生命周期,可以为FragmentActivity组件中的Fragment控件。当应用程序结束时,正常窗体也消失。其与应用结合度高,适用于局部界面布局。正常窗体的生命周期较短,需要在适当时机保存当前状态以便下次恢复。

3、录屏插件还可以包括视频分享模块。通过视频分享模块,可以录制的视频分享到即时通讯软件(如微信、QQ)、微博(如腾讯微博)、博客(如QQ空间)等,让更多精彩的视频可以分享给自己的朋友。

基于以上应用架构,本发明提供一种屏幕录像方法,该方法的具体实现过程可以参阅以下实施例。请参阅图7,本发明提供屏幕录像方法的一个实施例包括:

步骤701、终端获取应用程序的应用数据。

本实施例中,应用数据可以是应用场景信息、角色信息或事件信息,还可以是物品信息或其他类型的应用数据,此处不作限定。

步骤702、在应用程序运行时段,终端利用应用程序内置的录屏插件采集屏幕图像数据。

应用程序运行时段是指从应用程序启动开始,到应用程序关闭的时段。可以理解的是,终端采集屏幕图像数据的时段可以是应用程序运行时段的全部或部分。

终端利用录屏插件采集屏幕图像数据具体可以通过以下方式实现:

在一个可选实施例中,当应用程序所在的操作系统版本为Andriod 5.0以上版本时,终端可以调用MediaProjection类函数创建获取图像数据事件,通过VirtualDisplay函数捕捉当前屏幕图像,然后将捕捉得到的图像数据进行保存。

在另一个可选实施例中,当应用程序类型为游戏类应用且游戏引擎类型为U3D引擎时,终端可以在应用程序中创建相机(Camera),利用相机获取图像数据,然后将获得的图像数据进行渲染。

在另一个可选实施例中,当应用程序类型为游戏类应用且游戏引擎类型为Cocos2d引擎时,终端可以在获取图像数据之后,通过visit方法渲染图像数据。

在另一个可选实施例中,当应用程序类型为非游戏类应用时,终端可以获取系统的根权限,从存储图像数据的内存(如FrameBuffer文件)中读取图像数据,然后转换为RGB格式的图像。FrameBuffer的路径一般为/dev/graphics/fb0。

步骤703、在应用程序运行时段中,终端选取应用数据与预设应用数据一致的至少一个时段,将选取的时段作为目标时段。

步骤703具体可以通过以下实施方式实现:

在一个可选实施例中,应用数据为场景信息。终端可以选取场景信息与预设场景信息相同的时段作为目标时段。场景信息包括在应用程序内设置的地点、时间、物品或障碍物等。例如,应用程序为模拟现实类游戏时,场景信息可以是游戏内的城市A或是城市A中的商店或是酒馆,也可以是中午或晚上等,由于篇幅所限,难以一一列举,具体此处不作限定。

当应用程序运行时,场景信息可以随着现实时间的变化而改变。当应用程序中的场景信息变化成预设场景信息时,终端可以记录上述时刻,当应用程序中的场景信息与预设场景信息从相同转变为不同时,终端也可以记录上述时刻,从而得到场景信息与预设场景相同的时段。

举例来说,应用程序的场景包括第一场景、第二场景、第三场景以及第四场景,预定场景信息为第三场景。当应用程序结束第二场景,进入第三场景时,终端记录从第二场景进入第三场景的现实时刻t1,当应用程序结束第三场景,进入第四场景时,终端记录从第三场景进入第四场景的现实时刻t2,得到的目标时段为t1~t2。

在另一个可选实施例中,应用数据为事件信息。终端可以选取事件信息与预设事件信息相同的时段作为目标时段。预设事件信息可以是在预设条件下角色在应用场景中产生的事件信息,一般是在特殊事件中发生的。例如,连击,单个技能组合为连续技,在少于预定时间内打败多个角色等,还可以为其他事件信息,此处不作限定。

举例来说,预设事件信息为double kill。当应用程序运行时生成了double kill时,终端可以记录其对应时刻t3,当double kill不显示时,终端可以记录对应时刻t4,从而得到目标时段为t3~t4。

在另一个可选实施例中,应用数据为角色信息。终端可以选取角色信息与预设角色信息相同的时段作为目标时段。角色信息是指在应用程序中设置的角色属性,例如角色名称、角色性别、角色形状或其他角色属性(如角色阵营、角色技能)等。

举例来说,应用程序可以在程序中设置怪物A为预设角色。当应用程序中怪物A出现时,终端记录对应时刻t5,当怪物A被打败而消失时,终端也可以记录对应时刻t6,得到目标时段为t5~t6。

需要说明的是,应用程序可以预设一个或多个应用数据,或将以上预设应用数据组合,然后根据预设应用数据确定多个时段。

步骤704、终端根据在目标时段中采集的屏幕图像数据,生成视频文件。

当终端确定目标时段之后,从已采集的屏幕图像数据中选取目标时段对应的屏幕图像数据,生成视频文件。

本实施例中,终端可以通过预设应用数据能够实现自动录屏功能。并且,生成的视频文件十分精简,占用存储空间很小。

其次,由于终端启动录屏的速度比手动启动快得多,因此可以提高录屏的准确性。

再次,录屏插件作为应用程序的一个可分离功能模块,其录屏功能可以由开发人员定制,便于增加、删除或更新录屏功能。

需要说明的是,录屏插件可以通过应用程序提供的插件接口接入应用程序,也可以是通过SDK接入应用程序。终端可以直接启动录屏插件,也可以向用户发出提示信息,由用户来决定是否启动录屏插件。例如,终端显示提示窗口,提示窗口可以为悬浮窗或应用程序内置的消息控件。提示窗口包括用于接收录屏指令的控件,也可以包括提示消息。例如,当应用程序启动时,终端可以展示提示消息,以提示用户可以开启录屏插件。此时,终端可以根据用户输入的录屏指令控制录屏插件。可见,除了自动采集图像数据之外,本发明实施例中终端也可以根据用户操作来采集图像数据,具体可以参阅以下实施例。

基于图7所示实施例,在本发明的另一个可选实施例中,本发明的屏幕录像方法还包括:在应用程序运行时段,终端接收录屏启动指令,根据录屏启动指令开启应用程序内置的录屏插件,终端接收录屏停止指令,根据录屏停止指令停止应用程序内置的录屏插件;在开启录屏插件到停止录屏插件的时段内,选取应用数据与预设应用数据一致的时段,根据选取的时段中采集的屏幕图像数据生成视频文件。

本实施例中,用户可以开启或停止录屏功能,实现自主控制录屏。这样,在应用运行时段中,用户可以任意选取一个或多个时段来进行录屏。这样,终端通过录屏插件既可以实现自动录屏,也可以手动录屏,提高了屏幕录像方法实施的灵活性。

基于图7所示实施例,在本发明的另一个可选实施例中,在步骤702之前,本发明屏幕录像方法还包括:终端向服务器发送获取录屏插件请求;接收服务器发送的录屏插件;将录屏插件进行初始化设置。

本实施例中,终端启动应用程序时,若在应用程序内未检测到录屏插件,终端可以向服务器发送获取录屏插件请求,从服务器获取录屏插件,将录屏插件存储于指定文件夹,并将其初始化,如图8所示。

需要说明的是,若在应用程序内未检测到指定的录屏插件,终端也可以向服务器发送获取录屏插件请求,从服务器下载指定录屏插件。指定的录屏插件可以是某个特定版本的插件。

根据以上实施例提供的视频文件,用户难以获取事件发生之前的信息。但是,在实际应用中,用户通常也想了解事件发生之前的信息。本发明提供一种屏幕录像方法,能够获取事件发生之前的信息,具体可以参阅以下实施例。请参阅图9,本发明的屏幕录像方法的另一个实施例包括:

步骤901~步骤903与步骤701~步骤703相似,此处不再赘述。

步骤904、终端根据预设提前时长以及目标时段确定提前时段。

步骤905、终端根据在提前时段中采集的屏幕图像数据,以及在目标时段中采集的屏幕图像数据,生成视频文件。

本实施例中,终端可以设置预设提前时长可以是1秒,2秒,3秒,30秒,1分钟或10分钟等,具体可以根据实际情况设置,此处不作限定。从提前时段的起始时刻到目标时段的起始时刻经过的时长为预设提前时长,提前时段的结束时刻为目标时段的起始时刻。

举例来说,目标时段为t1~t2,提前时长为2秒,终端可以根据t1~t2以及2秒确定t3,t3为t1之前2秒对应的时刻,然后根据t3~t2获取的屏幕图像数据生成视频文件。这样,终端生成的视频文件可以包括获取事件从将要发生到事件结束的整个过程。

基于图9所示实施例,在本发明的一个可选实施例中,目标时段包括第一时段以及第二时段;

步骤905具体可以为:若第一时段与第二时段的时间间隔小于预设提前时长,则根据第一时段以及第二时段确定第三时段,根据在提前时段中采集的屏幕图像数据,以及在第三时段中采集的屏幕图像数据,生成视频文件。

本实施例中,第三时段的起始时刻为第一时段的起始时刻,第三时段的结束时刻为第二时段的结束时刻。目标时段可以包括两个或两个以上时段,每个时段中应用数据与预设应用数据都是一致的。如果两个时段的时间间隔特别小,第二时段的提前时段可能与第一时段出现时间交叉,本实施例中终端通过选取第一时段的起始时刻作为第三时段的起始时刻,以及第二时段的结束时刻作为第三时段的结束时刻,以避免选取重合时间段中的屏幕图像数据。需要说明的是,若第一时段与第二时段出现重合时间段,与上述过程相似,终端可以分别选取第一时段的起始时刻、第二时段的结束时刻作为第三时段的起始时刻和结束时刻。

举例来说,第一时段为1分20秒到1分40秒,第二时段为1分42秒到1分50秒,预设提前时长为3s,由于第一时段到第二时段的时间间隔小于3s,因此终端确定第三时段为1分20秒到1分50秒,然后根据1分17秒到1分50秒采集的屏幕图像数据生成视频文件。这样,终端可以避免采用重合时间段的屏幕图像数据生成视频文件。

可以理解的是,如果目标时段中的多个时段之间的时间间隔均不大于预设提前时长,那么可以选取多个时间段的最前时刻以及最后时刻,将最前时刻到最后时段之间采集的屏幕图像数据合成视频文件。

为便于理解,下面以一个具体应用场景对本发明实施例的屏幕录像方法进行详细说明:

请参阅图10,应用程序以游戏为例,游戏提供了“基础设置”、“操作设置”、“选将设置”、“音效设置”、“网络加速”以及“录像设置”等功能模块,通过录像设置可以开启或关闭录像插件。在录像设置中,包括录屏开关、录屏开关的提示信息以及查看视频的控件。当录屏开关的状态为“关”时,录屏插件处于未激活状态。当录屏开关的状态为“开”时,录屏插件处于激活状态。需要说明的是,图10用于说明软件执行界面的整体框架,图示中的某些细节并不影响对所记载技术方案的理解,此处仅用于说明,并作为对本发明的限定。

当游戏启动时,终端可以启动录屏插件,开始采集屏幕图像数据。或者终端显示提示窗口,以提示用户截取屏幕上显示的内容。

预设应用数据以“double kill”和“triple kill”为例,当游戏产生“double kill”时,终端记录其对应时刻,例如9点6分5秒,当游戏中“double kill”消失时,终端记录其对应时刻,例如9点6分15秒。终端可以获取9点6分5秒到9点6分15秒之间采集的屏幕图像数据,生成视频文件。

如果终端设置了提前时长,提前时长为3秒,那么在上述情况下,终端可以确定提前时段为9点6分2秒到9点6分5秒,然后获取9点6分2秒到9点6分15秒之间采集的屏幕图像数据,生成视频文件。

如果终端获取了多个时段,例如9点6分5秒到9点6分15秒对应于“double kill”事件,9点6分7秒到9点6分17秒对应于“triple kill”事件。由于两个时段的时间间隔小于3秒,终端确定9点6分5秒到9点6分17秒为上述两个事件发生的时段,然后结合“double kill”事件的提前时段,根据9点6分2秒到9点6分17秒采集的屏幕图像数据,生成视频文件。

可以理解的是,终端还可以在应用程序内显示录屏控制按钮,用户可以操作录屏控制按钮来开启或关闭录屏插件。终端可以接收录屏停止指令,终端停止录屏插件。终端还可以展示生成视频文件的提示窗口。

在终端启动游戏时,如果在游戏内未检测到录屏插件,那么终端向服务器发送获取录屏插件请求,服务器响应获取录屏插件请求将录屏插件发送给终端,然后终端可以将录屏插件进行初始化。

终端生成视频文件之后,还可以从视频文件中获取图像作为视频的预览图像,以供用户预览。终端还可以将视频文件发送到共享平台,例如即时通信应用、朋友圈、微博或博客等,以供其他用户访问。

以上从方法角度对本发明中的屏幕录像方法进行介绍,下面从装置角度对本发明提供的屏幕录像装置进行介绍。本发明提供的屏幕录像装置1100,具有实现以上实施例示出的屏幕录像方法的功能。本发明提供的屏幕录像装置1100的一个实施例包括:

获取模块1101,用于获取应用程序的应用数据;

采集图像模块1102,用于在应用程序运行时段,利用应用程序内置的录屏插件采集屏幕图像数据;

确定模块1103,用于在应用程序运行时段中,选取应用数据与预设应用数据一致的至少一个时段,将选取的时段作为目标时段;

视频生成模块1104,用于根据在目标时段中采集的屏幕图像数据,生成视频文件。

本实施例中,采集图像模块1102可以在应用程序运行时段采集屏幕图像数据,确定模块1103可以将获取模块1101获取的应用数据与预设应用数据进行比较,记录两者一致对应的时段为目标时段,然后视频生成模块1104根据在目标时段中采集的屏幕图像数据,生成视频文件。可见,本发明的屏幕录像装置能够通过预设应用数据能够实现自动录屏功能。并且,生成的视频文件十分精简,占用存储空间很小。

其次,由于屏幕录像装置启动录屏的速度比手动启动快得多,因此可以提高录屏的准确性。

基于图11所示实施例,在本发明的一个可选实施例中,

确定模块1103,还用于根据预设提前时长以及目标时段确定提前时段,从提前时段的起始时刻到目标时段的起始时刻经过的时长为预设提前时长,提前时段的结束时刻为目标时段的起始时刻;

视频生成模块1104,具体用于根据在提前时段中采集的屏幕图像数据,以及在目标时段中采集的屏幕图像数据,生成视频文件。

本实施例中,确定模块1103根据预设提前时长以及目标时段确定提前时段,视频生成模块1104根据在提前时段中采集的屏幕图像数据,以及在目标时段中采集的屏幕图像数据,生成视频文件。这样,视频生成模块1104生成的视频文件可以包括获取事件从将要发生到事件结束的整个过程。

进一步的,在本发明的另一个可选实施例中,目标时段包括第一时段以及第二时段;

确定模块1103,用于若第一时段与第二时段的时间间隔小于预设提前时长,则根据第一时段以及第二时段确定第三时段,第三时段的起始时刻为第一时段的起始时刻,第三时段的结束时刻为第二时段的结束时刻;

视频生成模块1104,具体用于根据在提前时段中采集的屏幕图像数据,和在第三时段中采集的屏幕图像数据,生成视频文件。

本实施例中,确定模块1103根据第一时段以及第二时段确定第三时段之后,视频生成模块1104可以避免采用重合时间段的屏幕图像数据生成视频文件。

基于图11所示实施例,在本发明的另一个可选实施例中,屏幕录像装置1100还包括:

发送模块1201,用于向服务器发送获取录屏插件请求;

接收模块1202,用于接收服务器发送的录屏插件;

设置模块1203,用于将录屏插件进行初始化设置。

基于图11所示实施例或可选实施例,在本发明的另一个可选实施例中,应用数据为场景信息,事件信息或角色信息。

为便于理解,下面以一个具体应用场景对本发明实施例中屏幕录像装置中各模块之间的交互进行详细说明:

应用程序以游戏为例,在游戏中接入录屏插件,如图10所示。录屏插件可以提供录屏开关,还可以提供视频文件存储路径或提示信息等。

当游戏启动时,获取模块1101可以启动录屏插件,采集图像模块1102开始采集屏幕图像数据。或者终端显示提示窗口,以提示用户截取屏幕上显示的内容。

预设应用数据以“double kill”和“triple kill”为例,当游戏产生“double kill”时,确定模块1103记录其对应时刻,例如9点6分5秒,当游戏中“double kill”消失时,确定模块1103记录其对应时刻,例如9点6分15秒。视频生成模块1104可以获取9点6分5秒到9点6分15秒之间采集的屏幕图像数据,生成视频文件。

如果确定模块1103设置了提前时长,提前时长为3秒,那么在上述情况下,确定模块1103可以确定提前时段为9点6分2秒到9点6分5秒,然后视频生成模块1104获取9点6分2秒到9点6分15秒之间采集的屏幕图像数据,生成视频文件。

如果确定模块1103确定了多个时段,例如9点6分5秒到9点6分15秒对应于“double kill”事件,9点6分7秒到9点6分17秒对应于“triple kill”事件。由于两个时段的时间间隔小于3秒,确定模块1103确定9点6分5秒到9点6分17秒为上述两个事件发生的时段,然后视频生成模块1104结合“double kill”事件的提前时段,根据9点6分2秒到9点6分17秒采集的屏幕图像数据,生成视频文件。

可以理解的是,采集图像模块1102还可以在应用程序内显示录屏控制按钮,用户可以操作录屏控制按钮来开启或关闭录屏插件。采集图像模块1102可以接收录屏停止指令,采集图像模块1102停止录屏插件。采集图像模块1102还可以展示生成视频文件的提示窗口。

在获取模块1101启动游戏时,如果在游戏内未检测到录屏插件,那么发送模块1201向服务器发送获取录屏插件请求,服务器响应获取录屏插件请求将录屏插件发送给接收模块1201,然后设置模块1203可以将接收模块1201接收的录屏插件进行初始化。

视频生成模块1104生成视频文件之后,还可以从视频文件中获取图像作为视频的预览图像,以供用户预览。发送模块1201还可以将视频文件发送到共享平台,例如即时通信应用、朋友圈、微博或博客等,以供其他用户访问。

请参阅图13,本发明提供一种终端1300,可以实现图11至图12所示实施例中屏幕录像装置的功能。终端1300包括输入装置1301、输出装置1302、处理器1303、存储器1304以及总线;输入装置1301、输出装置1302、处理器1303以及存储器1304通过总线连接通信;

通过调用存储器1304存储的操作指令以及应用数据,处理器1303可以执行以下方法:

获取应用程序的应用数据;

在应用程序运行时段,利用应用程序内置的录屏插件采集屏幕图像数据;

在应用程序运行时段中,选取应用数据与预设应用数据一致的至少一个时段,将选取的时段作为目标时段;

根据在目标时段中采集的屏幕图像数据,生成视频文件。

在本发明的一个可选实施例中,在处理器1303根据在目标时段中采集的屏幕图像数据生成视频文件之前,处理器1303还用于根据预设提前时长以及目标时段确定提前时段,获取在提前时段中采集的屏幕图像数据,从提前时段的起始时刻到目标时段的起始时刻经过的时长为预设提前时长,提前时段的结束时刻为目标时段的起始时刻;

处理器1303具体用于根据在提前时段中采集的屏幕图像数据,以及在目标时段中采集的屏幕图像数据,生成视频文件。

在本发明的另一个可选实施例中,目标时段包括第一时段以及第二时段;

处理器1303具体用于若第一时段与第二时段的时间间隔小于预设提前时长,则根据第一时段以及第二时段确定第三时段,第三时段的起始时刻为第一时段的起始时刻,第三时段的结束时刻为第二时段的结束时刻;根据在提前时段中采集的屏幕图像数据,和在第三时段中采集的屏幕图像数据,生成视频文件。

在本发明的另一个可选实施例中,在应用程序运行时段,处理器1303利用应用程序内置的录屏插件采集屏幕图像数据之前,处理器1303还用于向服务器发送获取录屏插件请求;接收服务器发送的录屏插件,将录屏插件进行初始化设置。

基于以上实施例或可选实施例,在本发明的另一个可选实施例中,处理器1303获取的应用数据为场景信息,事件信息或角色信息。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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