AICon全球人工智能与机器学习技术大会9折特惠中,点击立减¥480>> 了解详情
写点什么

淘宝直播在智能互动领域的探索及落地

2020 年 9 月 11 日

淘宝直播在智能互动领域的探索及落地

背景

随着带宽成本的降低和端上算力的提升,在直播、短视频中基于流的互动玩法也将越来越丰富;无论是基于人脸、手势、分割算法的智能化贴纸,还是结合算法的小游戏有了越来越好的舞台;业界短视频和直播主要针对的娱乐性的场景,更是将娱乐化的玩法用到了极致,例如抖音的仿 flappy bird 潜水艇小游戏,最气的漫画风格的拍摄玩法都引爆成为热点。抖音有 PC 的玩法生产工具 EffectCreater 生产工具和移动端的玩法社区特效君,已经打打造了一个支持数以万计的设计师的生态圈。


淘宝直播和短视频更偏向电商场景,我们也在探索这些玩法在直播和短视频中的应用,对提升直播间停留时长,丰富直播间和短视频内容;其中在视频流里面渲染和算法调用几乎都是 Native 的能力,如果用 iOS 和 Android 上分别实现,性能较难把控,开发成本、上线和下线成本高,必须在活动前很长时间开发,然后随着版本发版,活动结束后为了减少包大小,又需要将代码删除,玩法也无法沉淀。


跨端方案成为唯一选择,为了提高运营、设计和玩法开发人员的制作效率,我们也必须有配套的素材生产工具和玩法编辑工具, 解决素材制作-效果调试和预览-素材上传-素材投放全链路的问题,同时我们也希望玩法能结合权益产生更大价值。


跨平台渲染计算引擎

首先在底层渲染层,我们开发了基于 C++的跨平台渲染计算引擎 RACE,除了为传统的视频前处理、画质增强、美颜美型美妆外,也提供了动画系统、玩法系统等游戏化的能力,在一个渲染引擎里面将媒体渲染和游戏化渲染结合起来。


我们采用了游戏行业经典的 ECS 系统,加以简化和改进,来解决渲染关系,渲染逻辑和玩法逻辑的组织。




玩法往往需要多个算法的配合,同时视频美颜、前处理等等也需要算法的能力,端上算力有限,合理的算力管理调度也必不可少,所以我们开发了 PixelAI 统一的算法计算框架,一个是用来进行算法生命周期模型管理、还有算法调度,性能监控,同时也提供了多平台的算法运行时统一的基建设施,这样算法同学只要做好模型推理和算法实现,所有工程化的东西一站式解决。


脚本系统设计

在玩法方面,我们希望玩法可以动态下发,这就需要能用脚本去做玩法,我们希望将渲染计算的能力全部导出到脚本系统里面,这样就可以在脚本里面利用底层强大的能力;同时玩法里面可以方便的调用业务接口,做好玩法和业务的关联,业务逻辑主要在 Weex 和 H5 环境,同时我们也希望脚本能力能够使用在编辑器上,供跨端的前端框架如 Electron 或 Flutter 直接调用,这样节省了大量的编辑器开发工作量。



我们在不同 JS 引擎上封装了一层 JS Wrapper 层,抹平不同 JS 引擎的 JSBinding 问题,利用 LLVM 分析 c++头文件,利用 python 工具编写 JSBinding 模板全自动化导出 C++到 JS 的接口;对原有的渲染计算框没有做任何修改,这样在不需要玩法的情况下,不影响稳定性;


同时我们也导出了一份 OpenGL 到 WebGL 的接口,这样完全可以在 JS 侧能在视频流里面实现更丰富的渲染能力。


MediaAI 素材玩法编辑器

编辑器我们和前端和设计师合作,采用 Electron 方案,编辑器预览和编辑窗口的显示核心由 RACE 渲染计算统一提供,Electron 底层是 NodeJS,NodeJS 的 JS 引擎是 V8,只要将 RACE 的 JSBinding 接口直接注入到 V8 里面,编辑就可以调用全部的 RACE 接口做窗口预览和编辑,这样编辑器开发就节省了大量的开发工作量;


编辑器中接入素材平台,运营和开发人员编辑好素材和玩法之后,上传到素材管理平台,由素材管理平台进行分发,玩法类由有相应权益的主播或者运营设置好参数,如玩法对应的权益,下载玩法到推流端或者播放端,在端上的 JS 环境中解析 JS 脚本,加载素材和玩法逻辑,渲染和计算部分底层统一由 JS binding 调用到跨平台的 RACE 引擎完成,完整链路如下:



编辑器既可以面向设计师制作各种人脸手势触发贴纸、视频文字模板等等,又可以面向前端开发者制作互动小游戏:




部分落地

春节期间淘宝直播推出的春节氛围:



直播后面比较乱,利用分割算法来个背景模糊,或者来个抱抱宝宝的小怪兽:




商家希望主播和达人能够拍摄短视频对商品进行介绍推广,主播和达人也能够从短视频的购买中分佣,对广大中小主播和达人而言,将商品寄送到每个可能会推广的主播和达人成本高昂,我们 360 度的拍摄一个商品,然后利用主播可以用手势控制缩放旋转商品别介绍,这样就可以极低成本无接触式的生产商品推广短视频;


在直播连麦或者粉丝连麦中做个 flappy bird 的小游戏?或者主播在发放红包后,粉丝通过玩游戏通过游戏得分才能领取红包,这样既有趣,又将粉丝留在直播间;



来点可爱又萌的美妆贴纸(原谅一个程序员全程友情出镜);




后记

一个好的媒体互动产品能给业务带来更多的活力,但往往需要创意设计师、算法、底层和业务开发共同完成,端上算力有限,特别是在淘宝直播,手淘短视频等场景下,其他业务已经占用了很高的性能,需要灵活高效的架构,很好的性能,针对高中低端机的分级体验。在电商场景下,挖掘更适合电商玩法的互动能给业务带来更大的价值,好玩的互动再跟权益绑定,为商家、主播提供更多更好玩的运营工具;在大促活动提供更有趣的玩法、日常活动里面提供更好的留存手段。


我们近期会新增很多的渲染能力和算法能力,打造好基础,这样才会更大的发挥大家的创意;我们近期也将举办一个素材设计比赛,激活大家的创造力,等配套工具更完善,我们也会将工具开放给外部的商家、主播等,打造更好玩的直播短视频生态。


本文转载自公众号淘系技术(ID:AlibabaMTT)。


原文链接


淘宝直播在智能互动领域的探索及落地


2020 年 9 月 11 日 14:061397

评论

发布
暂无评论
发现更多内容

我要上首页!自荐好文,官方百万流量扶持

InfoQ写作平台官方

活动专区 9月日更

惨遭泄密!阿里P8大佬的架构笔记外泄:微服务分布式架构实践手册

Java 白

Java 编程 架构 面试 架构师

看完就会的Spring Cloud Gateway

Java技术那些事

Java 编程 程序员 计算机 8月日更

滚雪球学 Python 第三轮,Python Web 之 Django 的世界

梦想橡皮擦

8月日更

合并两个有序数组

Memorys

Java 面试 算法

解读区块链技术在中小企业中的4种常见用例

CECBC区块链专委会

在小厂工作三年的程序员喊话大厂:Java 中高级岗面试为何越来越难?

Java 程序员 架构 面试 IT

链路压测中的支路问题初探

FunTester

性能测试 测试框架 压力测试 全链路压测 测试开发

字节大牛把算法常见面试:哈希、链表、队列、递归全部总结出来了

云流

Java 程序员 面试 算法 计算机

三年豹变!拥抱Z时代,UDE迈向消费电子国际大展

科技热闻

高可用架构(上)

编号94530

微服务 数据库设计 架构设计 高可用架构 高可用集群

AlertManager 告警发送频率探究

greatersecurity

Flink的DataStream API(v1_7)(五)

数据与智能

flink 并行 函数

从 async 和 await 函数返回值说原理

devpoint

Promise Async 8月日更

我终于在六月份实现了跳槽九连杀:字节跳动 Java 研发岗

Java 编程 面试 IT 计算机

为了彻底搞懂 hashCode,我钻了一下 JDK 的源码

沉默王二

Java

【SpringCloud技术专题】「原生态Fegin」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(中)

李浩宇/Alex

SpringCloud OpenFegin Fegin 8月日更

套接字

一个大红包

8月日更

神啦!最全“Java面试宝典+Java核心知识集”,一箭双雕杠秋招

Java 程序员 架构 面试 IT

保险污名化?区块链赋予保险的「四个机会」

CECBC区块链专委会

如何利用 Apache APISX 提升 Nginx 的可观测性

Apache APISIX 中国社区

nginx 开源 网关 APISIX

人类高质量程序员如何过七夕?

InfoQ写作平台官方

话题讨论

react脚手架create-react-app学习笔记

淘皮学院

React

书山有路,AI为径:科大讯飞如何在智能教育硬件赛场突出重围?

脑极体

synchronized优化手段:锁膨胀、锁消除、锁粗化和自适应自旋锁...

互联网架构师小马

什么是通证经济?它和区块链又有什么关系呢?

CECBC区块链专委会

我是一个下「笨功夫」的人

非著名程序员

个人成长 认知提升 个人提升 8月日更

迈入 8K 时代,AI 驱动超高清 “视” 界到来

阿里云视频云

阿里云 高清视频 视频处理 视频制作 视频云

想不到阿里内部的神级项目和JDK源码阅读指南竟惨遭GitHub开源

Java 白

Java 架构 面试 程序人生 计算机

站在巅峰的阿里面试参考指南!居然能让我成功拿下 12 家大厂 offer?

Java 程序员 架构 面试 IT

涨薪 150%,从小厂逆袭,坐上美团 L8 技术专家(面经 + 心得)

Java 编程 程序员 架构 IT

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

淘宝直播在智能互动领域的探索及落地-InfoQ