geeeger / blog

https://loofp.com
1 stars 0 forks source link

透明礼物动画方案 #36

Open geeeger opened 3 years ago

geeeger commented 3 years ago

参见 https://github.com/Tencent/vap https://github.com/bytedance/AlphaPlayer

二方案

两者原理相同,均为在MP4视频中开辟新的区域使用yuv frame 记录 alpha通道,然后使用gl进行混合输出。 vap利用MP4 format的特性开辟了新的数据区域用于携带配置,或配置可以直接来自接口。 通过本地缓存,可以做到比较好的动画效果输出。 相对而言字节只做了基础的功能,没有做其他扩展。 但我相信大家都是大厂,应该只是开源了一部分而已,不至于那么菜对吧。

另外,diss一下移动端的web环境,播放困难,缓存困难。 考虑到自动播放在国内几乎行不通,那么需要上解码器 -> png -> gl render,烫。 另外动画资源几乎做不到缓存,成本大增。 这是为什么几乎不见国内大哥们做移动端h5直播的原因,一是体验不好,二是有成本的。

geeeger commented 3 years ago

摊薄成本的方案无非就是p2p,这涉及到webRTC的应用,基于webRTC需要增加令牌服务,穿透服务,多级缓存,这也是成本。考虑移动端吝啬的内存使用限制,也是比较要命的。