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