极速生成缩略图,Serverless 支撑赛事转播锁定冬奥亮点
作者:西流、筱姜
"北京冬奧會在開賽的第四天便成為了歷史上收視最高的一屆冬奧會,其轉播內容總生產量將達 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 一直所推崇的理念。
極速上手 Serverless
隨著 Serverless 熱度不斷升高,越來越多人期望在實際工作中能快速上手。為了讓更多 Serverless 初學者真正學會 Serverless 理論知識,在工作中根據需要靈活應用 Serverless 技術,阿里云 Serverless 團隊推出技術圖譜,本課程包含機頻、動手實驗、電子書、直播、開源項目多種形式內容,讓各位開發者即學即用,跑步入場享受 Serverless 技術紅利。點擊 "閱讀原文" 即可學習!
發布云原生技術最新資訊、匯集云原生技術最全內容,定期舉辦云原生活動、直播,阿里產品及用戶最佳實踐發布。與你并肩探索云原生技術點滴,分享你需要的云原生內容。
關注【阿里巴巴云原生】公眾號,獲取更多云原生實時資訊!
總結
以上是生活随笔為你收集整理的极速生成缩略图,Serverless 支撑赛事转播锁定冬奥亮点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云资深专家李国强:云原生的一些趋势和
- 下一篇: EventBridge消息路由|高效构建