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

前端之家收集整理的这篇文章主要介绍了在Android上录制由Open GL ES生成的帧前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从相机捕捉帧并通过OpenGL ES 2.0实时渲染它们.现在我想将它们与音频一起录制到电影文件中.在iPhone上,我有AVAssetWriter来处理录音,给我30fps.我对 android有什么选择?我试过搜索但找不到任何东西.

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

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

解决方法

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

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

这两个库都有很多教程.

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

附:如果你需要从OpenGL ES读回来 – 只需使用glReadPixels()并继续使用这些视频编码库.

猜你在找的Android相关文章