葉 楠,王龍村
(1.福州理工學(xué)院工學(xué)院,福州 350506;2.福州理工學(xué)院移動通信和物聯(lián)網(wǎng)福建省高校工程研究中心,福州 350506;3.福建慧翰微電子股份有限公司,福州 350506)
本文的系統(tǒng)方案設(shè)計靈活支持多種組網(wǎng)方式:兩級組網(wǎng)、三級組網(wǎng)或多中心組網(wǎng)。兩級組網(wǎng)形成扁平化結(jié)構(gòu),中心存儲的內(nèi)容可以直接推送到邊緣節(jié)點,由邊緣節(jié)點面向用戶提供流媒體服務(wù)[1]。采用兩級模式可以更好的發(fā)揮結(jié)構(gòu)簡單,管理和調(diào)度簡單的特點。
(1)核心節(jié)點:部署流媒體服務(wù)器、存儲設(shè)備、全局負載均衡、內(nèi)容管理。一級的內(nèi)容請求路由的邏輯結(jié)構(gòu),用戶的內(nèi)容請求首先到達核心節(jié)點的全局負載均衡設(shè)備,并根據(jù)就近性策略分配到適當(dāng)?shù)倪吘壒?jié)點;邊緣節(jié)點在得到用戶請求之后,根據(jù)本地負載均衡策略分配相應(yīng)的媒體服務(wù)器,為用戶直接提供服務(wù)。若某個邊緣節(jié)點停止服務(wù),可以由臨近節(jié)點或原始服務(wù)器提供服務(wù)。
(2)邊緣節(jié)點:本地負載均衡、媒體服務(wù)器。內(nèi)容直接從中心節(jié)點的原始流媒體服務(wù)器推送到邊緣節(jié)點。
ISS 服務(wù)器既可運行為推流服務(wù)器,也可以外接存儲,作為源服務(wù)器?;贖LS 協(xié)議實現(xiàn)的ISS 服務(wù)器為多屏終端提供視頻點播、直播、時移、回看等服務(wù),負責(zé)整個系統(tǒng)的節(jié)目流輸出與傳輸控制。ISS 服務(wù)器支持NTP(Network Time Protocol)時間同步[2]。
ISS 系統(tǒng)實現(xiàn)對于多屏、多碼率和多協(xié)議的支持,各種協(xié)議、格式與碼流可以同時混合支持且不會影響到整個系統(tǒng)的負載性能。本文設(shè)計的HLS 流媒體系統(tǒng)支持自適應(yīng)不同碼流、防盜鏈設(shè)計、時移及回看收視。如圖1所示:
圖1 HLS流媒體系統(tǒng)框圖
內(nèi)容管理系統(tǒng)遵循NGOD 規(guī)范,與外部系統(tǒng)接口采用NGOD 的相關(guān)標準接口,能與外部系統(tǒng)快速對接,并做適當(dāng)擴展,統(tǒng)一實現(xiàn)OTT BO 功能。內(nèi)容管理主要是對影片資源進行編輯與管理。具體功能包括:一是查詢內(nèi)容:根據(jù)查詢條件返回媒資列表信息,并以分頁方式顯示。查詢條件包括影片名稱、資源名稱、以及發(fā)布狀態(tài)。二是新增內(nèi)容:系統(tǒng)支持操作員在頁面上手工添加單個媒資信息。三是修改內(nèi)容:支持對單個媒資文件元數(shù)據(jù)信息進行修改。四是新增媒資文件信息:支持頁面輸入媒資文件元數(shù)據(jù)信息。五是修改媒資文件信息:支持頁面修改媒資文件元數(shù)據(jù)信息。六是刪除媒資文件信息:支持刪除媒資文件元數(shù)據(jù)信息。七是支持海報上傳,海報格式支持任意尺寸的海報。
防盜鏈模塊是ISS 服務(wù)器的安全機制,防止未通過驗證的用戶直接訪問ISS 服務(wù)器媒體內(nèi)容,目前,ISS 服務(wù)器支持的防盜鏈機制包括兩種:一是通過與AAA 形成閉環(huán)驗證;二是USM通過在ISS 的訪問URL 中增加Token 標記該請求已驗證,ISS 解析Token 確認驗證機制。第二種的效率更高。多屏應(yīng)用系統(tǒng)的防盜鏈功能涉及到多屏應(yīng)用.BO 平臺、多屏應(yīng)用系統(tǒng)的流服務(wù)器(ISS)、以及點播終端三部分,由多屏應(yīng)用BO 平臺生成攜帶防盜鏈驗證碼的URL,ISS 在校驗通過后為終端提供服務(wù)[3]。
2.2.1 點播URL 生成與校驗流程
根據(jù)NGOD 規(guī)范,如圖2 所示,由多屏應(yīng)用USM 播放列表模塊提供MD5碼校驗的Key,即一個不公開的隨機串,并將Key 預(yù)設(shè)到流服務(wù)子系統(tǒng),供流服務(wù)子系統(tǒng)校驗URL 的有效性。
圖2 HLS點播URL生成與校驗流程
2.2.2 防盜鏈安全性分析
本節(jié)針對主要的盜鏈手段,包括修改URL、散布URL、IP欺騙、破解MD5、暴力下載[4]等,分析該防盜鏈方案的安全性如表1所示。
表1 防盜鏈安全性分析
因此,只要管理好生成MD5校驗碼的Key 值,可有效地防止非法盜鏈,具有很高的安全性。
ISS 也可以提供服務(wù)端控制的碼流自適應(yīng)技術(shù),當(dāng)客戶端下載媒體文件分片時由服務(wù)端來判斷帶寬的適應(yīng)程度,以選擇合適的碼率放往客戶端。同時在客戶訪問量驟然增加時該技術(shù)也可以起到過載保護的作用,以保證盡可能多的客戶訪問需求[5]。服務(wù)器器端碼率自適應(yīng)流程如下:
圖3 碼流自適應(yīng)邏輯機制
圖4 HTTP Live Streaming替換流索引文件
如圖3和圖4所示為碼流自適應(yīng)判斷邏輯,步驟如下:
(1)由客戶端發(fā)起請求,獲取索引文件。
(2)客戶端根據(jù)索引文件請求第一個分片文件。
(3)由流服務(wù)器計算該分片文件的推送時間與該分片播放時間的差值。
(4)如果帶寬充足則在下次請求時推送更大碼率的文件,反之亦然。
服務(wù)器端確定需要進行碼流切換后,相應(yīng)的切換技術(shù)如下:ISS 支持在基于HTTP Live Streaming 的流媒體系統(tǒng)中,服務(wù)器可以為同一節(jié)目源準備多份以不同碼率和質(zhì)量編碼的替換流,并為每個替換流都生成一個衍生的索引文件。在主索引文件中通過包含一系列指向其他衍生索引文件的URI 指針來找到相應(yīng)的替換流[6]。
上述替換流和衍生索引文件機制除了可以用于基于帶寬波動的動態(tài)流間切換外,還可以用于服務(wù)器的故障保護。首先在一臺服務(wù)器上按照正常流程生成一個媒體流或者多個替換流以及對應(yīng)的索引文件,然后再在另一臺服務(wù)器上生成一套并行的備份媒體流和索引文件,接下來將指向備份流的索引加入到主索引文件之中,使得其中針對每個帶寬值都對應(yīng)有一個主媒體流和一個備份媒體流。
本系統(tǒng)基于Android 環(huán)境下實現(xiàn),基于C/S 結(jié)構(gòu),系統(tǒng)界面設(shè)計友好,數(shù)據(jù)庫為MYSQL,從系統(tǒng)軟件的可管可控及安全、靈活,易于操作的角度上出發(fā),本系統(tǒng)選擇Tomcat 8.0服務(wù)器。
在Android+Eclipse 平臺下完成系統(tǒng)的開發(fā),在Eclipse 工具下,可以實現(xiàn)Java 應(yīng)用系統(tǒng)和Android 應(yīng)用APK 的開發(fā)、發(fā)布以及整合。Eclipse 平臺為Android 應(yīng)用開發(fā)提供了更為靈活的軟件開發(fā)技術(shù)和Android 原生API 類的接口調(diào)用,同時能夠?qū)胪獠縎DK 功能組件及插件,提高開發(fā)效率和兼容性。
表2 系統(tǒng)開發(fā)環(huán)境
圖5 HLS時移及回看流程
如圖5所示為HLS 時移及回看流程:(1)客戶端從Portal 獲取播放串,如果是時移服務(wù)則描述頻道名稱,如果是回看服務(wù)則主要描述節(jié)目名稱。(2)客戶端由該播放串請求流服務(wù)器,服務(wù)器查找自身內(nèi)存緩存,如果不命中則從磁盤讀取并緩存到內(nèi)存中,然后將流發(fā)往客戶端。(3)流服務(wù)器向平臺USM 報告會話信息。(4)客戶端向DRM 請求密鑰。(5)DRM 從平臺SME 獲取相應(yīng)權(quán)限??蛻舳擞玫玫降拿荑€實現(xiàn)解碼播放。
為實現(xiàn)大集群式JBOSS 應(yīng)用服務(wù),本方案部署緩存集中式Session 方案代替本地Session。集中式Session 服務(wù)器采用數(shù)據(jù)庫存儲和MemCached 緩存作為統(tǒng)一寫入路徑,可將Session 存入分布式緩存集群中的某臺機器上,當(dāng)用戶訪問不同節(jié)點時先從緩存中獲取Session 信息。采用集中式緩存方案可使得應(yīng)用服務(wù)器層實現(xiàn)完全的負載均衡,不會帶來Session 復(fù)制引起的網(wǎng)絡(luò)環(huán)境壓力。
圖6 Cache集中式Session負載均衡
本項目研究是為了解決多屏終端普及及光纖入戶趨勢下全業(yè)務(wù)開展的兼容性問題,利用全IP 化通用標準規(guī)范,實現(xiàn)基于HLS 的流媒體點播系統(tǒng),覆蓋多場景多終端下提供視頻流播放服務(wù),同時設(shè)計了防盜鏈安全性加密。本文所介紹的流媒體設(shè)計方案,具有流傳輸協(xié)議適應(yīng)性強、服務(wù)支撐場景不受限的特點,以自適應(yīng)碼流、框架安全性部署的優(yōu)勢提升了支持IP 視頻業(yè)務(wù)的能力,對當(dāng)今互聯(lián)網(wǎng)架構(gòu)下HLS 流媒體播放流程的部署設(shè)計與創(chuàng)新具有一定的指導(dǎo)意義。