请问如何将远程视频解码渲染到sprite组件上?

如题,由于videoPlayer组件层级问题实在不好用,请问你们都是怎么实现游戏内播放视频且层级不在最上层的?之前看到论坛上有人说解码视频流渲染至sprite组件上,请问有哪位大佬能提供一下思路吗?

保持热度,我顶!

新版本不是支持videoplayer的层级了吗。贴一个我再1.10.1中使用的代码

我记得我以前用libvlc解过视频,得到pixl直接给sprite rawdata

我们现在用的是2.3.4版本。。

2.4.0 videoPlayer层级貌似也不支持原生吧?

能不能提供一下demo?

我还真找到记录了用的cocos2dx,很早之前随便做的,把解码的数据给CCData,调用image的rawset,最后用了ImageView显示,现在看来好不靠谱啊

你要实在是想渲染到一个节点可以试试,把解码数据给一个shader,这样挂载这个材质的节点就好控制了

我最近也在尝试,这个,我参考这个:https://github.com/mtgr1020/OpenCVDemo
https://www.cnblogs.com/FHC1994/p/11724484.html
opencv把视频分离出img在做为贴图给sprite或者mesh上面,但在update每次更新贴图有点耗性能,且现在只能在web html上用~:slightly_smiling:

我是想在原生上使用:joy:

我大概提供个思路吧,如果是原生的用ffmpeg 得到纹理数据 然后每次解码得到数据后刷新纹理。音频流在iOS上用AudioQueue播放。我利用周末时间大概搞了一个多月,优化了几个版本后,各个指标都很理想 。所以这条路可以走的通,加油

1赞

这两天又再次学习shader,看到https://www.shadertoy.com/view/ttsyzM 这个用shader写的,估计原生也可用吧,回头试试~