極速生成縮圖,Serverless 支撐賽事轉播鎖定冬奧亮點

阿里巴巴雲原生發表於2022-02-27


作者 | 西流、筱姜

"北京冬奧會在開賽的第四天便成為了歷史上收視最高的一屆冬奧會,其轉播內容總生產量將達 6000 小時,超過平昌冬奧會的 5400 小時。關注北京冬奧會的人群比往屆都多,北京冬奧會在全球收視預計將超過 20 億人次。" 這是奧林匹克廣播服務公司(OBS)執行長伊阿尼斯·埃克薩科斯在 2 月 10 日釋出的一組資料。毫無疑問,北京冬奧是近一個月世界網路中的 "頂流"。

全球觀眾對觀看北京冬奧會賽事的熱情高漲,讓賽事轉播視訊備受矚目。通過瀏覽賽事亮點縮圖,觀眾可以在眾多轉播視訊中快速找到自己感興趣的內容。對於轉播商來說,如何簡單快速的對海量賽事直播視訊做實時處理,在不同時間點上生成縮圖是一個難題。

Serverless 支撐賽事轉播鎖定冬奧亮點

視訊縮圖是在視訊中某一幀動畫的縮圖,相當於將視訊的封面或其中一幀的畫面內容轉換成了圖片檔案,選取的視訊縮圖能夠把視訊中亮點畫面突出顯示,快速抓住使用者眼球,提高點選播放率,賽事視訊縮圖與普通視訊縮圖有些不同,需要對海量視訊做更為快速實時的抓取。

函式計算支援的客戶需要對北京冬奧會的海量比賽直播視訊進行實時處理,在直播視訊裡的不同時間點上做截圖(專業術語 "視訊圖片採集"), 客戶的需求如下:

  • 需要定時事件觸發截圖操作
  • 客戶只想集中精力在具體的邏輯開發, 核心視訊截圖邏輯程式碼量不大, 需要快速完成開發
  • 客戶不希望管理部署虛擬機器/物理機,希望越簡單越好
  • 客戶需要這個核心業務邏輯具有彈性高可用, 免運維

通過使用阿里雲函式計算(FC),使用者開發了視訊截圖的核心業務程式碼,開發成本低,一鍵部署,即得到了一個彈性高可用免運維的直播視訊截圖服務,幫助實現冬奧視訊亮點實時抓取。

圖片僅展示視訊縮圖效果

其實早在 2021 年東京奧運會期間, 就有轉播公司通過阿里雲函式計算(FC)視訊縮圖服務完美支撐直播賽事實時鎖定精彩亮點了。在奧運會的 15 天期間內, 發生了數千萬次函式呼叫, FC 保證了該服務彈性高可用。

穩定應對爆發式峰值流量,實時進行多媒體處理

公有云 Serverless 架構具有應對爆發式峰值流量的優點。函式計算是阿里雲提供的 Serverless 計算平臺,函式計算可以根據請求量動態分配執行環境,毫秒級排程計算資源,確保在負載高時保持穩定的延時,在負載低時有較高的資源利用率,且只會對程式碼執行時使用的計算資源付費。函式計算還可以與物件儲存服務無縫整合,可以方便地對儲存在物件儲存中的圖片進行實時處理。

1、函式計算視訊直播截幀服務

在北京米連科技有限公司旗下相親交友產品伊對 App 的業務場景裡面,視訊直播是最為重要的環節,基於視訊直播這個骨架,可以融入線上紅娘等多類創新業務模式,這也對視訊直播的內容安全提出了極高的要求。不論是自身通過 AI 技術對視訊直播內容進行智慧分析,還是應對監管的要求,都需要在每一路視訊直播流開始後,根據固定頻率對視訊進行截幀,並通過統一的稽核服務對截幀生成的圖片進行處理。

在這個需求裡面,截幀服務承擔著關鍵職責,這個服務不僅需要通過 FFmpeg 命令對每一路直播視訊流進行截幀操作,還需要將生成的圖片儲存到物件儲存 OSS,並將截幀資訊寫入到 Kafka。這樣下游的截幀服務就能從 Kafka 上拉取截幀資訊,並從截幀資訊中得到圖片在 OSS 中的地址,從而完成對於圖片的稽核。在這個架構中,引入 Kafka 是為了通過非同步處理機制緩解稽核服務在業務高峰期的負載。


伊對 App 使用函式計算,使用者無需採購與管理伺服器等基礎設施,只需編寫並上傳程式碼。函式計算會自動準備好計算資源,彈性地、可靠地執行任務,並提供日誌查詢、效能監控和報警等功能。藉助函式計算 FC,可以快速構建任何型別的應用和服務,並且只需為任務實際消耗的資源付費。之前截幀業務的架構只需要做很小的調整,就能遷移到函式計算平臺上來,以享受 Serverless 的價值。

2、函式計算圖片實時處理服務

以新浪微博為例,業務的急速增長對微博的原有技術體系造成了極大的衝擊。如何在使用者量飛速增長、熱點事件流量激增及請求有明顯波峰波谷的情況下,既不影響使用者體驗,又不增加伺服器成本投入是微博開發人員的當務之急。

函式計算的彈性擴容、事件觸發、按量付費的特性與微博一拍即合。新浪微博決定使用函式計算部署圖片處理業務。

新浪微博使用函式計算的彈性擴容、事件觸發、按量付費的特性部署圖片處理業務,將使用者上傳的圖片儲存到物件儲存中,編寫函式實現個性化的圖片處理。當微博的使用者通過客戶端獲取圖片時,請求通過阿里雲 CDN 回源到函式計算,函式從物件儲存中下載原圖,根據客戶端型別(比如不同的手機型號)實時處理成預期規格的圖片,並將結果圖片返回, 極大減少儲存成本。

函式計算毫秒級伸縮計算資源確保應用在熱點事件發生時仍能保證穩定的延時,使用者體驗完全不受訪問次數的影響。通過函式計算執行圖片處理服務,微博實現了持續的成本節省。再也不需要為平滑處理業務高峰帶來的流量激增而提前預留大量閒置機器資源,同時由於不需要維護複雜的機器狀態,工程師可以集中精力與產品團隊合作增加業務價值,而不是花時間管理基礎設施。

總結

Serverless 技術毫無疑問將會承擔更多的責任,讓使用者更快更好的構建應用。使用 Serverless 架構可以覆蓋很多場景,這裡只是介紹了幾個圖片處理的場景。Less is more 把事情交給可靠的平臺(比如雲廠商)去做,讓開發者可以更加聚焦自身的核心業務價值,是 Serverless 一直所推崇的理念。

(END)

更多內容關注 Serverless 微信公眾號(ID:serverlessdevs),彙集 Serverless 技術最全內容,定期舉辦 Serverless 活動、直播,使用者最佳實踐。

相關文章