帮助与文档
热搜关键词:美颜SDK萌颜SDK视频美颜SDK   
从技术层面剖析美颜sdk架构
发布来源:美狐美颜    Date:2021-12-14 14:50:54

如今,美颜sdk的功能从原先基础的美白磨皮,发展到现在的美型、道具,甚至出现了虚拟主播形象。在这些酷炫的效果背后,离不开强大的渲染能力。所以,一款跟的上时代的美颜sdk,该如何构建自己的底层框架呢?

美颜sdk

一、特点

美颜sdk首先要具备一些特点,才能适用于目前大多数直播、视频社交平台日常需求。

1、跨平台:现如今直播已经大多数都是基于安卓和iOS的移动端直播,也有部分游戏主播或者专业的带货主播使用PC直播,那么跨平台就成为了衡量美颜sdk的标准之一。同样的渲染Pipeline和着色器,要能够多端共用,不能够移动端一套,PC一套,Unity再来一套,那将是灾难性的开发。

2、低能耗:目前直播、视频社交等应用,所基于的推拉流和音视频sdk也十分耗能,毕竟它们需要保证数据传输分发和高并发性。那么美颜渲染就需要尽量少消耗性能,否则将会卡成连环画。

3、易扩展:如今美颜功能需求也是日新月异。正所谓,高超的技术斗不过“妖孽”的产品,产品提一个“妖孽”的功能需求,要是不能和堆积木一样易于扩展,那么技术框架一定是存在问题的,并且也不足以应付后期的市场需求。

美颜sdk

二、美颜sdk技术架构

美颜sdk主要可以分为3层:AI计算层,渲染层和封装层。

1、AI计算层主要用于人脸检测、肢体追踪、手势识别等需要人工智能辅助的功能,从这个层面完全自研难度确实非常大。比如美型功能,完全就是依赖于人脸检测和追踪技术进行大眼瘦脸操作的,一般除了非常专业的美颜SDK提供商,这些AI层面技术还是向具备AI能力企业采购。

2、渲染层是最核心的一层了,渲染首先离不开OpenGL,利用OpenGL图形渲染技术打造一个引擎式的渲染管线。将原视频数据喂给引擎,经过各个功能的Filter,向出口输出相应数据格式的视频数据即可。这里每层Filter,又会有OpenGL渲染管线,分为一条小流水线进行坐标转换和着色器运算。坐标转换在CPU中进行计算,送入定点着色器,再送入片元着色器从而利用算法在GPU中实现我们需要的渲染效果。这一层做好流水线上各个filter的排序尤为重要。

3、封装层就很好理解了,既然是sdk,就要有API接口让实现业务逻辑的同行进行调用,并且在各平台上最好接口统一和日志。这一层上,安卓是Java,iOS是OC或者Swift,Win是C/C++,Unity是C#,并不统一,所以要依据不同平台进行接口封装。这一层要做好OpenGL上下文、线程的处理,否则调用时很容易出现白屏,闪屏等现象。

以上,就是从技术层面对美颜sdk的架构分析,如果你对美颜sdk接入有需求,欢迎咨询官方客服。

 声明:本文由美狐原创,未经允许禁止转载,谢谢合作。

本文标签: 美颜sdk
相关阅读
13188947262