Serverless 音視頻轉碼 —— 芒果 TV 落地實踐(上)

本文整理自芒果 TV 吳堅強在 Techo 大會的分享。下面,讓我們一起回顧下吳老師在 Techo 大會的精彩演講內容。

原文作者:吳堅強 整理編輯:王天雲;@Aceyclee

大家好,我叫吳堅強,來自芒果 TV,非常榮幸收到騰訊雲的邀請來和大家分享芒果 TV 在騰訊雲 Serverless 上的落地探索及實踐。

今天的分享,主要從目前 Serverless 的易用性以及出於對資源的消耗和成本的考慮,希望能爲做類似業務落地的同學提供一定的參考。

我本次的分享主要分四個部分,第一個是芒果TV簡單介紹;第二個是音視頻編解碼業務的簡述及發展現狀;第三是引入Serverless結合以後,我們在此期間做的事情;第四是規劃及展望。

芒果TV,在座各位都比較熟悉,它是湖南廣電下的視頻平臺。大家熟知的《快樂大本營》、《明星大偵探》、《歌手》、《爸爸去哪兒》等等這些節目,尤其是在今年推出的自制節目《乘風破浪的姐姐》,非常火爆。

芒果 TV 作爲湖南廣電雙核驅動的戰略主體之一,是國內 A 股首家國有控股的視頻平臺。經過這麼多年的發展,獲得非常多的榮耀。

芒果音視頻編解碼業務

下面我簡單介紹下我們團隊承擔的業務,主要有以下幾個方面:

在自有內容的音視頻播出裏,每天有海量視頻的生產,消耗我們很大的計算資源。每天處理的量從 240P 到 4K 等不同清晰度、超 50 餘種格式,包含 AVC、HEVC、MPEG等多種編碼格式。

而在 UGC 方面,我們需要快速將創作者的內容呈現給用戶,給創造者帶來收益。這一塊目前我們有一部分還是在用騰訊雲的點播服務,後期逐步往 Serverless 上面遷移。

主觀感興趣視頻編碼的研究

下面我分享一下主觀感興趣視頻編碼的研究,它是基於視覺冗餘原理和對編碼器引擎深度優化,相對原生 X264、X265 編碼軟件同等主觀畫質降低碼率 40% 以上。

第一,我們進行前期的預處理,通過分析這個視頻動態複雜度、場景、鏡頭等,自適應匹配到RDO編碼曲線最佳性價比碼率,從而實現在不降低主觀畫質的體驗上,去降低碼率達到 30% 以上。

第二,主觀感興趣的區域編碼。圖二,是我們人眼聚焦的點在小汽車上面,可以看到一個人開着車的動作,利用人眼視覺感興趣區域關注特點,通過芒果自研基於 AI 的主觀感興趣區域預測模型,指導編碼器在不同區域的編碼質量權重分配,同等主觀體驗降低碼率15%以上。

第三,視頻編碼圖像增強技術,自主研發的系列編碼圖像優化技術,在不增加碼率前提下,達到超越源片畫質的體驗提升。

我們在前面看到的是編碼的算法研究,而在龐大的音視頻處理平臺的版本迭代過程中,我們還有很多的研究。

芒果音視頻轉碼平臺產品迭代

從2015年起開始第一代,基於 Hadoop 的 MapReduce 計算實現,它處理量比較少,隨着業務的快速發展,後期我們發現該架構擴展比較困難。

第二代,是基於mesos的分佈式資源管理框架,這個時候我們的業務已經有所增加,日處理量得到提升,尤其是 2016 年芒果提出獨播的戰略,音視頻內容需要快速生產上線,在此基礎上實現了視頻分段轉碼。

第三代,是在2019年的時候,由於引進AI技術和我們圖像優化技術,引入這些方法後,因此採用K8S來實現資源的調度,自研調度及工作流編排。而到今年因受到疫情的影響,我們視頻的量增長的非常快速,尤其是在UGC,超過以前十倍以上的量,引入了Serverless的後,快速的實現了集羣的擴容,快速去提供我們所需要的計算資源。

Serverless 的價值

第一個場景,我們爲什麼要去用這個Serverless,在此之前,前面的幾位大咖已經分享過。從下圖我們可以看到,從左到右雲端計算的發展,雲計算一直在進步的。

左邊是我們早期是物理機託管,到雲主機到容器的出現,到現在Serverless的出現,已經得到非常的發展。

早期的物理機和雲主機和容器的特點,決定了30%的時間是處於低負載的情況。而芒果早期視頻的轉碼,大概有上百臺服務器,在本地IDC機房。白天資源嚴重不足,但到凌晨則處於低負載,服務器資源無法合理使用,而如今採用 Serverless 以後,能夠保證我們資源得到合理利用。

Serverless 能夠給我們帶來哪些價值呢?

  1. 快速部署、彈性伸縮靈活的按量使用,降低業務使用瓶頸。
  2. 按使用場景實現任務的多地域調度能力,根據用戶來源去調用每個區域資源合理使用。
  3. 雲上備份容災機制,實現業務的不間斷運行。
  4. 在確保性能的基礎上省錢省事的目的。

芒果 Serverless 落地實踐

下面介紹下我們在引入 Serverless 以後的落地實踐。總體來講,我們在 Serverless 落地的實踐包括以下幾個方面:

第一、音視頻轉碼

剛剛做了簡單介紹了,我們在雲端利用 Serverless 實現音視頻轉碼, 它只需要簡單的三步就可以達到:

第一步,創建函數,部署自研編碼器資源包、部署轉碼邏輯。

第二步,配置 COS Bucket 觸發器,對源視頻實時處理加工;旁路生成日誌和監控、支持告警。

第三步,對轉碼後的視頻回傳 COS,並分發到自建 CDN 或騰訊 CDN 節點。

它的核心優勢主要是在於憑藉雲函數強大的聯動能力,能夠將我們視頻上傳以及視頻處理和加工,還有視頻提取還有存儲場景能夠有機結合爲一體。

第二、支持靈活處理

能支持自定義轉碼函數,自身編碼器能夠快速部署上去,彌補單獨服務,雲服務的盲點。

第三、平滑遷移

線上 UPGC 內容採用的雲廠家的點播服務,編碼器處於不可控的狀態。而採用 Serverless 後能夠平滑遷移我們自己的轉碼系統,把自研的編碼器遷移上去,可自由調節所需參數,達到優化視頻質量的目的。

第四、降本增效

這是最大的優點,能夠大量降低我們成本,我們在上線以後,計算資源的成本降低了百分之四五十以上

我們原有的音視頻轉碼架構,需要自己監控各項指標,比如說 CPU 和內存,還有網絡帶寬。我們通過觸發器,去調動雲服務器的安裝鏡像去接入計算平臺,這個有一個比較大的問題,它這裏延時比較高。

第二,我們啓動以後,什麼時候釋放資源也存在很大的問題,造成大量計算資源的浪費。而所以採用 SCF 以後,就可以運用雲函數自動擴容的方式去應對大量用戶請求,同時騰訊雲實現了實時監控,比如說內存、併發,網絡帶寬。

芒果業務場景:自研的 DAG 工作引擎支持函數編排

目前我們在使用雲函數過程當中,一個比較困難的點,我們編排了十幾個函數或者是幾十個函數後,發現把函數串聯起來的時候,有一點困難。

因此後期我們通過自研的 DAG 工作引擎來實現,它支持我們本地任務調度的同時,去支持SCF的編排,解決了函數之間的聯動調用,可以從圖片看到,一個視頻進來我們要提出它的水印,提取音頻,或者是後面要做視頻的封裝,而不同的封裝格式,爲了節省這個資源,會將轉碼出來的文件做不同的轉封裝輸出。

芒果業務場景:視頻魔術手

另外一個業務場景,就是視頻魔術手。在使用芒果 TV APP 的時候,用戶看到一個精彩片段或者是自己喜歡的明星片段,想把片段分享出去,需要對視頻做裁剪。

實現的方案有兩個,第一個從客戶端去實現,第二個從服務端實現。

我們在調研的過程當中發現,在客戶端實現的時候,考慮用戶設備的計算資源,還有他可能有一個弱網環境下,導致內容上傳出現問題,因此我們從服務端去實現,採用雲函數SCF處理來解決。客戶端、瀏覽器或者是 APP 小程序請求生成片段時,利用 SCF 處理後將視頻地址返回給用戶播放,再分享出去。傳統服務端實現需要考慮負載均衡,但是這次我們採用 SCF 後能夠動態去擴縮容,成本低,而且用戶沒有任何請求的時候,不要支付費用任何費用。

我們考慮視頻處理的場景非常消耗資源,用戶一次請求需要消耗 4 個核心 CPU,64 核傳統的服務器,同時能夠處理16個用戶的請求,如果我們 QPS 達到 100 的時候,需要大量的服務器去支撐,而在採用SCF後,這是目前我們做的收益非常大的一個面。

最後,我再總結下我們在使用雲函數以後的實際感受

  • 高易用性,我們只需要實現業務代碼的邏輯,無需關心非功能開發以外的問題,免運維。

  • 穩定性,目前穩定性還是非常高的。但是有一個問題,是實時處理的重試處理。

  • 快迭代,支持版本號,API 流量自由分配,快速實現灰度方案。

  • 快啓動能力,每次在一秒鐘之內實現,20 秒以內能完成,現在目前能滿足我們需求。

芒果TV 音視頻轉碼團隊下一步業務規劃

Serverless 的架構下用戶不用再去關心運維所需要的資源,我們直接關注業務代碼邏輯,按照時間消耗支付費用。隨着 Serverless 出現,雲函數計算才真正到來了。

考慮到我們未來建設能力,可以將 4K、CPU、AI 能力往上去遷移,目前來說 GPU 在 Serverless 上面未能實現,但未來可期待。其次是我們轉碼架構升級,未來我們將本地的系統往上面遷移,可以幫助我們把研發效能提升。第三個是降低運維複雜度,優化轉碼成本。雖然 Serverless 還有不足的地方,需要去完善。但是憑藉 Serverless 自身強大的優勢,無論是對企業還是開發者來說,它還是具有非常大的吸引力的。

相信隨着未來技術飛速的發展,Serverless在未來有無限想象的空間。謝謝大家!

One More Thing

立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 serverless/start

歡迎訪問:Serverless 中文網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章