使用ffmpeg编码OpenGL屏幕外渲染视频,几帧后OpenGL停止刷新?

时间:2014-10-27 13:06:25

标签: android c++ opengl-es ffmpeg

我正在开发一个Android应用程序,它可以使用OpenGL渲染视频,并使用ffmpeg将帧编码为视频。 我在ndk中进行渲染和编码。

首先,我使用EGL设置一个关闭屏幕的OpenGL es上下文,然后使用OpenGL es调用绘制帧。

然后,我使用glReadPixels抓取像素,并使用ffmpeg调用将它们编码为视频。

问题是,在大约25帧之后,OpenGL绘图调用不再起作用。 glReadPixels调用始终获得相同的数据。

我猜我在25帧之后丢失了我的OpenGL上下文,但当我试图通过比较“eglGetCurrentContext”的结果与我创建的上下文来检查时,我总是得到“真”

我是否以正确的方式检查背景?如果我丢失了我的背景,我怎么能把它改回来?

0 个答案:

没有答案