如何像iPhone中的Talking Tomcat应用程序一样录制屏幕视频?

Tor*_*ado 5 iphone video opengl-es glreadpixels avassetwriter

嘿我正在尝试记录我的游戏的游戏,以便我可以从设备本身上传其视频到youtube ...我试图做同样的事情,如iPhone的会说话的tomcat应用程序..记录视频然后播放,等等...

我使用glReadPixels()来读取帧缓冲数据,然后在AVFoundation框架中借助AVAssetWriter将其写入视频.但是,在使用glReadPixels时,读取每个图形上的数据会将FPS从大约30-35降低到2-3.

我认为会说话的tomcat也是在Opengl ES的帮助下制作的,它也有视频录制功能,但在阅读每一帧任何想法时都不会减慢速度....?

Tor*_*ado 8

如果有人想要实现相同的......我想通了自己.首先令我惊讶的是,我发现说tomcat不是3D游戏应用程序......它使用帧动画进行所有动作.如果有人想要捕获那种视图,那么他们可以使用以下代码---

UIGraphicsBeginImageContext(self.view.bounds.size); //self.view.window.frame.size
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
Run Code Online (Sandbox Code Playgroud)

然后使用AVAssetWriter从该帧创建视频.当然,你可以在其他一些帖子中找到代码..对我来说它没有用,因为我必须捕捉3D部分..干杯