版本记录
版本号 | 时间 |
---|---|
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
格式来自于google
的Vp8(264)
和vp9(265)
,webm
还可以细分为三种
1)第一种是无损压缩(webp,png,7z
等)
2)第二种是RGB和A分开压缩和解压(两个webm
),这个就是需要做对齐的,缺点很明显就是RGB跟随A对齐比较麻烦,容易出错。
3)第三种是A和RGB同一压缩比(一个webm
,左右分屏),这个不用做对齐,但是会牺牲一定的的A值,所以这是一个权衡和折中方案。
- 优点:色域比较宽,不会受限于序列帧的8bit的限制。
- 缺点:CPU占用和损耗比较大
3. h264方案
- 优点:利用手机端的硬件进行硬解码加快解码速度,减少内存占用,同时加快速度
- 缺点:暂时没有啥缺点
从目前软硬件发展形势看,这个已经是近似最优解了。
后记
本篇主要讲述了礼物渲染方案,感兴趣的给个赞或者关注~~~