一种屏幕录制及处理方法与流程

文档序号:17235078发布日期:2019-03-30 08:18阅读:1015来源:国知局
一种屏幕录制及处理方法与流程
本发明涉及软件开发
技术领域
,特别是涉及一种屏幕录制的方法。
背景技术
:ios系统是由苹果公司开发的移动操作系统,由于苹果公司对其开发权限保留不对外的政策,禁止开发者使用它的私有api,目前在ios上想要开发一个屏幕录制功能并生成指定的视频给玩家看,只能通过每次屏幕刷新的时候将屏幕上的所有试图绘制下来,这里就要用到屏幕刷新率相同的定时器cadisplaylink,然后将每次绘制下来的数据添加到avassetwriterinputpixelbufferadaptor,再通过avassetwriter将数据写入视频文件中,是用此方法会造成游戏严重掉帧,譬如:游戏开了高帧率模式运行,使用此技术来录制屏幕,游戏的帧率会直接下降一半,造成游戏卡顿,会对用户体验造成很大的影响。技术实现要素:为了解决现有技术存在的不足,本发明的目的在于提供一种屏幕录制及处理方法,改变单一的通过手机截屏的方式与用户社交分享的局面,提升用户体验。为实现上述目的,本发明提供的屏幕录制及处理方法,包括以下步骤:接入设备接口,设置视频、音频参数,并进行初始化;设置录制时间周期并启动定时器开始屏幕录制,进入录制周期;接收触发事件,记录触发事件的时间并暂停所述定时器;所述触发事件结束后,记录结束的时间并开启所述定时器重新进入录制周期;在子线程中完成视频的剪辑。进一步地,所述接入设备接口,设置视频、音频参数,并进行初始化的步骤,进一步包括:接入ios11replaykit.framework提供的接口:startcapturewithhandler:completionhandler;设置视频的宽高、编码格式、比特率、帧率及音频的格式、采样率、比特率;通过设置的视频参数和音频参数初始化avassetwriterinput对象、avassetwriter对象;将初始化后的avassetwriterinput对象添加到avassetwriter对象中。进一步地,在所述初始化avassetwriter对象时,传入所述视频文件的地址作为参数。进一步地,所述步骤2)进一步包括,记录录制时间,到达所述录制时间周期后,重新开始屏幕录制并覆盖原有视频文件。更进一步地,所述设备接口,所述设备接口,将设备的多媒体样本回调给应用,根据回调参数来区别所述多媒体样本类型。本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的屏幕录制及处理方法步骤。本发明还提供一种终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的屏幕录制及处理方法的步骤。本发明的屏幕录制及处理方法,具有以下有益效果:1)改变之前单一的通过手机截屏的方式来跟用户社交分享的局面,而且视频相比静态图片具有更强的观赏性和趣味性,包含的信息量更大,在同等的情况下占用的体积小等优点。2)提升用户体验,加强社交影响,以及提高玩家粘性上发挥着重要的作用。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:图1为根据本发明的屏幕录制及处理方法流程图。图2为根据本发明的回调参数区别多媒体样本的方法步骤示意图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1为根据本发明的屏幕录制及处理方法流程图,下面将参考图1,对本发明的屏幕录制及处理方法进行详细描述。首先,在步骤101,开始屏幕录制,并启动定时器进入录制周期。该步骤中,开始屏幕录制功能的时候,同时启动一个定时器nstimer。优选地,所述定时器记录录制时间,并设置录制时间周期,到达所述录制时间周期后,重新开始屏幕录制并覆盖原有视频文件。该步骤中,nstimer会去记录录制的时间,如以30s为一个周期,当30s时间到后,会重新开始录制工作并将我们的视频文件覆盖重写,从而保证视频文件的体积。在步骤102,在所述录制周期中,记录触发精彩时刻事件的时间并暂停所述定时器。该步骤中,当在这录制周期(30s)的中间,客户端触发了精彩时刻的事件,譬如在游戏中,当玩家击杀其他玩家时这个过程就被定义为精彩时刻,由于玩家在游戏中的角色信息是一直要与游戏服务器保持同步的,所以当玩家被击杀后,游戏客户端就会收到玩家被击杀的消息,随后我们就在此记录下触发精彩时刻事件的时间,此时暂停上面所说的30s的定时器,不再进行重新录制,因为精彩时刻的视频时间可能会超过30s。在步骤103,所述触发精彩时刻事件结束后,记录结束的时间并开启所述定时器重新进入录制周期。该步骤中,当客户端触发精彩时刻结束事件后,记录下此时结束的时间,并重新开启30s的定时器重新开始录制等待精彩时刻录制事件的到来。在步骤104,在子线程中完成视频的剪辑。优选地,所述屏幕录制包括,接入设备接口,所述设备接口将设备的多媒体样本回调给应用,根据回调参数来区别所述多媒体样本类型。该步骤中,在ios平台开发过程中,apple为了保护用户的隐私,禁止开发者使用它的私有api来进行相关录屏功能的开发,但为了解决该问题,apple官方为广大开发者提供了一套sdk,在这套开发工具中我们采用了ios11replaykit.framework提供的接口:startcapturewithhandler:completionhandler:该接口会持续的将设备的屏幕以及声音这些多媒体样本回调给应用,在回调中,根据回调回来的参数rpsamplebuffertype来区别是video样本还是audio样本。如图2所示,图2为回调参数区别多媒体样本的方法步骤示意图。优选地,初始化视频和音频的参数设置;初始化avassetwriterinput对象;将所述avassetwriterinput对象添加到avassetwriter对象中;将返回的回调样本存储在avassetwriterinput对象中;通过所述avassetwriter生成屏幕录制视频。该步骤中,为了能够将视频保存成文件,这里用到了ios系统提供的avassetwriter和avassetwriterinput对象,avassetwriter的作用是将多媒体数据写入到一个视听类型的文件中,avassetwriterinput的作用是专门用来将多媒体数据附加到avassetwriter对象的输出文件中的单轨道编写器。首先要做的工作是需要对我们的视频的宽高,视频的编码,编码比特率以及帧率;同样的对音频的格式,声道数量,采样率,编码比特率做初始化设置,参数如下:视频宽高1280×720视频编码avvideocodectypeh264视频比特率1280×720×11.4视频帧率30音频格式kaudioformatmpeg4aac音频采样率44100.0音频比特率128000然后再通过我们设置完成的视频,音频参数来初始化avassetwriterinput对象,接着将初始化好的avassetwriterinput对象添加到avassetwriter对象中,当启动录制的时候回调中返回的video样本和audio样本分别会存储在avassetwriterinput对象中。优选地,初始化所述avassetwriter对象时,传入所述视频文件的地址作为参数。该步骤中,最后通过avassetwriter来生成我们的屏幕录制视频,初始化avassetwriter对象时,需要传入一个文件地址作为参数,这个文件就是我们最终生成的视频文件,默认为生成mp4格式的视频。经过屏幕录制操作,完成了录制屏幕的功能,但是如果从头开始录制到结束我们的视频体积就会变得异常庞大,而且其中很大的一部分视频并不是用户所需要的,譬如玩moba类游戏,只需要将对方打倒的精彩视频录下来,而不是一整场游戏的视频,这就需要对视频进行及时的剪辑和保存处理。为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的屏幕录制及处理方法的步骤。为实现上述目的,本发明还提供一种终端设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的屏幕录制及处理方法的步骤。本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1