【发布时间】:2018-10-05 11:45:24
【问题描述】:
我想对视频流进行解码,并将解码后的帧写入 FBO opengl 纹理或其他内存表示,OpenGL 可以轻松地使用这些表示来对其应用额外的过滤器或转换(通过着色器)。
使用 MediaCodec 是当前 Android 中的加速标准吗?我可以使用生成的表面作为 OpenGL 的输入吗?
由于在桌面开发中执行此操作,我知道许多方法可能会不必要地减慢此过程(例如,使用 CPU 而不是专用芯片或 GPU 进行解码、在 GPU 中解码并将结果转储到系统内存然后复制再次到 VRAM 等)。我不确定这些问题在 Android 上是否重要。例如,在java可用内存和opengl可用内存之间进行复制的成本是否也很高,或者可以忽略不计?
【问题讨论】:
标签: android opengl-es video-streaming video-processing android-mediacodec