Cocos Creator 使用ijkplayer+sprite渲染视频
前言: cocos使用系统原生的videoplayer来播放视频,导致层级不灵活 只能在最上层或者最下层,为了更灵活的使用视频(或者直播),想出此解决方案。
ijkplayer:一款开源的视频播放器,内部使用ffplay(封装ffmpeg)解码+sdl(播放)的方式,功能强大,可用做直播(缺点:已经停止更新维护了)。
大致流程为
1: 使用ijkplayer 来解码视频,但是拦截其渲染部分,使其可以输出视频数据。
2:使用其数据(需要把yuv转成rgba),每次解码出新的数据 更新其对应的texture。
3:把ijkplayer封装在c++引擎里方便使用(jsb必不可少)。
大致流程图:
结果:视频成为cocos内部的一个sprite,更加灵活使用。
为什么使用ijkplayer?因为懒,不想封装ffmpeg ,不想自己写音视频同步,不想自己写视频控制模块,不想自己写.......
总结:图画的丑,文字描述的不清晰。
上班时间为何写帖子???因为我在编译安卓平台。
网友评论