淘宝直播在智能互动领域的探索及落地
簡介:?隨著帶寬成本的降低和端上算力的提升,在直播、短視頻中基于流的互動玩法也將越來越豐富;無論是基于人臉、手勢、分割算法的智能化貼紙,還是結(jié)合算法的小游戲有了越來越好的舞臺;業(yè)界短視頻和直播主要針對的娛樂性的場景,更是將娛樂化的玩法用到了極致,例如抖音的仿flappy bird潛水艇小游戲,最氣的漫畫風(fēng)格的拍攝玩法都引爆成為熱點。抖音有PC的玩法生產(chǎn)工具EffectCreater生產(chǎn)工具和移動端的玩法社區(qū)特效君,已經(jīng)打打造了一個支持?jǐn)?shù)以萬計的設(shè)計師的生態(tài)圈。
背景
隨著帶寬成本的降低和端上算力的提升,在直播、短視頻中基于流的互動玩法也將越來越豐富;無論是基于人臉、手勢、分割算法的智能化貼紙,還是結(jié)合算法的小游戲有了越來越好的舞臺;業(yè)界短視頻和直播主要針對的娛樂性的場景,更是將娛樂化的玩法用到了極致,例如抖音的仿flappy bird潛水艇小游戲,最氣的漫畫風(fēng)格的拍攝玩法都引爆成為熱點。抖音有PC的玩法生產(chǎn)工具EffectCreater生產(chǎn)工具和移動端的玩法社區(qū)特效君,已經(jīng)打打造了一個支持?jǐn)?shù)以萬計的設(shè)計師的生態(tài)圈。
淘寶直播和短視頻更偏向電商場景,我們也在探索這些玩法在直播和短視頻中的應(yīng)用,對提升直播間停留時長,豐富直播間和短視頻內(nèi)容;其中在視頻流里面渲染和算法調(diào)用幾乎都是Native的能力,如果用iOS和Android上分別實現(xiàn),性能較難把控,開發(fā)成本、上線和下線成本高,必須在活動前很長時間開發(fā),然后隨著版本發(fā)版,活動結(jié)束后為了減少包大小,又需要將代碼刪除,玩法也無法沉淀。
跨端方案成為唯一選擇,為了提高運營、設(shè)計和玩法開發(fā)人員的制作效率,我們也必須有配套的素材生產(chǎn)工具和玩法編輯工具,解決素材制作-效果調(diào)試和預(yù)覽-素材上傳-素材投放全鏈路的問題,同時我們也希望玩法能結(jié)合權(quán)益產(chǎn)生更大價值。
跨平臺渲染計算引擎
首先在底層渲染層,我們開發(fā)了基于C++的跨平臺渲染計算引擎RACE,除了為傳統(tǒng)的視頻前處理、畫質(zhì)增強(qiáng)、美顏美型美妝外,也提供了動畫系統(tǒng)、玩法系統(tǒng)等游戲化的能力,在一個渲染引擎里面將媒體渲染和游戲化渲染結(jié)合起來。
我們采用了游戲行業(yè)經(jīng)典的ECS系統(tǒng),加以簡化和改進(jìn),來解決渲染關(guān)系,渲染邏輯和玩法邏輯的組織。
玩法往往需要多個算法的配合,同時視頻美顏、前處理等等也需要算法的能力,端上算力有限,合理的算力管理調(diào)度也必不可少,所以我們開發(fā)了PixelAI統(tǒng)一的算法計算框架,一個是用來進(jìn)行算法生命周期模型管理、還有算法調(diào)度,性能監(jiān)控,同時也提供了多平臺的算法運行時統(tǒng)一的基建設(shè)施,這樣算法同學(xué)只要做好模型推理和算法實現(xiàn),所有工程化的東西一站式解決。
腳本系統(tǒng)設(shè)計
在玩法方面,我們希望玩法可以動態(tài)下發(fā),這就需要能用腳本去做玩法,我們希望將渲染計算的能力全部導(dǎo)出到腳本系統(tǒng)里面,這樣就可以在腳本里面利用底層強(qiáng)大的能力;同時玩法里面可以方便的調(diào)用業(yè)務(wù)接口,做好玩法和業(yè)務(wù)的關(guān)聯(lián),業(yè)務(wù)邏輯主要在Weex和H5環(huán)境,同時我們也希望腳本能力能夠使用在編輯器上,供跨端的前端框架如Electron 或Flutter直接調(diào)用,這樣節(jié)省了大量的編輯器開發(fā)工作量。
我們在不同JS引擎上封裝了一層JS Wrapper層,抹平不同JS引擎的JSBinding問題,利用LLVM分析c++頭文件,利用python工具編寫JSBinding模板全自動化導(dǎo)出C++到JS的接口;對原有的渲染計算框沒有做任何修改,這樣在不需要玩法的情況下,不影響穩(wěn)定性;
同時我們也導(dǎo)出了一份OpenGL到WebGL的接口,這樣完全可以在JS側(cè)能在視頻流里面實現(xiàn)更豐富的渲染能力。
MediaAI素材玩法編輯器
編輯器我們和前端和設(shè)計師合作,采用Electron方案,編輯器預(yù)覽和編輯窗口的顯示核心由RACE渲染計算統(tǒng)一提供,Electron底層是NodeJS,NodeJS的JS引擎是V8,只要將RACE的JSBinding接口直接注入到V8里面,編輯就可以調(diào)用全部的RACE接口做窗口預(yù)覽和編輯,這樣編輯器開發(fā)就節(jié)省了大量的開發(fā)工作量;
編輯器中接入素材平臺,運營和開發(fā)人員編輯好素材和玩法之后,上傳到素材管理平臺,由素材管理平臺進(jìn)行分發(fā),玩法類由有相應(yīng)權(quán)益的主播或者運營設(shè)置好參數(shù),如玩法對應(yīng)的權(quán)益,下載玩法到推流端或者播放端,在端上的JS環(huán)境中解析JS腳本,加載素材和玩法邏輯,渲染和計算部分底層統(tǒng)一由JS binding調(diào)用到跨平臺的RACE引擎完成,完整鏈路如下:
編輯器既可以面向設(shè)計師制作各種人臉手勢觸發(fā)貼紙、視頻文字模板等等,又可以面向前端開發(fā)者制作互動小游戲:
部分落地
春節(jié)期間淘寶直播推出的春節(jié)氛圍:
直播后面比較亂,利用分割算法來個背景模糊,或者來個抱抱寶寶的小怪獸:
商家希望主播和達(dá)人能夠拍攝短視頻對商品進(jìn)行介紹推廣,主播和達(dá)人也能夠從短視頻的購買中分傭,對廣大中小主播和達(dá)人而言,將商品寄送到每個可能會推廣的主播和達(dá)人成本高昂,我們360度的拍攝一個商品,然后利用主播可以用手勢控制縮放旋轉(zhuǎn)商品別介紹,這樣就可以極低成本無接觸式的生產(chǎn)商品推廣短視頻;
在直播連麥或者粉絲連麥中做個flappy bird的小游戲?或者主播在發(fā)放紅包后,粉絲通過玩游戲通過游戲得分才能領(lǐng)取紅包,這樣既有趣,又將粉絲留在直播間;
來點可愛又萌的美妝貼紙(原諒一個程序員全程友情出鏡);
后記
一個好的媒體互動產(chǎn)品能給業(yè)務(wù)帶來更多的活力,但往往需要創(chuàng)意設(shè)計師、算法、底層和業(yè)務(wù)開發(fā)共同完成,端上算力有限,特別是在淘寶直播,手淘短視頻等場景下,其他業(yè)務(wù)已經(jīng)占用了很高的性能,需要靈活高效的架構(gòu),很好的性能,針對高中低端機(jī)的分級體驗。在電商場景下,挖掘更適合電商玩法的互動能給業(yè)務(wù)帶來更大的價值,好玩的互動再跟權(quán)益綁定,為商家、主播提供更多更好玩的運營工具;在大促活動提供更有趣的玩法、日常活動里面提供更好的留存手段。
我們近期會新增很多的渲染能力和算法能力,打造好基礎(chǔ),這樣才會更大的發(fā)揮大家的創(chuàng)意;我們近期也將舉辦一個素材設(shè)計比賽,激活大家的創(chuàng)造力,等配套工具更完善,我們也會將工具開放給外部的商家、主播等,打造更好玩的直播短視頻生態(tài)。
?
?
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的淘宝直播在智能互动领域的探索及落地的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全民加速节:全站加速在互联网媒体应用上的
- 下一篇: Flink 1.11 与 Hive 批流