【发布时间】:2014-02-26 20:24:49
【问题描述】:
因此,在我的应用程序中,我可以使用 GPUImage 库为来自相机的视频显示效果(如模糊滤镜、高斯)。
基本上,我(库)将从相机获取输入,获取原始字节数据,将其从 YUV 格式转换为 RGBA 格式,然后将效果应用于此图像并显示在 GLSurfaceView 的 Surface 上OpenGL。最后,对于用户来说,它就像一个应用了效果的视频。
现在我想使用MediaCodec API 将Surface 的帧录制为视频。
但是这个discussion 表示我们不能将预定义的Surface 传递给MediaCodec。
我在bigflake 看到了一些示例,他正在使用MediaCodec.createInputSurface() 创建Surface,但对我来说,Surface 来自GLSurfaceView。
那么,如何将Surface 的帧录制为视频?
我将并行录制音频,使用 FFMPEG 合并视频和音频,并作为应用了效果的视频呈现给用户。
【问题讨论】:
标签: android opengl-es ffmpeg glsurfaceview android-mediacodec