基于Nginx的視頻轉(zhuǎn)碼資源動態(tài)調(diào)度技術(shù)實現(xiàn)
第 1 章 引言
1.1 論文研究背景及目的
短信、彩信、彩 e 等手機增值業(yè)務(wù)雖然有交互的特點,但是傳輸?shù)娜匀皇且造o態(tài)為主的圖片內(nèi)容或者文字,無法充分發(fā)揮媒體作用。流媒體視頻的出現(xiàn)改變了此種狀況。該業(yè)務(wù)是將連續(xù)的影像和音頻信息經(jīng)壓縮處理后放在網(wǎng)絡(luò)服務(wù)器上,客戶端播放時并不需要下載整個多媒體文件,而是在將緩沖區(qū)中已經(jīng)接收到的信息進行播放,同時多媒體文件的其余部分再持續(xù)不斷地從服務(wù)器下載到客戶端。1995 年 9 月 5 日,ESPN Sports Zone 公司成功向分布在世界各地的訂閱用戶直播了紐約 Yankees 隊和西雅圖 Mariners 隊的棒球賽[1]。ESPN 使用的是來自西雅圖一家名為 Progressive Networks 的初創(chuàng)公司的技術(shù),此次直播是世界上第一次大規(guī)模的視頻直播活動。這家公司就是后來大名鼎鼎的 Real Networks 公司前身。在當(dāng)時發(fā)明了非常前沿的視頻直播技術(shù),開啟了數(shù)字視頻技術(shù)的時代。
...............
1.2 課題來源、內(nèi)容和結(jié)構(gòu)
本課題來源于江西網(wǎng)絡(luò)廣播電視臺新媒體手機平臺,面向高速移動互聯(lián)網(wǎng)時代,人們可以通過手機、平板等終端隨時隨地觀看自己喜歡的電視節(jié)目。為提高視頻轉(zhuǎn)碼效率,開展高性能實時視頻處理轉(zhuǎn)碼和轉(zhuǎn)碼資源的動態(tài)調(diào)度機制研究。移動通信技術(shù)的不斷發(fā)展,加上接入設(shè)備展現(xiàn)出的多樣性,移動流媒體視頻應(yīng)用變得更加復(fù)雜,表現(xiàn)出了異構(gòu)性。應(yīng)用環(huán)境的異構(gòu)性,例如碼率的降低、幀率的調(diào)整、屏幕尺寸的大小等等,都會導(dǎo)致已壓縮碼流的受限條件變化。此外,還涉及到不同流媒體格式。為某一應(yīng)用環(huán)境準備的最優(yōu)壓縮碼流不一定是另一應(yīng)用環(huán)境的最優(yōu)壓縮碼流。視頻轉(zhuǎn)碼技術(shù)的出現(xiàn)解決了這些問題。但是隨著用戶對視頻請求量的增加,單個轉(zhuǎn)碼器無法滿足需求,為了對多個轉(zhuǎn)碼器進行任務(wù)的調(diào)配,利用 Nginx 對轉(zhuǎn)碼資源池進行負載均衡,研究動態(tài)調(diào)度算法,提高流媒體服務(wù)質(zhì)量。
...............
第 2 章 Nginx 體系架構(gòu)
2.1 Nginx 服務(wù)器的代理服務(wù)
代理(Proxy)服務(wù),通常也稱為正向代理服務(wù),把局域網(wǎng)外 Internet 想象成為一個巨大的資源庫,資源分布在 Internet 上的各個站點,局域網(wǎng)內(nèi)的客戶端要訪問這個庫里的資源必須統(tǒng)一通過代理服務(wù)器才能對各個站點進行訪問,如圖 2.1 所示。局域網(wǎng)內(nèi)的客戶端借助代理服務(wù)器訪問局域網(wǎng)外的網(wǎng)站,主要是為了增強局域網(wǎng)內(nèi)部網(wǎng)絡(luò)的安全性,使網(wǎng)內(nèi)不容易受到網(wǎng)外的威脅因素的影響,此時代理服務(wù)器起到了一部分防火墻的功能。與此同時,代理服務(wù)器也可以被用來實現(xiàn)局域網(wǎng)對外網(wǎng)的訪問進行必要的監(jiān)控和管理。正向代理不支持外網(wǎng)對局域網(wǎng)的訪問請求,圖 2.1 中的箭頭方向不能反過來。從站點的角度,其實就是在代理服務(wù)器來取內(nèi)容的時候有一次記錄,有時候并不知道是用戶的請求,是否隱藏用戶信息取決于代理服務(wù)器是否告訴站點。
...............
2.2 Nginx 結(jié)構(gòu)化架構(gòu)
Nginx 采用的機制是多路復(fù)用及事件通知,是一款高性能的反向代理服務(wù)器,同時也是高性能 HTTP。Nginx 采用的架構(gòu)是模塊化、異步、事件驅(qū)動、非阻塞及單線程。Nginx 如果作為代理服務(wù)器提高運行速度,因為能夠?qū)崿F(xiàn)無緩存的反向代理加速。Nginx 作為負載均衡服務(wù)器,Rails 和 PHP 不但可以在內(nèi)部直接支持,也可以對外進行服務(wù),作為 HTTP 代理服務(wù)器,并且還支持利用算法進行負載均衡以及簡單的容錯。相較于其他服務(wù)器,不管在穩(wěn)定性、高可用性和性能方面,Nginx 均有無法相提并論的優(yōu)勢。近年來,Nginx 服務(wù)器在互聯(lián)網(wǎng)領(lǐng)域占據(jù)了一席之地,騰訊、網(wǎng)易、新浪等等國內(nèi)各大門戶網(wǎng)站,均采用了 Nginx 部署。作為國內(nèi)重要的視頻分享網(wǎng)站,優(yōu)酷、土豆等等,也部署 Nginx。開始部署 Nginx的網(wǎng)站日趨增加,這也說明國內(nèi)對 Nginx 技術(shù)的研究越來越受重視。Nginx 服務(wù)器是高度模塊化的,它的開發(fā)有一定的標準,開發(fā)指定功能的模塊需要完全遵循模塊化設(shè)計思想。習(xí)慣上 Nginx 涉及到的模塊可被分為核心模塊、標準 HTTP 模塊、可選 HTTP 模塊、郵件服務(wù)模塊以及第三發(fā)模塊等五大類。
...............
第 3 章 實時視頻處理共享平臺構(gòu)建...............23
3.1 系統(tǒng)架構(gòu)簡介...............23
3.2 實時轉(zhuǎn)碼方案概述...............24
第 4 章 基于 Nginx 的轉(zhuǎn)碼資源動態(tài)調(diào)度方案實現(xiàn)...............31
4.1 轉(zhuǎn)碼資源動態(tài)調(diào)度方案的實現(xiàn)策略................31
4.2 Nginx 調(diào)度算法...............38
第 5 章 轉(zhuǎn)碼資源動態(tài)調(diào)度方案性能測試分析...............46
5.1 測試環(huán)境................46
5.2 功能驗證..............49
第 5 章 轉(zhuǎn)碼資源動態(tài)調(diào)度方案性能測試分析
5.1 測試環(huán)境
測試系統(tǒng)主要四臺主機組成,它們的作用分別為:一臺主機充當(dāng)負載均衡器,兩臺主機充當(dāng)后端轉(zhuǎn)碼器,一臺主機作為客戶端。Nginx 軟件已經(jīng)集成了開發(fā)的第三方模塊,安裝在負載均衡器主機上,并已將 Nginx 配置好。QSV 已安裝在兩臺轉(zhuǎn)碼器主機上,同時也已經(jīng)配置好。模擬客戶端主機上已經(jīng)編寫好并發(fā)轉(zhuǎn)碼請求的測試程序。根據(jù)經(jīng)驗以及簡單的實驗,在轉(zhuǎn)碼器上進行轉(zhuǎn)碼任務(wù)時與無轉(zhuǎn)碼任務(wù)時比較,,哪個負載參數(shù)利用情況變化比較大,發(fā)現(xiàn)轉(zhuǎn)碼請求占用的資源主要是 CPU 利用率與內(nèi)存利用率,所以選用的負載參數(shù)是 CPU 利用率與內(nèi)存利用率,同時 CPU 利用率這一負載參數(shù)更加重要,所以給這兩個參數(shù)配置的權(quán)重系數(shù)是(0.6,0.4)。
...............
5.2 功能驗證
首先驗證 Nginx 的動態(tài)修改后端轉(zhuǎn)碼器權(quán)重值模塊的功能,圖 5.6 中 success說明此模塊能正常工作。分析圖 5.7,當(dāng) IP 地址為 10.15.10.78 的轉(zhuǎn)碼器權(quán)重值為 4,IP 地址為10.15.11.204 的轉(zhuǎn)碼器權(quán)重值為 1 時,說明 IP 地址為 10.15.10.78 的轉(zhuǎn)碼器負載較輕,當(dāng)有請求時,Nginx 選擇了后端轉(zhuǎn)碼器中負載較輕的 IP 地址為 10.15.10.78轉(zhuǎn)碼器轉(zhuǎn)發(fā)請求。當(dāng) IP 地址為 10.15.11.204 的轉(zhuǎn)碼器權(quán)重值增大,表明此時 IP地址為10.15.11.204的轉(zhuǎn)碼器負載較輕,所以Nginx選擇了IP地址為10.15.11.204的轉(zhuǎn)碼器轉(zhuǎn)發(fā)請求,說明 Nginx 調(diào)度功能模塊已實現(xiàn)。需要說明的是,Nginx 將請求轉(zhuǎn)發(fā)給了哪個轉(zhuǎn)碼器,就會在返回的內(nèi)容中顯示該轉(zhuǎn)碼器的 IP 地址,為了便于查看,提前對返回內(nèi)容中添加了本機 IP 地址。
...............
結(jié)論
隨著移動互聯(lián)網(wǎng)的發(fā)展以及接入設(shè)備的多樣性,極大地增加了移動流媒體視頻應(yīng)用的異構(gòu)性和復(fù)雜性。應(yīng)用環(huán)境的異構(gòu)性,例如碼率的降低、幀率的調(diào)整、屏幕尺寸的大小等等,都會導(dǎo)致已壓縮碼流的受限條件變化。為某一應(yīng)用環(huán)境準備的最優(yōu)壓縮碼流不一定是另一應(yīng)用環(huán)境的最優(yōu)壓縮碼流。為了提供給用戶一致的流媒體存取接口,視頻轉(zhuǎn)碼技術(shù)應(yīng)運而生。但是隨著用戶對視頻請求量的增加,單個轉(zhuǎn)碼器無法滿足需求,為了對多個轉(zhuǎn)碼器進行任務(wù)的調(diào)配,利用 Nginx 對轉(zhuǎn)碼資源池進行負載均衡。本文的主要工作以及貢獻如下:(1)第一部分主要回顧了移動視頻業(yè)務(wù)的發(fā)展過程和研究現(xiàn)狀,并分析了LTE 系統(tǒng)下,視頻流媒體業(yè)務(wù)傳輸?shù)膬?yōu)勢,針對 LTE 時代移動視頻業(yè)務(wù)的發(fā)展對網(wǎng)絡(luò)側(cè)視頻處理能力的迫切需求,引出視頻轉(zhuǎn)碼資源池,闡明了對視頻轉(zhuǎn)碼資源池的有效調(diào)度問題的研究價值。
參考文獻(略)
本文編號:855574
本文鏈接:http://www.sikaile.net/wenshubaike/kjzx/855574.html