我是OpenGL的新手。我想从 GLSurfaceView 录制视频和音频并将其导出为 .mp4(或其他格式)。我有一个GlsurfaceView
工具Renderer
我尝试在bigflake.comEncodeAndMuxTest.java
或google/grafika中RecordFBOActivity.java
使用fadden 示例,但没有成功,因为我不知道如何实现它。
是否有记录 GLSurfaceView 的示例或“操作方法”?
我是OpenGL的新手。我想从 GLSurfaceView 录制视频和音频并将其导出为 .mp4(或其他格式)。我有一个GlsurfaceView
工具Renderer
我尝试在bigflake.comEncodeAndMuxTest.java
或google/grafika中RecordFBOActivity.java
使用fadden 示例,但没有成功,因为我不知道如何实现它。
是否有记录 GLSurfaceView 的示例或“操作方法”?
您可以尝试使用 INDE Media for Mobile:https: //software.intel.com/en-us/articles/intel-inde-media-pack-for-android-tutorials GLCapturer 类,它允许在一个几行代码,示例在这里:
synchronized (videoCapture) {
if (videoCapture.beginCaptureFrame()) {
...
renderScene();
videoCapture.endCaptureFrame();
}
}
你可以试试Android Breakout 补丁。它将游戏录制添加到Android Breakout中。
使用 GLSurfaceView 而不是 SurfaceView 时的主要区别在于 GLSurfaceView 想要管理自己的 EGL 上下文。这需要您创建与 GLSurfaceView 的上下文共享数据的第二个上下文。管理起来有点尴尬,但可行。
您可能需要考虑从 GLSurfaceView 切换到 SurfaceView。这需要您进行自己的 EGL 设置和线程处理,但您可以在 Grafika 中找到这两者的示例。设置东西需要做更多的工作,但它使视频录制等花哨的东西变得更容易。当然,如果您使用的是需要 GLSurfaceView 的游戏或图形引擎,那将不是一个选择。