<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          字節(jié)跳動開源又一力作

          共 1142字,需瀏覽 3分鐘

           ·

          2020-09-07 09:24

          【公眾號回復 “1024”,免費領(lǐng)取程序員賺錢實操經(jīng)驗】

          大家好,我是章魚貓。

          今天給大家推薦的這個項目是「AlphaPlayer」,是直播中臺使用的一個視頻動畫特效 SDK,可以通過制作 Alpha 通道分離的視頻素材,再在客戶端上通過 OpenGL ES 重新實現(xiàn) Alpha 通道和 RGB 通道的混合,從而實現(xiàn)在端上播放帶透明通道的視頻。

          這套方案對設(shè)計師而言明顯降低了特效的制作成本,對于客戶端而言有著更可靠的性能和穩(wěn)定性,且相比 cocos2d 引擎有著更低的入門門檻和維護成本,為復雜動畫的實現(xiàn)提供了一種全新的方式,新的復雜動畫開發(fā)將會變得更加簡單高效。

          背景

          在直播項目的原有禮物動畫實現(xiàn)效果是通過 cocos 引擎實現(xiàn)的,大部分動畫都是通過一系列的旋轉(zhuǎn)平移縮放組合而成,能實現(xiàn)的動畫效果較簡單且開發(fā)成本較高。為了豐富動畫的表現(xiàn)形式,降低開發(fā)成本,引入了 AlphaPlayer 的動畫實現(xiàn)方案。

          方案對比

          目前較常見的動畫實現(xiàn)方案有原生動畫、幀動畫、gif/webp、lottie/SVGA、cocos 引擎,對于復雜動畫特效的實現(xiàn)做個簡單對比。

          運行效果

          項目結(jié)構(gòu) & 基本原理

          主要有兩個核心部分,一個是 MediaPlayer,負責視頻每一幀的解碼,支持接入方自行實現(xiàn);另一個是 VideoRenderer,負責將解析出來的每一幀畫面進行 alpha 通道混合,再輸出到 Surface 上。View 使用的是 GLSurfaceView,性能相對 TextureView 更優(yōu),但層級限制在最頂層。

          AlphaPlayer 內(nèi)部是通過 Render 渲染紋理畫面的,設(shè)計師導出的視頻資源會包含兩部分內(nèi)容——透明遮罩畫面和原視頻畫面兩部分,然后通過 shader 進行 alpha 值的混合,詳細可以看 frag.sh 和 vertex.sh。

          已知接入方

          點擊閱讀原文查看更多。

          開源項目地址:https://github.com/bytedance/AlphaPlayer

          開源項目組織:ByteDance Live Android team

          推薦閱讀:

          “快速、簡單、健壯”的前端應(yīng)用框架

          推薦幾個開源的個人獨立博客系統(tǒng)

          Google 出品網(wǎng)站性能質(zhì)量及錯誤分析工具

          ---特別推薦---

          特別推薦:一個新的優(yōu)質(zhì)的推薦高效工具,軟件,插件的公眾號,每天給大家分享優(yōu)秀的效率工具,「程序員掘金」,專門為程序員挖掘好東西的一個公眾號,非常值得大家關(guān)注。

          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  波多野结衣一二三区乱码 | 婷婷丁香亚洲日韩 | 69久国产精品无码 | 成人一区二区三区四区五区 | 亚州在线视频 |