当下直播、短视频、视频社交等成为了疫情期间爆发式增长的软件产品,美颜SDK功能也从原先基础的美白磨皮,发展到现在的美型、道具,甚至比如有类似三只松鼠的企业IP动漫形象虚拟主播。在这些酷炫的效果背后,离不开强大渲染能力,所以我们各大平台极需要一个底层渲染框架来支撑我们的平台发展。那么如何自主开发一个这样的美颜渲染框架,也简称直播美颜SDK呢,下面我们从底层技术来具体剖析。
1. SDK特点
直播美颜SDK首先要具备一些特点,才能适用于目前大多数直播、视频社交平台日常需求。
(1) 跨平台:现如今直播已经大多数都是基于安卓和iOS的移动端直播,也有部分游戏主播或者专业的带货主播使用PC直播,那么跨平台性就成为了衡量美颜SDK的标准之一。同样的渲染Pipeline和着色器,要能够多端共用,不能够移动端一套,PC一套,Unity再来一套,那将是灾难性的开发。
(2) 低能耗:目前直播、视频社交等应用,所基于的推拉流和音视频SDK也十分耗能,毕竟它们需要保证数据传输分发和高并发性。那么美颜渲染就需要尽量少消耗性能,否则将会卡成连环画。这里抛个问题给大家,美颜的能耗最大会出现在哪一步?GPU计算?CPU计算?还是GPU/CPU通信?
如果这一性能方面做不好,就会像市面上某小动物名称的美颜SDK一样导致如下场景: