当下直播、短视频、视频社交等成为了疫情期间爆发式增长的软件产品,美颜SDK功能也从原先基础的美白磨皮,发展到现在的美型、道具,甚至比如有类似三只松鼠的企业IP动漫形象虚拟主播。在这些酷炫的效果背后,离不开强大渲染能力,所以我们各大平台极需要一个底层渲染框架来支撑我们的平台发展。那么如何自主开发一个这样的美颜渲染框架,也简称直播美颜SDK呢,下面我们从底层技术来具体剖析。

1. SDK特点

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

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

(2) 低能耗:目前直播、视频社交等应用,所基于的推拉流和音视频SDK也十分耗能,毕竟它们需要保证数据传输分发和高并发性。那么美颜渲染就需要尽量少消耗性能,否则将会卡成连环画。这里抛个问题给大家,美颜的能耗最大会出现在哪一步?GPU计算?CPU计算?还是GPU/CPU通信?

如果这一性能方面做不好,就会像市面上某小动物名称的美颜SDK一样导致如下场景:

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

2. SDK技术架构

下面说点干货,将会带大家从技术层面了解美颜SDK如何构成。美颜SDK主要可以分为3层:AI计算层,渲染层和封装层。

(1) AI计算层主要用于进行人脸检测、肢体追踪、手势识别等需要人工智能辅助的功能,从这个层面完全自研难度确实非常大。比如美型功能,完全就是依赖于人脸检测和追踪技术进行大眼瘦脸操作的,一般除了非常专业的美颜SDK提供商,这些AI层面技术还是向具备AI能力企业采购吧,当然如果提供美颜SDK的企业也采购的第四方,那这家美颜SDK就可以直接pass了,因为说不定哪天他们和第四方解约了,最好情况也是四方扯皮,最坏可能钱白花功能还用不了。

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

每个Filter都是一个插件,那么就需要利用抽象方法,将渲染的公共逻辑提取到基类,不同算法逻辑实现在各类不同的着色器shader上。

回到上面抛出的问题,哪一步会最耗性能?首先,渲染层尽量让GPU进行运算,因为GPU在视频处理方面本就比CPU有优势,但是即使这样,还是会有GPU和内存之间的数据通信,会非常耗性能。从内存载入数据到GPU会阻塞CPU,这会导致CPU占用率标高。所以上面某SDK的CPU占用率达到99%导致手机直接要冷却才能使用,也是这一步的处理没处理好。

这一步如果想要在低端机上依然有很强的表现,完全依赖OpenGL渲染是不行的,因为它的渲染是耗时的,谷歌和苹果据说也在计划废弃OpenGL ES和EAGL。那么像我们萌图SDK内部使用了新一代渲染框架Vulkan,将会增强单OpenGL框架的性能表现。

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

今天讲的都是美颜SDK从技术层面的剖析,不懂技术的无需继续跟读后续技术博文。技术人才,想自己实现的,关注我,继续带你了解下一步,后面上代码。

直播美颜SDK从技术层面如何自行实现相关推荐

  1. 直播美颜技术的演进及其应用:直播美颜SDK详解

    直播美颜技术的应用,为直播开辟了新的业态,从最初简单的美颜滤镜,到现在的直播美颜SDK,其技术演进历程也是一步步走来. 一.直播美颜技术的演进 1.简单美颜滤镜 最初的直播美颜技术,就是通过简单的美颜 ...

  2. 如何选择适合平台的直播美颜SDK:从技术和商业角度考虑

    直播美颜SDK作为一种技术解决方案,可以帮助直播应用实现优秀的美颜效果,提高用户体验和粘性.然而,如何选择适合你应用的直播美颜SDK,需要从技术和商业角度综合考虑.本文将从这两个角度出发,为你介绍如何 ...

  3. 短视频直播美颜sdk可以接入其它视频社交平台吗?

    近期,小编调研了市场上美颜sdk的使用情况,根据使用频率来看,短视频.直播类型的视频社交平台的使用频率是最高的,甚至超过了其它平台的总和.例如短视频平台,大家应该非常了解,毕竟它就是以各种卡点.趣味拍 ...

  4. 第三方直播美颜SDK的美颜功能是怎么实现的?

    时下,互联网已经成了人们主流的娱乐方式,特别是在年轻群体中,几乎每个人手机上都会安装娱乐社交类的APP.其中下载量最高的几款娱乐类APP大家应该都了解,无疑是与直播相关的,它之所以能拥有这么高的用户量 ...

  5. 直播美颜sdk免费版有吗?为什么美颜sdk没有免费版?

    近几年,人脸关键点识别.美颜算法.美颜技术以及图像处理等领域的迭代频率越来越高,这一切都为美颜拍摄类APP和美颜sdk提供了技术基础,促使美颜APP功能与美颜sdk技术日趋细分化.多元化,使用场景也愈 ...

  6. 直播美颜SDK动态贴纸详解

    打开如今的直播拍摄类平台,主播们使用直播美颜SDK已经是一件稀松平常的事情,特别是在"颜值区"这个分类里,几乎所有的主播都在用.大家喜欢用直播美颜SDK不单单是因为它可以为大家提升 ...

  7. 直播美颜sdk是什么?它是怎么让用户”变美“的?

    如今,直播美颜sdk.手机摄影.短视频以及社交软件的盛行,让"拍照"成为人们日常生活中不可或缺的一部分.随着直播美颜sdk技术的不断升级,手机摄影的质量也越来越高.有统计数据显示, ...

  8. 美颜sdk对直播平台有多重要?为什么需要接入直播美颜sdk?

    以当前互联网趋势来看,直播和短视频市场占有了互联网娱乐的极大份额,其中最为热门的无疑是"颜值"这个话题,毕竟"颜值经济"也是互联网泛娱乐平台的重要组成,甚至可以 ...

  9. 视频直播美颜sdk的发展史

    视频直播美颜sdk的出现是必然的,它的诞生就是为了让更多用户能够更好地体验到视频直播带给大家的快乐,可以说视频直播美颜sdk的发展和用户体验有着紧密联系.今天,小编不聊技术,咱们来聊一下视频直播美颜s ...

  10. 直播美颜SDK接口的闪白功能实现流程

    直播美颜SDK接口作为主播们在直播中最常用的工具,相信大家已经非常熟悉,其中包含了多种多样的美颜功能,小编之前也为大家讲解过,今天小编继续为大家讲一个直播美颜SDK接口中的热门功能"闪白&q ...

最新文章

  1. 一个比较明显的OOM的排查过程
  2. ios Sqlite数据库增删改查基本操作
  3. 通过调用门进行控制转移 ——《x86汇编语言:从实模式到保护模式》读书笔记29
  4. ViewPager 的适配器 PagerAdapter 、FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别
  5. 顶级程序员的生活是怎样的? 网友: 很后悔, 找不到女朋友!
  6. DNN Experience
  7. 体验VS2017的Live Unit Testing
  8. 纯CSS实现锚点跳转位置上下偏移的办法
  9. 《智慧书》格言91-100
  10. 重庆计算机教师招聘 专业技能测试什么,教师招聘考试面试,专业技能测试考什么?全在这了...
  11. HTML:frame导航框架的实现方法
  12. 【备忘】Pr基本操作
  13. 有什么方法可以把WPS转为Word:小白教你一招搞定
  14. 地图坐标转换(84坐标、百度坐标、国测局坐标)
  15. MFC Tab控件的使用方法
  16. 函数练习题,个人名片展示
  17. 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码
  18. java泛型 方法返回值带有泛型 <T>
  19. 2021工业交换机前十大品牌排行榜,工业交换机哪个牌子好?
  20. 如何扒别人网站(网页) 附扒网站神器

热门文章

  1. 线性代数Python计算:无关向量组的正交化
  2. 一年学完计算机专业课程,用了这种学习方法,他一年学完了33门MIT计算机课程...
  3. 1153: 简易版最长序列 C语言
  4. html大鱼吃小鱼游戏,大鱼吃小鱼 网页游戏源码(javascript)
  5. c语言阿基米德螺旋线编程,阿基米德螺旋线进刀凸轮外轮廓铣削的编程技巧
  6. html树状图怎么搜索节点,echarts2.* tree树形图节点点击事件和节点点击图标更改...
  7. 从零开始学springboot笔记(一)-Spring boot之Hello Word
  8. STM32单片机实现二维码显示
  9. DHCP 协议(一)
  10. REMIX智能合约实例BALLOT分析