录制由Open GL ES在android上生成的帧

0xS*_*ina 8 android opengl-es-2.0

我从相机捕捉帧并通过OpenGL ES 2.0实时渲染它们.现在我想将它们与音频一起录制到电影文件中.在iPhone上,我有AVAssetWriter来处理录音,给我30fps.我对android有什么选择?我试过搜索但找不到任何东西.

更新:对于那些想知道我想要做什么的人,请看这个应用程序:https://play.google.com/store/apps/details?id = com.androidillusion.videocamillusion&hl = en

这是我发现的唯一可以执行30FPS视频渲染/录制的应用程序.我的目标是试图弄清楚它是如何完成的.

Ser*_* K. 4

一旦您从相机捕获帧并使用 OpenGL 渲染它们,我假设您的内存中已经有了这些帧,并且您不需要使用 OpenGL 读回渲染的图像。

您可以使用FFmpeglibtheora库将音频/视频流交织到文件中。两者都可以针对 Android 进行编译并且对 NDK 友好。

这两个库都有很多教程。

对于 Theora,您可以使用 GLES 2 着色器将帧转换为 YUV 颜色。

PS如果您需要从 OpenGL ES 读回某些内容 - 只需使用glReadPixels()并继续使用这些视频编码库即可。