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

时间:2012-10-26 21:13:43

标签: 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视频渲染/录制的应用程序。我的目标是试图弄清楚它是如何完成的。

1 个答案:

答案 0 :(得分:4)

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

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

这两个库都有很多教程。

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

P.S。如果您需要从OpenGL ES中读取一些内容 - 只需使用glReadPixels()并继续使用这些视频编码库。