从 iPhone 和 iPad 捕获实时屏幕视频(包括音频)并发布到 YouTube、Facebook 等
有没有人能指点一下一些工作代码或技术,用于在 iPhone 和 iPad 上捕获全屏实时 OpenGL 图形,将其与设备发出的音频结合起来,并将其编译成视频以发布到网上?
例如,“Talking Tomcat”等应用程序即可执行此操作。我使用的是 Cocos2D,但欢迎使用任何框架的解决方案,最好使用最新的 API。考虑到这种功能的有用性和普遍性,这似乎应该是一个已解决的问题。但是,我发现的有关该主题的所有帖子都已过时或不完整。
到目前为止,我发现的更好的信息来源之一在这里:http://www.subfurther.com/blog/2011/04/12/voices-that-matter-iphone-spring-2011/
Does anyone have pointers to some working code or techniques for capturing the full-screen real-time OpenGL graphics on the iPhone and iPad, combine it with the audio coming out of the device, and compile it into a video to post online?
For example, apps such as "Talking Tomcat" do this. I'm using Cocos2D, but a solution from any framework is welcome, ideally using up-to-date APIs. It seems like this should be a solved problem given how useful and pervasive such a function is. However, all the postings I have found on this topic are out of date or incomplete.
One of the better sources of information I've found so far is here: http://www.subfurther.com/blog/2011/04/12/voices-that-matter-iphone-spring-2011/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
上述 ScreenCaptureView 类有一个更新版本,其中包含视频-内置录音支持(请参阅链接)。它尚未使用 OpenGL 子视图进行测试,但假设它有效,您可能可以稍微修改它以包含音频,然后就可以设置了。
编辑 - 此处的工作链接: https://github.com/adam-roth/screen-帽视图
There's an updated version of the above-mentioned ScreenCaptureView class available that has video-recording support built-in (see link). It hasn't been tested with an OpenGL subview, but assuming that it works you might be able to modify it slightly to include audio and then you'd be set.
Edit - Working link here: https://github.com/adam-roth/screen-cap-view
我发现这个简单的 ScreenCaptureView 类可能会有所帮助。它将 UIView 的内容保存到 UIImage 中。作者建议您可以通过 AVCaptureSession.
I found this simple ScreenCaptureView class that might help. It saves the contents of a UIView to a UIImage. The author suggests you can save a video of the app in use by passing the frames through AVCaptureSession.
我知道这是一个老问题,但是如果有人遇到同样的问题。
有现成的解决方案/服务可以做到这一点,因此如果您不想重新发明轮子,您可以尝试例如 Everyplay (https://everyplay.com/about) 正是这样做的。
请在此处查看 Cocos2d 集成文档: https://developers.everyplay.com /doc/Everyplay-integration-to-Cocos2d-game
免责声明:我为制作 Everyplay 的公司工作。我们尝试解决原始问题提出的确切问题。
I know this is an old question, but if someone comes across the same problem.
There are ready-made solutions / services for doing this so if you're not looking to re-invent the wheel, you can try for example Everyplay (https://everyplay.com/about) which does exactly that.
Check out the Cocos2d integration docs here: https://developers.everyplay.com/doc/Everyplay-integration-to-Cocos2d-game
Disclaimer: I work for the company that makes Everyplay. We try to solve the exact problem that the original question poses.
您可以尝试 Kamcord,这是一个用于录制应用程序视频的 SDK。
you can try Kamcord, which is a SDK for record your app video.
值得一提的是,保存 UIView 的内容不会捕获任何其他视图或不是该组件子视图的组件。例如,您不会捕获键盘、弹出窗口或对话框。
It is worth mentioning that saving the contents of the UIView does not capture any other views or components that are not subviews of that component. For instance you would not capture keyboards, popovers or dialogs.