Android OpenGL视频捕捉

时间:2010-09-16 23:40:56

标签: android video opengl-es ffmpeg android-ndk

有没有人知道一些方便的方法来捕获视频到Android设备上的OpenGL应用程序的文件或流?

例如,我们可以从视图,opengl视图中捕获视频吗?

我刚刚发现了以下内容: 1)我们可以使用glReadPixels获取帧。 (此步骤没有视频?) 2)MediaRecorder可以对视频进行编码,但是如果可能的话,我们如何才能提供原始资源呢? 3)ffmpeg(例如)或其他编码库的任何工作端口?有一些portng ffmpeg用于NDK的教程。那么,拥有原始帧和ffmeg的工作端口我们可以创建视频吗?这一步有什么问题吗?有人设法成功移植任何编码库吗?我需要从ffpmeg中获取哪些组件?

优先格式为mp4或flv。 <目标设备> 2.1。 NDK没问题

1 个答案:

答案 0 :(得分:-1)

对你的问题不是一个简单的答案,但这里有一些指示,至少可以让你朝着正确的方向前进。

对于捕获视频帧(非gl视图),例如来自通用MediaPlayer,您需要硬件支持,我指的是设备驱动程序。如今,大多数硬件供应商都在其芯片(如DSP)中提供h / w加速器,以加速视频和相机使用案例。除此之外,还有用户空间支持(媒体框架和应用程序)允许您访问设备驱动程序,因此媒体框架将是您完成捕获视频的最佳选择。我建议学习开源中的一些项目,例如Android中的gst-plugins(http://gitorious.org/rowboat/external-gst-plugins-android/trees/master),这肯定会让你了解事情如何叠加。

对于gl-view情况,您需要在GL驱动程序中使用某种纹理流支持。现在没有标准的方法(即,当前的驱动程序可以通过专有扩展支持它)。使用glReadPixels捕获帧并不是非常有效,因为涉及到齐声并且会损害帧速率。