2010-09-16 68 views
0

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

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

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

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

回答

-1

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

对于从一般MediaPlayer捕获视频帧(非gl视图),您需要硬件支持,我的意思是设备驱动程序。现在大多数硬件供应商正在为他们的芯片(如DSP)提供硬件加速器,以加速视频和照相机的使用情况。除此之外,用户空间支持(媒体框架和应用程序)允许您访问设备驱动程序,因此媒体框架将是您完成捕捉视频的最佳选择。我会推荐学习一些开源项目,比如Android中的gst-plugins(http://gitorious.org/rowboat/external-gst-plugins-android/trees/master),这肯定会给你一个关于如何堆叠的想法。

对于gl-view的情况,GL驱动程序中需要某种纹理流支持。目前没有标准的方法来做到这一点(即,目前的驱动程序可能通过专有扩展来支持它)。使用glReadPixels捕捉帧并不是非常有效,因为涉及到了冲突,并且会影响帧速率。