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