录制方法和装置制造方法及图纸

技术编号:37174965 阅读:9 留言:0更新日期:2023-04-20 22:44
本申请提供了一种录制方法,所述方法包括:创建第一帧缓冲对象帧缓冲对象和第一渲染缓冲对象渲染缓冲对象;响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上;基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;通过所述第二帧缓冲对象和所述第一渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。本申请提供的技术方案在不影响原有绘制逻辑的情况下,完成录制,降低代码侵入性和性能损耗。耗。耗。

【技术实现步骤摘要】
录制方法和装置


[0001]本申请实施例涉及计算机
,尤其涉及一种录制方法、装置、计算机设备、计算机可读存储介质。

技术介绍

[0002]随着计算机技术的发展,人们可以在计算机设备上进行各类网络游戏。在对战游戏中,玩家往往会有复盘的需求,部分游戏平台会提供游戏的录制和回放功能。
[0003]现有的游戏录制方式是屏幕录制或对渲染指令进行缓存等,不适用于小游戏,性能消耗大。
[0004]需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。

技术实现思路

[0005]本申请实施例的目的是提供一种录制方法、装置、计算机设备及计算机可读存储介质,用于解决上述问题。
[0006]本申请实施例的一个方面提供了一种录制方法,所述方法包括:
[0007]创建第一帧缓冲对象和第一渲染缓冲对象;
[0008]响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到关联到所述帧缓冲对象上的第二渲染缓冲对象;
[0009]基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;
[0010]通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;
[0011]通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。
[0012]可选地,所述通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图,包括:
[0013]通过所述第二帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二渲染缓冲对象中;
[0014]将所述第二渲染缓冲对象中的数据用于显示所述目标视图。
[0015]可选地,所述通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频,包括:
[0016]通过所述第三帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二纹理对象,所述第二纹理对象关联到所述第三帧缓冲对象上;
[0017]根据所述第二纹理对象中的数据进行视频编码,以得到所述目标视频。
[0018]可选地,所述方法还包括:
[0019]在启动录制之前,将所述第一渲染缓冲对象关联到所述第一帧缓冲对象上;
[0020]通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中。
[0021]可选地,所述通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中,包括:
[0022]基于所述第一帧缓冲对象,将预设绘制逻辑的实时内容渲染到所述第一渲染缓冲对象中;
[0023]根据GLES的绘制API的操作信息确定执行显示操作;
[0024]在确定执行所述显示操作的情形下,将所述第一渲染缓冲对象中的内容展示到所述相应的视图中。
[0025]可选地,所述方法还包括:
[0026]在启动录制之后,通过所述第一纹理对象替换所述第一渲染缓冲对象,以将所述第一纹理对象关联到所述第一帧缓冲对象上;
[0027]将所述第一渲染缓冲对象和所述第一帧缓冲对象解除关联,将所述第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到第二渲染缓冲对象。
[0028]可选地,所述方法还包括:
[0029]配置屏幕交换方法的执行代码,所述屏幕交换方法用于将所述第二渲染缓冲对象中的数据显示到屏幕上;
[0030]将所述屏幕交换方法的调用顺序设置在目标代码的后面,所述目标代码的功能包括:通过所述第二帧缓冲对象、所述第二渲染缓冲对象渲染第一纹理的数据,以及通过所述第三帧缓冲对象和所述第二纹理渲染所述第一纹理对象中的数据。
[0031]本申请实施例的另一个方面提供了一种录制装置,所述装置包括:
[0032]第一创建模块,用于创建第一帧缓冲对象和第一渲染缓冲对象;
[0033]第二创建模块,用于响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到关联到所述帧缓冲对象上的第二渲染缓冲对象;
[0034]渲染模块,用于基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;
[0035]显示模块,用于通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;
[0036]录制模块,用于通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。
[0037]本申请实施例的另一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的录制方法的步骤。
[0038]本申请实施例的另一个方面提供了一种计算机可读存储介质,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行上述的录制方法的步骤。
[0039]本申请实施例提供的录制方法、装置、计算机设备、计算机可读存储介质,具有如下优点:在启动录制之后,将录制逻辑和渲染逻辑进行隔离。在不影响原有绘制逻辑的情况下,完成录制,降低代码侵入性和性能损耗。而且,避免屏幕录制会将非小游戏场景的UI界面(比如关闭按钮)录制进视频的问题,确保用户的回放体验。
附图说明
[0040]图1示意性示出了根据本申请实施例的录制系统的运行环境图;
[0041]图2示意性示出了根据本申请实施例一的录制方法的流程图;
[0042]图3示意性示出了图2中步骤S200的子流程图;
[0043]图4示意性示出了启动录制之前创建第一帧缓冲对象和第一渲染缓冲对象的过程;
[0044]图5示意性示出了图3中步骤S302的子流程图;
[0045]图6示意性示出了在启动录制之前的渲染显示过程;
[0046]图7示意性示出了图2中步骤S206的子流程图;
[0047]图8示意性示出了图2中步骤S208的子流程图;
[0048]图9示意性示出了启动录制之后的操作流程;
[0049]图10示意性示出了开始录制和启动录制之后的序列图;
[0050]图11示意性示出了根据本申请实施例二的录制装置的框图;及
[0051]图12示意性示出了根据本申请实施例三中的计算机设备的硬件架构示意图。
具体实施方式
[0052]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种录制方法,其特征在于,所述方法包括:创建第一帧缓冲对象和第一渲染缓冲对象;响应于启动录制,创建第一纹理对象、第二帧缓冲对象、第三帧缓冲对象、第二纹理对象,并将第一渲染缓冲对象重关联到所述第二帧缓冲对象上以得到关联到所述帧缓冲对象上的第二渲染缓冲对象;基于预设绘制逻辑生成绘制结果,并基于所述第一帧缓冲对象将所述绘制结果渲染到所述第一纹理对象;通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图;通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频。2.根据权利要求1所述的录制方法,其特征在于,所述通过所述第二帧缓冲对象和所述第二渲染缓冲对象,将所述第一纹理对象中的数据用于显示目标视图,包括:通过所述第二帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二渲染缓冲对象中;将所述第二渲染缓冲对象中的数据用于显示所述目标视图。3.根据权利要求1所述的录制方法,其特征在于,所述通过所述第三帧缓冲对象和所述第二纹理对象,将所述第一纹理对象中的数据用于录制目标视频,包括:通过所述第三帧缓冲对象,将所述第一纹理对象中的数据渲染到所述第二纹理对象,所述第二纹理对象关联到所述第三帧缓冲对象上;根据所述第二纹理对象中的数据进行视频编码,以得到所述目标视频。4.根据权利要求1至3任意一项所述的录制方法,其特征在于,所述方法还包括:在启动录制之前,将所述第一渲染缓冲对象关联到所述第一帧缓冲对象上;通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中。5.根据权利要求4所述的录制方法,其特征在于,所述通过所述第一帧缓冲对象和所述第一渲染缓冲对象,将待显示的内容显示到相应的视图中,包括:基于所述第一帧缓冲对象,将预设绘制逻辑的实时内容渲染到所述第一渲染缓冲对象中;根据GLES的绘制API的操作信息确定执行显示操作;在确定执行所述显示操作的情形下,将所述第一渲染缓冲对象中的内容展示到...

【专利技术属性】
技术研发人员:翁阳刘蓬
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1