背景
隨著前端攝像機的清晰度不斷提升,其碼流和數據量成倍增長。然而一些終端的處理能力有限,無法支持高清的分辨率;或者需要用到公網傳輸,帶寬無法滿足高清的碼流的需求等。視頻轉碼是一個高運算負荷的過程,需要對輸入的視頻流進行全解碼、視頻過濾/圖像處理、并且對輸出格式進行全編碼。由于視頻轉碼計算量很大,單一的計算機不可能實現整個監控系統內的攝像頭實時視頻數據的轉碼。cVideo研發了云端轉碼技術,將視頻轉碼計算放大云端,實現整個系統內的實時視頻轉碼,以滿足用戶對不同分辨率,不同碼流,不同終端的使用需求。
產品簡介
視頻云轉碼平臺是云創大數據自主研發的基于云架構綜合調度平臺的視頻處理軟件,它可對現有視頻文件按不同格式、分辨率等參數進行分布式轉碼,達到負載均衡、統一管理,任務分發等功能目標,操作簡單便捷,存儲性能可靠。
架構概述

上圖簡要描述了cVideo的云端轉碼平臺。用戶可以將需要轉碼的任意格式、任意分辨率的視頻文件存儲到cStor存儲服務器中,然后通過客戶端的Web操作頁面,根據需求提交轉碼請求,系統根據設定的切片數量,對源文件的大小和時間軸長度進行拆分轉碼任務。通過JobKeeper云調度系統,自動負載均衡,將其分發到相應的處理節點,待分布式的轉碼完成后,再進行中間結果文件的合并與時間軸重構,并將視頻文件存放在cStor的指定位置。這些視頻文件經過索引建立一一對應關系,在cProc云處理集群中進行數據處理,實現對視頻文件的轉碼,并將結果保存在cStor存儲服務器中。
cVideo云轉碼Web客戶端界面如下所示:

cVideo云端轉碼平臺構架
cVideo云端轉碼平臺,是在服務器集群上部署一整套基于云架構的視頻處理軟件,包括接入層、處理層、資源層、調度控制模塊。

上圖為簡化的cVideo云轉碼平臺框圖,其核心內容是對各類視頻文件的轉碼。基于云計算的模式,采取海量分布式JobKeeper云調度架構,以集群的形式共同對外服務。實現云端轉碼、動態伸縮、監控管理等需求。將轉碼好的視頻文件保存于cStor存儲服務器中,并給用戶提供對應接口方便調用。
方案涉及技術分析
根據以上方案架構,涉及到的具體技術包括了cVideo的云端轉碼技術、JobKeeper云調度方法、cProc云處理框架、以及cStor云存儲技術。其中cVideo的云端轉碼技術負責實現視頻文件的拆分、轉碼、合成等上述功能,而JobKeeper和cProc負責綜合管理和統一調度,實現云內計算機的聯動和各類保障,共同對外提供服務,cStor則負責提供高可靠的海量數據存儲能力。
隨著前端攝像機的清晰度不斷提升,其碼流和數據量成倍增長。然而一些終端的處理能力有限,無法支持高清的分辨率;一些需要用到公網傳輸,帶寬無法滿足高清的碼流的需求;還有一些需要將已有視頻文件轉化成不同格式的需求等。
視頻的編碼格式主要的有MPEG、H264、DivX、WMA、RM等,封裝格式主要有avi、ps、ts、mov、mkv、mpg等,而不同的播放器對格式的支持也不同,因此不同終端對視頻流格式也有著特殊的需求。
面對以上這些因素,為了滿足不同的需求,cVideo研發了云端轉碼技術,以滿足用戶對不同視頻格式、不同分辨率,不同碼流,不同終端的使用需求。不同分辨率的轉碼效果如下所示:

針對視頻文件的分布式云轉碼,由于視頻文件已經存在,因此可以充分發揮云計算分布式的計算性能,將視頻文件按時間切分為許多塊,每個塊被分配到不同的處理節點,待所有塊都處理完畢后,再進行重新整合、重構時間軸、封裝,從而實現轉碼,任務分配和調度由JobKeeper完成。
cVideo云轉碼的主要優勢
平臺功能及性能描述
功能描述
cStor當前云轉碼平臺的系統版本為測試的Demo版,前期需求多集中于ts格式的轉碼,平臺上層應用支持的格式相對較少,但底層編解碼庫已經支持絕大多數常用格式。
目前支持的視頻封裝格式:“.ts”、“.mp4”、“.mpg”;
目前支持的視頻編碼格式:“H264”、“MPEG4”、“MPEG2”;
目前支持的音頻編碼格式:“FAAC”、“MPEG1”、“MPEG2”;
目前支持的分辨率:基本支持大部分辨率;
針對“H263”、“XVid”、“MP3”、“LPCM”等音視頻編碼格式將在下一版本中進行支持,對于其他格式的支持可以根據項目具體需求,也只需根據底層編解碼庫對上層應用進行相應添加即可,十分方便。
性能描述
云轉碼的處理性能與服務器CPU、內存、網絡、轉碼文件分辨率、格式轉換需求、任務分片數等多方面因素均有關聯,因此統一的標準較難給出。下圖為云轉碼平臺測試的結果示意圖:

與存儲共用節點情況下的性能如上圖所示,隨著轉碼服務器數量的增多,轉碼單個文件需要的時間不斷減少,整體性能基本線性增加。同時,對分片數合理分配可以進一步優化轉碼的效率。
云轉碼平臺支持動態擴容,隨著需求的不斷增加,當現有處理能力無法滿足處理總量時,只需要增加處理節點,無需停止服務,即可動態地增加處理性能,實現平臺處理能力擴容。
相關測試
目前,云轉碼平臺已經在深圳天華傳媒、南京廣電等多家單位進行過測試,通過了相關碼流分析軟件的檢測,視頻拼接處無卡頓、ts流無PCR-DTS抖動問題。并且通過了在實際機頂盒推流中的各項指標測試,云轉碼的性能也得到了各家單位認可。
市場應用
| 應用范圍 | 應用描述 | 典型用戶 |
| 安防領域(平安城市、智慧城市) | 海量數據處理、視頻格式轉換、高清視頻轉碼 | 交管局、安防行業 |
| 媒體、娛樂 | 海量數據存儲、海量數據處理、視頻格式轉換、高清節目轉碼 | 電視臺、媒體制作相關行業 |
