在cocos2d iOS游戏中录制视频,视频分辨率低,正常情况下分辨率高

时间:2012-10-09 12:53:26

标签: iphone cocos2d-iphone

我正在使用cocos2d的CCRenderTexture来录制我的游戏视频。但如果以视网膜显示分辨率录制视频会耗费大量CPU和内存,所以我想使用低分辨率进行视频录制,但保持视网膜分辨率以便正常玩游戏。有可能吗?

我试过“[[CCDirector sharedDirector] enableRetinaDisplay:NO];”在录制视频期间,但似乎无法正常工作。生成的输出完全错误。

2 个答案:

答案 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和电子邮件重播和分享这些游戏视频。