iOS屏幕捕捉/录制

3
在我的应用程序中,我正在尝试使用屏幕截图来“记录”屏幕。由于这些单个帧在稍后的服务器上被修改和组合,因此将它们作为图像保存非常重要。另外,由于使用了Cocos2D的慢节奏游戏,增加了一定的复杂性。 我当前使用的截图方式类似于苹果在此链接中推荐的方式。
不幸的是,以12-15 FPS拍摄这些截图会导致iPad 2以上的设备崩溃。由于新设备的像素密度非常高,在12-15 FPS的情况下将它们存储在缓冲区中会导致内存飙升,从而导致应用程序崩溃。是否有任何建议的方法可以快速地在iOS设备上进行截图?
我已经探索了在新设备上减半像素的选项,但这仍然需要将所有单个像素保存在某个缓冲区中。是否有其他截图方法可以与OpenGL视图一起使用进行截图,以便我可以将其缩小?

请查看 https://github.com/wess/Glimpse 这个项目。虽然它不是为 Cocoa2D 设计的,但它有一些优化可能会有所帮助。 - Ryan Poolos
感谢@RyanPoolos。我将尝试将其调整为仅提供单个图像,而不是写入电影。我还发现了另一种有前途的方法。我真正需要的只是能够缩小视网膜截图大小的东西,如果存在的话。 - anon_dev1234
我不确定Glimpse是否会对你有太大帮助,因为它只能从视图中捕获UIImages,就像你现在正在做的一样。我知道你想将它们保留为图像,但在这些设备上存储未压缩的图像并不是一个好方法。将其记录到磁盘上的视频可能是最好的选择,然后从视频中提取帧。 - Brad Larson
@BradLarson 我只是排除了那种方法,因为我正在实时将它们发送到服务器。也许我们需要重新思考我们的策略,并在最后一起发送它们。我们正在尝试一个激进的系统,捕捉面部图像和屏幕图像,并将它们同步以跟踪眼动。到目前为止一切顺利,除了视网膜显示。我只是担心视频会出现不同步的情况。 - anon_dev1234
你只需要一个缓冲区,将其保存到文件中,并在下一次使用相同的缓冲区。 - CodeSmile
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接