梅劍鋒,劉 丹,賀 皓
(黃石有線電視臺 多媒體部,湖北 黃石 435000)
黃石有線高清視頻網(wǎng)站架構(gòu)關鍵技術解析
梅劍鋒,劉 丹,賀 皓
(黃石有線電視臺 多媒體部,湖北 黃石 435000)
黃石有線高清視頻網(wǎng)站正是有線網(wǎng)絡發(fā)展局域網(wǎng)應用的有效嘗試。要建設專業(yè)的高清視頻網(wǎng)站,必須考慮節(jié)目分發(fā)環(huán)節(jié)的建設。沒有從代碼的角度闡述建站過程,而是從網(wǎng)絡環(huán)境入手,介紹了黃石有線高清視頻網(wǎng)站的多項關鍵技術和特色應用,以及在建站過程中產(chǎn)生的多項自主研發(fā)和創(chuàng)新。黃石有線高清視頻網(wǎng)站運行一年以來,受到用戶的普遍關注和肯定?!娟P鍵詞】有線;高清;視頻網(wǎng)站
黃石有線高清視頻網(wǎng)站由于在城域網(wǎng)內(nèi)部運行,不對互聯(lián)網(wǎng)開放,故簡稱為“內(nèi)網(wǎng)”,其訪問地址為“http://10.0.0.1”。內(nèi)網(wǎng)是以提供高清影視劇點播節(jié)目為主,網(wǎng)絡電視、有線服務、游戲和軟件下載為輔的專業(yè)高清視頻網(wǎng)站,受眾為黃石有線寬帶網(wǎng)用戶,其首頁主界面如圖1所示。
圖1 首頁主界面(截圖)
2.1 拓撲圖
內(nèi)網(wǎng)是整個城域網(wǎng)的子系統(tǒng)之一,如圖2所示。要想充分發(fā)揮其整體性能,必須了解城域網(wǎng)的結(jié)構(gòu),設計時應將直接向用戶提供服務的服務器與核心設備相連,這樣可以減少用戶訪問時數(shù)據(jù)交換的中間環(huán)節(jié),在布線方面至少采用六類千兆網(wǎng)線互聯(lián),如有需要,可采用光纖鏈路,并結(jié)合端口聚合技術,達到數(shù)個G的傳輸帶寬。同時服務器還可以啟用多網(wǎng)卡,對外服務的網(wǎng)卡設置網(wǎng)關,直接與萬兆核心交換機相連,采用3層交換;對內(nèi)上載節(jié)目的網(wǎng)卡則不設置網(wǎng)關,直接與轉(zhuǎn)碼服務器或編輯工作站相連,采用2層交換。2層交換的特點是速度快,實際網(wǎng)速可達990 Mbit/s,3層交換的優(yōu)勢是能夠?qū)崿F(xiàn)跨網(wǎng)段訪問,滿足內(nèi)網(wǎng)設備復雜布局和對外提供服務的要求。以上2種交換技術的結(jié)合使用既充分發(fā)揮了服務器的硬件性能,也使日常的高清節(jié)目更新工作事半功倍,可見鏈路優(yōu)化對內(nèi)網(wǎng)的運維起著十分重要的作用。
圖2 內(nèi)網(wǎng)拓撲圖
2.2 軟硬件環(huán)境
由表1可看出,內(nèi)網(wǎng)網(wǎng)站實際上是一個較為復雜的系統(tǒng),其前臺和后臺頁面均使用JSP技術,后臺底層支撐和數(shù)據(jù)庫訪問采用Java語言實現(xiàn)。Web服務由Apache和Tomcat共同完成。Apache是一個Web服務器環(huán)境程序,不過它只支持靜態(tài)模板網(wǎng)頁,如果要在Apache環(huán)境下運行JSP,就需要一個解釋器來執(zhí)行JSP網(wǎng)頁,而這個JSP解釋器就是Tomcat,如果JSP要連接數(shù)據(jù)庫,就需要由JDK來提供連接數(shù)據(jù)庫的驅(qū)動,所以運行JSP的Web服務器平臺一般采用Apache+Tomcat+JDK的組合,這也是當前流行且成熟的建站模式。
表1 軟硬件環(huán)節(jié)
3.1 FMS4.0(服務端)+FlashPlayer11.0(客戶端)播放模式[1]
FMS全稱Flash Media Server,支持flv和MP4格式在線播放。FMS相比傳統(tǒng)的HelixServer和WindowsMe?diaServer具有一個顯著的特點,就是提供“竭盡所能”的服務,能夠充分利用鏈路帶寬傳輸數(shù)據(jù),特別適合局域網(wǎng)。內(nèi)網(wǎng)在線播放時終端接收帶寬一般可達70 Mbit/s,一部高清節(jié)目可在幾分鐘內(nèi)全部緩存完,這樣既減少了服務器在線的數(shù)量壓力,也確保了用戶體驗度。
內(nèi)網(wǎng)點播直播節(jié)目采用H.264編碼,1.6 Mbit/s視頻壓縮,MP4格式封裝,能夠利用WiFi信號,支持And?riod、iOS等系統(tǒng)多終端接收播放,客戶端解碼為Flash Player 11.0播放器,免單獨安裝,方便快捷。
圖3就是內(nèi)網(wǎng)的點播頁面,視頻數(shù)據(jù)由流媒體服務器FMS系統(tǒng)供流,同時還提供下載功能,其速度可達90 Mbit/s。
3.2 節(jié)目庫和播出庫的分離
庫結(jié)構(gòu)如圖4所示,內(nèi)網(wǎng)后臺的節(jié)目庫和播出庫是分開獨立運行的,節(jié)目上載完成后,節(jié)目庫自動識別其容量、時長、長寬像素比、碼流和路徑等文件信息;播出庫用于管理稿件信息,稿件即資源的屬性和圖片的組合,是直接面向用戶展現(xiàn)的,可進行類似Word的可視化編輯,如圖5所示。
圖3 點播頁面(截圖)
圖4 庫結(jié)構(gòu)(截圖)
圖5 稿件編輯頁(截圖)
稿件除了展示圖文并茂的效果外,還要與具體節(jié)目相關聯(lián),這樣才能確保具體點播頁面正常播放指定的節(jié)目。關聯(lián)方法為:在圖5的A處點“視”按鈕,彈出圖6左側(cè)的“關聯(lián)窗口”,點擊“添加點播節(jié)目”按鈕,彈出右側(cè)的“節(jié)目庫”窗口,定位指定的節(jié)目即可。
“節(jié)目關聯(lián)”為節(jié)目庫和播出庫之間架起了一座橋梁,兩庫的獨立運行使得內(nèi)網(wǎng)的邏輯結(jié)構(gòu)更加清晰,更便于維護。
3.3 可視化模板
內(nèi)網(wǎng)大部分頁面是以.shtml為后綴的模板頁展現(xiàn)(Apache解析),涉及到數(shù)據(jù)庫查詢則以.jsp為后綴的動態(tài)頁或iFrame框架嵌入實現(xiàn)(Tomcat解析)。內(nèi)網(wǎng)在編輯模板時引入了一個CMSModule組件,它能嵌入DreamWeaver CS4.0主界面并生成一個新的選單,如圖7的A處所示。美工編輯人員只需掌握基本的HTML和CSS代碼就可設計出各種版式的模板。
圖6 節(jié)目關聯(lián)(截圖)
圖7 新的選單(截圖)
現(xiàn)以圖7的C處為例,展示如何將CSS+DIV靜態(tài)代碼區(qū)域的標題內(nèi)容與后臺數(shù)據(jù)庫關連,其過程如下:
1)用DreamWeaver CS4.0打開模板頁,剪切指定區(qū)域<Div〉內(nèi)的<ul〉、<li〉標簽和之間的代碼,見圖8的A處。
圖8 DreamWeaver CS4.0打開模版頁(截圖)
2)插入圖7的B處“cms_01_titleList”標題組件,此時彈出圖8所示的“標題列表組件”窗口。
3)在圖8的B處空白區(qū)域粘貼剛才剪切的<ul〉、<li〉標簽和之間的代碼,選中具體內(nèi)容,根據(jù)需要選擇圖8的C,D,E處的按鈕,編輯電影標題,完成后會在圖8的B處自動產(chǎn)生代碼。
4)在圖8的F處“欄目ID”框填入具體的ID號,此ID為播出庫中節(jié)目分類ID值,見圖4的A處,表示模板的該區(qū)域顯示ID值對應分類的節(jié)目標題信息,即告訴模板從數(shù)據(jù)庫的哪個分類獲取數(shù)據(jù),該操作直接與數(shù)據(jù)庫掛鉤。確定后,在圖8的A處會產(chǎn)生灰色代碼,然后發(fā)布模板使其生效。
可視化模板的意義在于使不懂程序設計的人能夠深度編輯網(wǎng)站,實現(xiàn)網(wǎng)站的快速改版。
3.4 CDN分布式架構(gòu)和節(jié)點間的數(shù)據(jù)同步
1)CDN分布式架構(gòu)
根據(jù)當前業(yè)務發(fā)展需要,只搭建了2臺流媒體服務器,組成了一個簡單的CDN網(wǎng)絡,如圖9所示。
圖9 CDN部署
下面以市中心站分前端節(jié)點為例,介紹基本配置過程。
規(guī)劃好用戶IP段,見表2。
表2 IP段規(guī)劃
在管理后臺配置IP段,如圖10所示。
圖10 配置IP段(截圖)
在管理后臺添加點播服務器節(jié)點,如圖11所示。
圖11 管理后臺添加分前端節(jié)點(截圖)
將IP段與分前端節(jié)點綁定,如圖12所示。
完成IP段綁定后,用戶進行視頻點播時,在點播窗口區(qū)域代碼中實際上嵌入了iFrame框架,框架中引入了“Tomcat端口A”(見表1)Web服務的調(diào)用,該調(diào)用向管理服務器數(shù)據(jù)庫中索取IP段劃分和CDN節(jié)點相關信息,然后“Tomcat端口A”根據(jù)用戶請求的IP地址判斷隸屬于哪一個IP段,最后將此IP段對應的點播節(jié)點IP地址發(fā)送給用戶的瀏覽器,用戶瀏覽器再向此地址請求視頻流數(shù)據(jù),整個過程對用戶而言是透明的。由上可知,點播節(jié)目流程看似簡單,實際上很復雜。
圖12 IP段的綁定(截圖)
2)節(jié)點間的數(shù)據(jù)同步[2]
此處的同步是全鏡像同步,要求CDN網(wǎng)絡內(nèi)所有節(jié)點的存儲容量相同,利用GoodSync軟件實現(xiàn)。該軟件在添加各分前端服務器的IP地址后,會定時掃描核心節(jié)點節(jié)目庫所在路徑下是否有新的節(jié)目,一旦發(fā)現(xiàn)有更新,會馬上將新節(jié)目同步到各分前端結(jié)點的磁盤整列中,這樣就保證了分前端的節(jié)目內(nèi)容與核心節(jié)點同步更新,如圖13所示。
圖13 GoodSync同步軟件主界面(截圖)
架設CDN內(nèi)容分發(fā)網(wǎng)絡的目的就是支持大容量高清節(jié)目流并發(fā)。傳統(tǒng)的網(wǎng)站一般只需考慮Web端的建設,而專業(yè)的視頻網(wǎng)站必須考慮內(nèi)容分發(fā)系統(tǒng)。本文介紹的CDN網(wǎng)絡中配置高的核心節(jié)點能夠承受1 000人同時在線,配置低的子節(jié)點也能承受約700人同時在線。內(nèi)網(wǎng)當前CDN網(wǎng)絡日均吐出量在2 Tbyte以上,日均點擊量4 500次,并可無縫擴展,理論上,支持的用戶在線數(shù)量無上限。
3.5 流量監(jiān)控[3]
1)Prtg Traffic Graph 4.0是一款通用的監(jiān)控軟件,只要符合SNMP協(xié)議,就可以對設備指定端口進行監(jiān)控,既能夠?qū)崟r監(jiān)控,又可以對流量進行統(tǒng)計。如圖14所示,21:32之前吐出流量已超過700 Mbit/s。
雙擊圖14中的曲線圖,會彈出多種時間段統(tǒng)計窗口,如圖15所示,選擇按天統(tǒng)計選項卡,A處“Port 38(gei_3/8)”代表萬兆核心交換機端口號,B處“Band?width Traffic IN”表示流媒體服務器流進該萬兆核心交換機電口的數(shù)據(jù),也即該流媒體服務器的吐出流量,同理C處“Bandwidth Traffic OUT”表示用戶點播請求數(shù)據(jù)。在日常監(jiān)控時,應以每天“Bandwidth Traffic IN”字段作為實際吐出流量統(tǒng)計值。
圖14 實時流量監(jiān)控(截圖)
圖15 流量監(jiān)控數(shù)據(jù)統(tǒng)計(截圖)
流量監(jiān)控可單獨分配一臺低配置服務器,實行24 h監(jiān)控。
2)VNC是一款用于遠程控制的軟件,分為服務端和客戶端,在監(jiān)控服務器上安裝服務端,終端PC上安裝客戶端,可隨時查看流量數(shù)據(jù),連接時只需輸入監(jiān)控服務器IP和密碼,整個過程如圖16所示。
圖16 VNC遠程操作(截圖)
相比其他遠程控制軟件,VNC具有操作便捷和畫面無延時的優(yōu)點。
一般網(wǎng)站都具有點擊量統(tǒng)計功能,但鮮有流量監(jiān)控功能,流量監(jiān)控對專業(yè)視頻網(wǎng)站的運營十分必要,通過每日吐出量數(shù)據(jù)對比可真實反映網(wǎng)站受關注程度和運行狀況,也有利于第一時間發(fā)現(xiàn)故障,對網(wǎng)站日常的節(jié)目更新和維護管理具有指導意義。
節(jié)目上載發(fā)布和用戶點播流程如圖17所示。
由于內(nèi)網(wǎng)在城域網(wǎng)內(nèi)運行,不對互聯(lián)網(wǎng)開放,因此網(wǎng)站推廣顯得尤為重要。在此采取了3種方式:
圖17 節(jié)目上載發(fā)布和用戶點播流程
1)對于客戶端登錄的用戶,利用彈出頁面機制指定內(nèi)網(wǎng)首頁;
2)對于登錄賬號集成到路由器中的用戶,在首頁主界面上方設計了“桌面鏈接”的Internet快捷方式,即“設為首頁添加收藏夾桌面鏈接2013年9月25日”,也可見圖1正上方方框所示,利用一線安裝維護人員上門的機會,手工下載到用戶桌面,整個操作只需數(shù)秒鐘,不會增加一線人員的安裝維護工作量;
3)制作網(wǎng)站logo。利用AxialisIconWorkshop_6.6.2. exe軟件設計制作“favicon.ico”圖標文件,并置于網(wǎng)站根目錄,用戶訪問或建立桌面快捷方式時會顯示logo圖標,如圖18所示,這些小的改變無形中樹立了網(wǎng)站的品牌形象。
圖18 網(wǎng)站logo(截圖)
圖19 豐富多樣的廣告形式(截圖)
當網(wǎng)站的受眾群達到一定量的時候,其廣告價值就逐漸顯現(xiàn)。目前內(nèi)網(wǎng)支持多種形式的廣告發(fā)布,具體參見圖19。
內(nèi)網(wǎng)充分挖掘了廣電系統(tǒng)節(jié)目資源豐富和有線網(wǎng)絡高帶寬的優(yōu)勢,避開了寬帶出口相對不足的劣勢,使大量投入的EPON+LAN、EPON+EoC、WiFi和光纖入戶等接入網(wǎng)設備能夠得到充分利用,發(fā)揮效益;MP4的封裝格式支持多終端接收,為將來的多屏互動打下基礎;CDN分發(fā)網(wǎng)絡支持大容量用戶并發(fā),確保體驗度,內(nèi)網(wǎng)將成為有線網(wǎng)絡業(yè)務在PC終端上服務的載體。
[1] 黎川.用FMS4.0搭建視頻點播及文字即時聊天web程序[EB/ OL].[2013-09-20].http://task.zhubajie.com/2252348/.
[2]李翔.文件同步工具GoodSync教程[J].輕松學電腦:電子樂園,2009(23):27-28.
[3] 何京科.PRTG網(wǎng)絡流量監(jiān)控軟件使用教程[EB/OL]. [2013-09-20].http://wenku.baidu.com/link?url=r5v2IIFS4VaX1Mh c2UpMYslk_6zlp-_Ayym jC10Uk_dKwfYjgR8Dr2gEI7Hnz1dMtieZ FHNDFgqasoD9K1pKaT8C2fXw8RAwk055nnz7BWK.
TN948
B
??健男
2013-11-25
【本文獻信息】梅劍鋒,劉丹,賀皓.黃石有線高清視頻網(wǎng)站架構(gòu)關鍵技術解析[J].電視技術,2014,38(12).