我正在使用cocos2d的CCRenderTexture来录制我的游戏视频。但如果以视网膜显示分辨率录制视频会耗费大量CPU和内存,所以我想使用低分辨率进行视频录制,但保持视网膜分辨率以便正常玩游戏。有可能吗?
我试过“[[CCDirector sharedDirector] enableRetinaDisplay:NO];”在录制视频期间,但似乎无法正常工作。生成的输出完全错误。
答案 0 :(得分:1)
这是不可行的。
您必须渲染每个帧两次,一次在屏幕上,然后渲染到渲染纹理。即使你以某种方式降低渲染纹理的分辨率,帧速率的严重下降也是不可避免的。
原因很简单,您还必须将每个渲染纹理作为图像写入闪存。这非常慢。您还将获得大量数据。如果每个(PNG / JPG)图像文件最终都是一个相当小的50 KB,那么60 fps的一秒记录数据将消耗3 MB的闪存。一分钟大约是180兆字节。
要记录您的游戏演示,大多数游戏都遵循记录用户输入的简单原则,然后回放用户输入,就像用户发出这些命令一样。这需要仔细规划,更新应用程序时没有重大变化(或使旧演示无效),并且不使用非确定性随机化器(即播种时间)。
如果您需要录制制作预告片视频的演示,那么就有大量的屏幕抓取解决方案。有些甚至专注于从设备(通常需要源代码/库组件)或模拟器中抓取iPhone视频。
答案 1 :(得分:1)
您应该查看Kamcord SDK以记录游戏。查看http://kamcord.com/
Kamcord拥有适用于iOS的内置游戏视频和音频录制技术。它允许游戏开发者使用API捕获游戏视频。然后,您的用户可以通过YouTube,Facebook,Twitter和电子邮件重播和分享这些游戏视频。