
作者 | 西流、筱姜
?
"北京冬奧會在開賽的第四天便成為了歷史上收視最高的一屆冬奧會,其轉播內容總生產量將達 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 活動、直播,用戶最佳實踐,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/431417.html
標籤:其他
