直播技术(四) —— 礼物渲染方案(一)

版本记录

版本号 时间
V1.0 2021.02.13 星期六

前言

最近在两家公司任职做的都是直播相关的业务,音视频的门槛现在是越来越低,很多的三方视频云等都支持直播相关的业务,从推流拉流到美颜、滤镜、贴纸甚至人体识别等都有很多的第三方公司支持。但是,好一点的公司还是自己研发自己的视频云SDK,这样可以不受三方束缚,定制性也更好些,相信看过我写过的文章的人,发现了我写过和直播相关的技术,这里我另起一个模块和大家继续分享直播相关技术,感兴趣的就给个赞支持一下。感兴趣看上面几篇文章。
1. 直播技术(一) —— 移动直播连麦几种处理方案(一)
2. 直播技术(二) —— 直播间的上下切换(一)
3. 直播技术(三) —— 直播间的PK流程(一)

礼物渲染技术

当我们从服务器上拉取礼物收到消息的时候,就需要在看播端和主播端进行渲染。从17年开始做直播的这些业务开始,就是从序列帧到现在的264礼物。算是做过了几次修改和方案的替换,下面就一起看一下这三种方案和各自的优缺点。

1. 序列帧

  • 缺点:8bit色域比较窄,占用带宽比较大,特别是android端。
  • 优点:更好的适应性,不同平台播放无需更多的经历进行调试和适配。

这里遇见了个小插曲,前几天去阿里面试,也拿到了口头offer,但是面试的时候我说到了这个问题,面试官认为只有GIF才有8bits调色板色域窄的问题,Png不存在这个问题。其实这个问题,很好说明。Png有8bits,24bits和32bits,其中8bit可以使用调色板编码会小一些,而Gif必须是8bits。这个在Png标准里都有说明。

所以Png也存在8bits调色板色域窄的问题。

2. webm礼物

webm格式来自于googleVp8(264)vp9(265)webm还可以细分为三种

1)第一种是无损压缩(webp,png,7z等)
2)第二种是RGB和A分开压缩和解压(两个webm),这个就是需要做对齐的,缺点很明显就是RGB跟随A对齐比较麻烦,容易出错。
3)第三种是A和RGB同一压缩比(一个webm,左右分屏),这个不用做对齐,但是会牺牲一定的的A值,所以这是一个权衡和折中方案。

  • 优点:色域比较宽,不会受限于序列帧的8bit的限制。
  • 缺点:CPU占用和损耗比较大

3. h264方案

  • 优点:利用手机端的硬件进行硬解码加快解码速度,减少内存占用,同时加快速度
  • 缺点:暂时没有啥缺点

从目前软硬件发展形势看,这个已经是近似最优解了。

后记

本篇主要讲述了礼物渲染方案,感兴趣的给个赞或者关注~~~

推荐阅读更多精彩内容