gpt4 book ai didi

Android OpenGL表面视频录制(GLSURFACEVIEW)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:38 27 4
gpt4 key购买 nike

我正在做一个项目,我们需要记录渲染的 OpenGL 表面。 (例如,如果我们使用 GLsurfaceView,我们需要记录表面以及来自 MIC 的音频)

目前我通过将视频源设置为 VIDEO_SOURCE_GRALLOC_BUFFER 使用 MediaRecorder API。

我正在使用以下 sample作为基础代码

我想知道....

  1. 这是正确的方法吗? .有没有更好的选择?
  2. 链接中给出的示例测试正在录制 EGLSURFACE 的音频和视频,但无法正常显示。

可能是什么原因?
非常感谢任何帮助/指点。

谢谢,
萨蒂什

最佳答案

您引用的代码不是示例,而是使用非公共(public)接口(interface)的内部测试代码。 SurfaceMediaSource 可能会在未来的版本中更改或消失并破坏您的代码。

更新:Android 4.3 (API 18) 允许 Surface inputMediaCodecEncodeAndMuxTest示例演示了将 OpenGL ES 帧记录到 .mp4 文件。

MediaRecorder 类不接受 Surface 输入,因此在您的情况下,您需要单独录制音频,然后将其与新的 MediaMuxer 合并类。

更新#2:Android 5.0 (API 21) 允许 Surface input到 MediaRecorder,这通常比 MediaCodec 方便得多。如果您需要使用 MediaCodec,在 Grafika's 中有一个示例显示了用它记录 OpenGL ES 输出的三种不同方式。 “记录 GL Activity ”。

MediaProjection类也可用于屏幕录制。

关于Android OpenGL表面视频录制(GLSURFACEVIEW),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com