cocos2d iOS游戏录制视频,视频低分辨率,正常情况下高分辨率
Posted
技术标签:
【中文标题】cocos2d iOS游戏录制视频,视频低分辨率,正常情况下高分辨率【英文标题】:record video in cocos2d iOS game, low resolution for video and high resolution for normal cases 【发布时间】:2012-10-09 12:53:26 【问题描述】:我正在使用 cocos2d 的 CCRenderTexture 来录制我的游戏视频。但是如果以视网膜显示分辨率录制视频会消耗大量 CPU 和内存,所以我想使用低分辨率进行视频录制,但保持视网膜分辨率以进行正常游戏。有可能吗?
我试过“[[CCDirector sharedDirector] enableRetinaDisplay:NO];”在录制视频期间,但它似乎不起作用。生成的输出完全错误。
【问题讨论】:
您是否正在尝试录制游戏的游戏视频? @BijoyThangaraj 我想在我的应用程序中录制“会说话的汤姆”风格的视频。 【参考方案1】:这是不可行的。
您必须对每一帧进行两次渲染,一次在屏幕上,然后在渲染纹理上。即使您以某种方式降低渲染纹理的分辨率,帧率的严重下降也是不可避免的。
原因很简单,您还必须将每个渲染纹理作为图像写入闪存。这是非常缓慢的。您还将获得大量数据。如果每个 (PNG/JPG) 图像文件最终都是相当小的 50 KB,那么以 60 fps 记录的一秒数据将消耗 3 兆字节的闪存。一分钟大约是 180 兆字节。
要录制游戏演示,大多数游戏都遵循简单的原则,即记录用户输入,然后像用户发出这些命令一样回放用户输入。这需要仔细规划,在更新应用程序(或使旧演示无效)时不进行重大更改,并且不使用非确定性随机化器(即随时间播种)。
如果您需要录制演示以制作预告片视频,可以使用大量的屏幕抓取解决方案。有些人甚至专门从设备(通常需要源代码/库组件)或模拟器中抓取 iPhone 视频。
【讨论】:
这个其实是不正确的,可以录音。查看everyplay.com 了解更多信息。页面上的视频是在用户播放时从设备录制的,没有明显的性能损失。【参考方案2】:您应该查看 Kamcord SDK 来录制游戏。查看http://kamcord.com/
Kamcord 具有适用于 ios 的内置游戏视频和音频录制技术。它允许您(游戏开发者)使用 API 捕获游戏视频。然后,您的用户可以通过 YouTube、Facebook、Twitter 和电子邮件重播和分享这些游戏视频。
【讨论】:
是的,实际上我已经调查过 Kamcord。它包含一个修改后的 cocos2d,但不是开源的,因此无法修改。我的项目需要对 cocos2d 进行一些修改,因此 Kamcord 不适合我。 它不是cocos2d的修改版,而是实际使用cocos2d。它只是扩展了 cocos2d 的 CCGLView 类。所以这对你来说应该不是问题。 如果 Kamcord 没有提供必要的功能,请查看 Everyplay (developers.everyplay.com)。我们提供了一个 OpenGL 级别的 API 来记录游戏过程,如果提供的 cocos 集成不能满足您的要求,您可以使用它。以上是关于cocos2d iOS游戏录制视频,视频低分辨率,正常情况下高分辨率的主要内容,如果未能解决你的问题,请参考以下文章
OBS录制出来的视频 卡 画面不动用声音 我录的是全屏的游戏 游戏不卡 但视频卡