8

我正在从相机捕获帧并通过 OpenGL ES 2.0 实时渲染它们。现在我想将它们与音频一起录制到电影文件中。在 iPhone 上,我有 AVAssetWriter 负责录制,给我 30fps。我在安卓上有哪些选择?我尝试搜索但找不到任何东西。

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

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

4

1 回答 1

4

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

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

这两个库都有很多教程。

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

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

于 2012-11-03T22:03:15.810 回答