目前媒體的主流傳播渠道已從傳統(tǒng)的報紙、廣播、電視轉向了互聯(lián)網(wǎng),各種視頻及社交 App 成為了人們獲取資訊的首選途徑。蘇州市廣播電視總臺面對互聯(lián)網(wǎng)媒體的新形勢,不斷探索新形勢下了信息發(fā)布方式、傳播途徑和相關的 IT 技術,為的是能在新的媒體戰(zhàn)場上緊跟時代發(fā)展,不斷保持領先優(yōu)勢。
在 IT 架構選型上,技術團隊保持對新技術的關注和實踐,通過總結這些年 IT 技術的實踐經(jīng)驗,堅信云原生才是云計算時代技術的發(fā)展方向。如果僅僅是將物理服務器虛擬化,或者將虛機從本地環(huán)境遷移上公有云,并無法完全發(fā)揮云計算高效安全可擴展的特性。所以技術團隊一直堅持對容器技術進行實踐。
2019 年初開始,蘇州市廣播電視總臺將 K8s 應用于生產(chǎn)環(huán)境。在學習K8s 的過程中接觸到了青云科技旗下的容器平臺KubeSphere,在對 KubeSphere 進行了較長時間的測試和驗證后,今年開始使用 KubeSphere 管理 K8s 集群。
媒體行業(yè)最主要的業(yè)務系統(tǒng)就是媒體的生產(chǎn)制作系統(tǒng)。媒體生產(chǎn)可以分為媒體采集、媒體處理和媒體分發(fā)三個環(huán)節(jié)。隨著技術的發(fā)展,采集設備從原先的專業(yè)攝像機發(fā)展到了單反、無人機、GoPro、全景攝像機、手機等多種多樣的設備均可用于視頻拍攝,使得視頻拍攝的數(shù)量大大增加且格式種類、編碼方式、幀率等都變得紛繁復雜。此外媒體的分發(fā)渠道也不再僅僅是電視和廣播,還有網(wǎng)站、app、公眾號、短視頻平臺等。采集端和發(fā)布端的巨大變化對媒體處理能力提出了更高的要求。為了能處理好這些視頻文件,業(yè)務系統(tǒng)需要提供強大對處理能力,包括視頻對編解碼、提取視頻標簽、進行智能處理等。
對媒體文件進行處理的工作難度也很大。媒體處理系統(tǒng)需要能夠處理海量的、不同拍攝設備、不同視頻格式、不同拍攝人員所采集的媒體素材,并且需要為不同的平臺提供不同長度、不同類型(橫屏豎屏)、不同編碼格式、不同碼率、不同分辨率的成品視頻文件。同時需要對這些素材和成片進行妥善得分類和管理。
于是通過自建一套容器平臺,來實現(xiàn)這些視頻處理能力尤為重要。選擇容器平臺是因為進行過評估和分析,認為容器是最適合用于處理媒體文件的技術方式,能極大地提高系統(tǒng)的資源利用率,為海量文件的處理提供計算能力;能提供很好的系統(tǒng)彈性,滿足不同時間段不同業(yè)務需求的任務運行;便于升級管理和維護,可滿足媒體處理能力需不斷進行升級;能實現(xiàn)跨云的支持,方便將部分熱點業(yè)務遷移至公有云提供服務;能充分利用原有的服務器資源而不用擔心硬件的兼容性和穩(wěn)定性問題。
以“慢看蘇州”的直播業(yè)務為例,該業(yè)務需求是將許多點位監(jiān)控攝像頭信號與指定的音頻進行混合,為視頻配上背景音樂,再推送至直播平臺。在推進這個項目的過程中也經(jīng)過了幾輪測試:首先使用 ffmpeg 實現(xiàn)了視頻和音頻文件的合成,但由于攝像頭數(shù)量非常多,且會隨時進行調整,維護大量的 ffmpeg 進程并不可行,于是通過 Docker 以容器方式啟動編碼任務,最終將這些容器統(tǒng)一運行在 KubeSphere 平臺上,為一個工作負載對應一個編碼任務。
KubeSphere 很方便得實現(xiàn)了編碼任務的啟動、停止、監(jiān)控、調度、統(tǒng)計等功能,大大減少了我們運維的工作量,且能及時發(fā)現(xiàn)編碼過程中的異常,收到了很好的效果。
這只是目前的一個嘗試,下一步蘇州市廣播電視總臺還考慮將更多的視頻處理能力遷移至KubeSphere 容器平臺,如視頻轉碼、視頻優(yōu)化、人臉識別、語音識別、語音合成、OCR 識別、標簽提取、視頻水印、視頻特征提取等,為媒體生產(chǎn)制作提供更強大的服務支撐。