[发明专利]一种基于IOS系统的游戏屏幕录屏方法及装置在审
申请号: | 201810972665.7 | 申请日: | 2018-08-24 |
公开(公告)号: | CN109246480A | 公开(公告)日: | 2019-01-18 |
发明(设计)人: | 宋大伟;蒋孝黄 | 申请(专利权)人: | 苏州玩友时代科技股份有限公司 |
主分类号: | H04N21/443 | 分类号: | H04N21/443;H04N21/433;H04N21/231;H04N21/274;H04N21/478;A63F13/49 |
代理公司: | 北京商专永信知识产权代理事务所(普通合伙) 11400 | 代理人: | 邢若兰;高之波 |
地址: | 215000 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图像数据 音频数据 拷贝 视频文件 游戏屏幕 输出 外挂 方法和装置 游戏主程序 技术获取 影响用户 正常游戏 绘制 屏幕 合并 游戏 | ||
1.一种基于IOS系统的游戏屏幕录屏方法,其中,所述方法包括如下步骤:
通过API HOOK技术,获取unity输出的最终要绘制到屏幕的图像数据;
通过API HOOK技术,获取unity输出的音频数据;
对图像数据和音频数据进行拷贝;
将通过API HOOK技术获取的图像数据和音频数据还给游戏主程序unity进行显示;
将拷贝后的图像数据和音频数据合并成新的视频文件。
2.根据权利要求1所述的方法,其中,通过API HOOK技术,获取unity输出的最终要绘制到屏幕的图像数据的具体方法为:
通过object-c交换函数实现的机制,hook OpenGl的API,获取untiy最终要绘制到屏幕的图像数据。
a.使用@selector(presentRenderbuffer:)获取presentRenderbuffer函数的编号;
b.使用class_getInstanceMethod获得EAGLContext中的present方法;
c.使用@selector(presentGLES:)获取presentGLES函数的编号;
d.使用class_addMethod将presentGLES函数加入到EAGLContext中;
e.使用method_exchangeImplementations交换presentRenderbuffer和presentGLES两个函数的实现;
f.通过以上步骤达到hook的目的。
3.根据权利要求1所述的方法,其中,通过API HOOK技术,获取unity输出的音频数据的具体方法:
创建并启动AudioUnitGraph,利用程序链接的规则,定义相同声明的函数实现hookAudioUnit API,获取untiy最终要输出的音频数据,步骤如下:
a.声明一个新的和ios AudioUnitSetProperty一样的函数;
b.将fmod中调用,链接到新的AudioUnitSetProperty;
c.使用rebind_symbols获取ios系统的AudioUnitSetProperty函数指针;
d.Fmod将调用新的AudioUnitSetProperty,在新的AudioUnitSetProperty中调用系统的AudioUnitSetProperty。
4.根据权利要求2所述的方法,其中,在对图像数据进行拷贝时,
根据图形API的版本,使用不同的方式获得上一步图像数据拷贝:
当图形API为opengl2.0时,则glDrawElements将unity渲染结果渲染到视频input的surface中。
5.根据权利要求1所述的方法,其中,在对图像数据进行拷贝时,
根据图形API的版本,使用不同的方式获得上一步图像数据拷贝:
当图形API为opengl3.0时,则使用glBlitFramebuffer将unity渲染结果渲染到视频input的surface中。
6.根据权利要求1所述的方法,其中,在对图像数据进行拷贝时,
根据图形API的版本,使用不同的方式获得上一步图像数据拷贝:
当图形API为metal时,则CVMetalTextureCacheCreateTextureFromImage将unity渲染结果渲染到视频input的surface中。
7.一种非易失性计算机存储介质,存储有计算机可执行程序,所述计算机可执行程序用于执行如上所述的基于IOS系统的游戏屏幕录屏方法。存储介质包括但不限于ROM、RAM、普通硬盘、U盘或者软盘。
8.一种基于IOS系统的游戏屏幕录屏装置,其特征在于,包括:图像数据获取单元、音频数据获取单元、拷贝单元和合成单元;
所述图像数据获取单元,配置成通过API HOOK技术,获取unity输出的最终要绘制到屏幕的图像数据;
所述音频数据获取单元,配置成通过API HOOK技术,获取unity输出的音频数据;
所述拷贝单元,配置成对图像数据和音频数据进行拷贝;
所述合成单元,配置成将拷贝后的图像数据和音频数据合并成新的视频文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州玩友时代科技股份有限公司,未经苏州玩友时代科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810972665.7/1.html,转载请声明来源钻瓜专利网。