2016-12-29 35 views
1

我想在手势渲染glsurfaceview时获取图像流 目的是记录渲染表单glsurfaceview,我用相机使用surfacetexture来完成它的编码。 mp4,但是当我绘制时我无法从glsurfaceview获取渲染。当我使用GLsurfaceview渲染器时如何获取图像流

+0

相关的例子:http://stackoverflow.com/ a/22461402/295004,请注意答案底部的链接。 –

+0

嗨@Morrison Chang感谢您的相关链接,同样的问题,我想记录屏幕,同样的原因,我想编码的GLsurfaceview内容避免上层目标,我想在4.4做,甚至我知道有用的MediaProjection API在5.0中,再次感谢您的意见,帮助我的问题更具体 –

回答

0
  • 让您GLSurfaceViewEGLContextEGL14.eglGetCurrentContext()

  • 使用EGLContext上面共享上下文在独立的线程来记录

  • 记录EGLContext将呈现为Surface创建另一个EGLContextMediaCodec.createInputSurface得到,它也使用相同的纹理GLSurfaceView

  • 使用MediaMuxerMediaCodec输出多路转换到MP4

  • 然后你就可以记录下你GLSurfaceView到MP4

sample code

+0

嗨@Alijandro感谢您的建议,我会尝试这种方式,它看起来可以工作,我最近在Android搜索Opengl ES2.0理论,我认为EGL接口可以帮助我解决问题,再次感谢。 –

+0

我用另一种方式来记录glsurface通过绑定多个纹理不是你的方式,但再次感谢 –

+0

@CapybaraChan祝贺!你能分享一些你的解决方案的信息吗?如果你不介意,其他人到这里会发现更有价值的信息。我们鼓励人们在这里分享他们的知识,如果您不介意的话,您可以将解决方案作为答案发布,并将其标记为最佳答案。 – alijandro