【技术实现步骤摘要】
屏幕录制方法和装置
[0001]本申请实施例涉及多媒体技术。更具体地讲,涉及一种屏幕录制方法和装置。
技术介绍
[0002]随着安卓(Android)智能显示设备(如智能电视)的普及,白板等智能软件在教育、会议、家庭娱乐等场景中的应用越来越多,用户可以在白板上进行书写、绘画等,并可将结果保存分享。
[0003]当用户需要录制视频时,对于显示在屏幕显示(On Screen Display,OSD)层的内容,采用Android原生的屏幕采集接口(仅能录制OSD层显示的图像)即可实现屏幕录制。
[0004]但白板的书写过程显示在视频(VIDEO)层,书写结果显示在OSD层,因此,使用Android原生的屏幕采集接口录制的视频中仅有书写结果,没有书写的过程,并且,由于无法录制VIDEO层显示区域,导致录制的视频中该区域全是黑屏,严重影响用户体验。
技术实现思路
[0005]为了解决上述技术问题或者至少部分的解决上述技术问题,本申请提供了一种屏幕录制方法和装置,可以解决在录制包括白板书写的视频时,录制的 ...
【技术保护点】
【技术特征摘要】
1.一种屏幕录制方法,其特征在于,所述方法包括:响应于接收的录屏指令,获取屏幕显示OSD层的第i帧待合成屏幕数据:获取与所述第i帧待合成屏幕数据对应的视频VIDEO层的目标白板数据,所述目标白板数据的目标采集时刻,与所述第i帧待合成屏幕数据的采集时刻最近;将所述第i帧待合成屏幕数据与所述目标白板数据进行合成处理,得到第i帧合成数据,以录制包括OSD层数据和VIDEO层数据的视频数据;其中,i为0,1,2,3
……
。2.根据权利要求1所述的方法,其特征在于,所述获取OSD层的第i帧待合成屏幕数据之前,所述方法还包括:创建自定义GLSurfaceView,以及与所述自定义GLSurfaceView对应的自定义开放图形库OpenGL渲染器,所述自定义OpenGL渲染器包括外部录屏纹理管线和纹理叠加管线;所述将所述第i帧待合成屏幕数据与所述目标白板数据进行合成处理,得到第i帧合成数据,包括:通过所述外部录屏纹理管线处理所述第i帧待合成屏幕数据,得到第i帧纹理;通过所述纹理叠加管线处理所述第i帧纹理和所述目标白板数据,得到所述第i帧合成数据。3.根据权利要求1所述的方法,其特征在于,所述获取OSD层的每帧待合成屏幕数据,包括:监听所述OSD层的数据缓存区的数据可用事件;当监听到预设次数的所述数据可用事件后,从所述数据缓存区获取所述OSD层的数据。4.根据权利要求1所述的方法,其特征在于,所述将所述第i帧待合成屏幕数据与所述目标白板数据进行合成处理,得到第i帧合成数据,以录制包括OSD层数据和VIDEO层数据的视频数据之后,所述方法还包括:显示所述第i帧合成数据,以播放所述视频数据;或者,对所述第i帧合成数据进行编码处理,以生成编码后的所述视频数据。5.根据权利要求4所述的方法,其特征在于,所述对所述第i帧合成数据进行编码处理之前,所述方法还包括:判断是否满足第一条件,所述第一条件为当前时刻与所述目标采集时刻的差值小于或等于时长阈值,且当前处于视频录制状态;所述对所述第i帧合成数据进行编码处理,包括:在满足所述第一条件的情况下,对所述第i帧合成数据进行编码处理;所述方法还包括:在不满足所述第一条件的情况下,丢弃所述第i帧合成数据。6.根据权利要求5所述的方法,其特征在于,经过编码处理的所述第i帧合成数据包括时间戳,所述时间戳用于指示对所述第i帧合成数据进行编码处理的时刻与目标时刻的差值;所述在满足所述第一条件的情况下,对所述第i帧合成数据进行编码处理,包括:在满足所述第一条件的情况下,检测当前是否处于数据合成状态;
在当前处于所述数据合成...
【专利技术属性】
技术研发人员:朱宗花,李斌,
申请(专利权)人:海信视像科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。