簡介: 隨着帶寬成本的下降和端上算力的提高,在直播、短視頻中基於流的互動玩法也將愈來愈豐富;不管是基於人臉、手勢、分割算法的智能化貼紙,仍是結合算法的小遊戲有了愈來愈好的舞臺;業界短視頻和直播主要針對的娛樂性的場景,更是將娛樂化的玩法用到了極致,例如抖音的仿flappy bird潛水艇小遊戲,最氣的漫畫風格的拍攝玩法都引爆成爲熱點。抖音有PC的玩法生產工具EffectCreater生產工具和移動端的玩法社區特效君,已經打打造了一個支持數以萬計的設計師的生態圈。前端
隨着帶寬成本的下降和端上算力的提高,在直播、短視頻中基於流的互動玩法也將愈來愈豐富;不管是基於人臉、手勢、分割算法的智能化貼紙,仍是結合算法的小遊戲有了愈來愈好的舞臺;業界短視頻和直播主要針對的娛樂性的場景,更是將娛樂化的玩法用到了極致,例如抖音的仿flappy bird潛水艇小遊戲,最氣的漫畫風格的拍攝玩法都引爆成爲熱點。抖音有PC的玩法生產工具EffectCreater生產工具和移動端的玩法社區特效君,已經打打造了一個支持數以萬計的設計師的生態圈。python
淘寶直播和短視頻更偏向電商場景,咱們也在探索這些玩法在直播和短視頻中的應用,對提高直播間停留時長,豐富直播間和短視頻內容;其中在視頻流裏面渲染和算法調用幾乎都是Native的能力,若是用iOS和Android上分別實現,性能較難把控,開發成本、上線和下線成本高,必須在活動前很長時間開發,而後隨着版本發版,活動結束後爲了減小包大小,又須要將代碼刪除,玩法也沒法沉澱。c++
跨端方案成爲惟一選擇,爲了提升運營、設計和玩法開發人員的製做效率,咱們也必須有配套的素材生產工具和玩法編輯工具,解決素材製做-效果調試和預覽-素材上傳-素材投放全鏈路的問題,同時咱們也但願玩法能結合權益產生更大價值。程序員
首先在底層渲染層,咱們開發了基於C++的跨平臺渲染計算引擎RACE,除了爲傳統的視頻前處理、畫質加強、美顏美型美妝外,也提供了動畫系統、玩法系統等遊戲化的能力,在一個渲染引擎裏面將媒體渲染和遊戲化渲染結合起來。算法
咱們採用了遊戲行業經典的ECS系統,加以簡化和改進,來解決渲染關係,渲染邏輯和玩法邏輯的組織。前端框架
玩法每每須要多個算法的配合,同時視頻美顏、前處理等等也須要算法的能力,端上算力有限,合理的算力管理調度也必不可少,因此咱們開發了PixelAI統一的算法計算框架,一個是用來進行算法生命週期模型管理、還有算法調度,性能監控,同時也提供了多平臺的算法運行時統一的基建設施,這樣算法同窗只要作好模型推理和算法實現,全部工程化的東西一站式解決。架構
在玩法方面,咱們但願玩法能夠動態下發,這就須要能用腳本去作玩法,咱們但願將渲染計算的能力所有導出到腳本系統裏面,這樣就能夠在腳本里面利用底層強大的能力;同時玩法裏面能夠方便的調用業務接口,作好玩法和業務的關聯,業務邏輯主要在Weex和H5環境,同時咱們也但願腳本能力可以使用在編輯器上,供跨端的前端框架如Electron 或Flutter直接調用,這樣節省了大量的編輯器開發工做量。app
咱們在不一樣JS引擎上封裝了一層JS Wrapper層,抹平不一樣JS引擎的JSBinding問題,利用LLVM分析c++頭文件,利用python工具編寫JSBinding模板全自動化導出C++到JS的接口;對原有的渲染計算框沒有作任何修改,這樣在不須要玩法的狀況下,不影響穩定性;框架
同時咱們也導出了一份OpenGL到WebGL的接口,這樣徹底能夠在JS側能在視頻流裏面實現更豐富的渲染能力。編輯器
編輯器咱們和前端和設計師合做,採用Electron方案,編輯器預覽和編輯窗口的顯示核心由RACE渲染計算統一提供,Electron底層是NodeJS,NodeJS的JS引擎是V8,只要將RACE的JSBinding接口直接注入到V8裏面,編輯就能夠調用所有的RACE接口作窗口預覽和編輯,這樣編輯器開發就節省了大量的開發工做量;
編輯器中接入素材平臺,運營和開發人員編輯好素材和玩法以後,上傳到素材管理平臺,由素材管理平臺進行分發,玩法類由有相應權益的主播或者運營設置好參數,如玩法對應的權益,下載玩法到推流端或者播放端,在端上的JS環境中解析JS腳本,加載素材和玩法邏輯,渲染和計算部分底層統一由JS binding調用到跨平臺的RACE引擎完成,完整鏈路以下:
編輯器既能夠面向設計師製做各類人臉手勢觸發貼紙、視頻文字模板等等,又能夠面向前端開發者製做互動小遊戲:
春節期間淘寶直播推出的春節氛圍:
直播後面比較亂,利用分割算法來個背景模糊,或者來個抱抱寶寶的小怪獸:
商家但願主播和達人可以拍攝短視頻對商品進行介紹推廣,主播和達人也可以從短視頻的購買中分傭,對廣大中小主播和達人而言,將商品寄送到每一個可能會推廣的主播和達人成本高昂,咱們360度的拍攝一個商品,而後利用主播能夠用手勢控制縮放旋轉商品別介紹,這樣就能夠極低成本無接觸式的生產商品推廣短視頻;
在直播連麥或者粉絲連麥中作個flappy bird的小遊戲?或者主播在發放紅包後,粉絲經過玩遊戲經過遊戲得分才能領取紅包,這樣既有趣,又將粉絲留在直播間;
來點可愛又萌的美妝貼紙(原諒一個程序員全程友情出鏡);
一個好的媒體互動產品能給業務帶來更多的活力,但每每須要創意設計師、算法、底層和業務開發共同完成,端上算力有限,特別是在淘寶直播,手淘短視頻等場景下,其餘業務已經佔用了很高的性能,須要靈活高效的架構,很好的性能,針對高中低端機的分級體驗。在電商場景下,挖掘更適合電商玩法的互動能給業務帶來更大的價值,好玩的互動再跟權益綁定,爲商家、主播提供更多更好玩的運營工具;在大促活動提供更有趣的玩法、平常活動裏面提供更好的留存手段。
咱們近期會新增不少的渲染能力和算法能力,打造好基礎,這樣纔會更大的發揮你們的創意;咱們近期也將舉辦一個素材設計比賽,激活你們的創造力,等配套工具更完善,咱們也會將工具開放給外部的商家、主播等,打造更好玩的直播短視頻生態。
原文連接 本文爲阿里雲原創內容,未經容許不得轉載。