本文转载自公众号:流利说技术团队(lls_tech)
版权归原作者所有
本文主要介绍了流利说团队基于 Cocos 游戏引擎进行音视频相关需求开发过程中所遇到的问题和解决方案。文章中将依次阐述 Cocos 引擎直接渲染视频的方案,继而引申出多线程环境下 OpenGL 环境的管理方法,最后说明音视频处理流水线模型需要解决的问题与我们的方案。
让 Cocos 引擎直接渲染视频
为什么?
可能大家首先会疑惑,为什么要让 Cocos 引擎来负责渲染视频呢?而不利用原生平台的渲染机制,如使用Android平台的SurfaceView或TextureView。
让我们来分析下利弊:
原生机制优势:1.常规播放器接口的直接支持。2.视频渲染性能稳定。3.代码简单。
原生机制劣势:1.无法更精确的调整视频与游戏元素的层级关系(只能置游戏其上或其下)2.游戏控制播放器动画有性能损