基于Hadoop視頻轉碼的任務調度算法研究
網絡視頻的快速發(fā)展,如何為移動終端提供可靠的服務是目前互聯(lián)網視頻轉碼面臨的一項嚴峻挑戰(zhàn)。視頻數量的不斷增加,讓傳統(tǒng)的視頻轉碼技術的存儲能力以及處理能力都無法滿足人們的需求,因此,研究人員提出了一種Hadoop視頻轉碼系統(tǒng)以提高視頻轉碼的效率。現有的視頻轉碼系統(tǒng)存在的問題是沒有將機器處理轉碼任務量考慮其中,一種關于任務調度算法被人們提出,將輸入的視頻進行分段處理,然后根據視頻的復雜程度進行映射,減少轉碼的時間,提高轉碼的效率。
1 Hadoop
Hadoop是一個轉碼框架,用于處理海量的數據,具有可用性、健壯性以及可擴展性的特點。Hadoop平臺有兩部分組成,HDFS和MapReduce,共同組建成立Hadoop系統(tǒng)。MapReduce計算框架搭建在HDFS分布式文件系統(tǒng)之上,用戶只需要編寫map()函數與reduce函數即可完成分布式程度的設計。HDFS最基本的內容就是數據塊,數據塊可以保存比大的文件、簡化存儲系統(tǒng)、便于數據復制等功能。Hadoop集群中的NameNode用來管理整個系統(tǒng),主要的職責就是對文件系統(tǒng)進行管理。MapReduce采用M/S架構,當工作人員在Hadoop中編寫了一個MapReduce程度后,通過Client將編號的程度發(fā)給JobTracker,編程人員用“作業(yè)”表示MapReduce,而每一個編寫好的“作業(yè)”會被分解成若干個“任務”,每一個“任務”只有獲取資源后才能夠執(zhí)行。
2 云轉碼
視頻通過Avidemux視頻編輯器進行去雜質處理,通過Map函數對ffmpeg進行封裝,ffmpeg是一種不收費的軟件,能夠對視頻進行轉碼處理。當海量的視頻轉碼的任務都聚集在Hadoop集群中時,系統(tǒng)需要對任務進行分解,將一個個小任務分配到階段中,通過Hadoop的計算功能實現多視頻同時轉碼。系統(tǒng)對用戶的視頻要求進行處理時,步驟為:用戶先發(fā)出視頻請求,然后服務器根據用戶提供的設備參數向Streaming Server發(fā)出請求,隨后檢查與用戶請求相符合的數據,如果符合,將視頻數據取出返回給用戶;如果不符合,需要向NameNode發(fā)出轉碼命令,隨后進行分布式轉碼,完成后,將視頻文件返回,然后將視頻返回給用戶。
3 任務調度算法
3.1 建立問題模型
建立問題模型需要考慮如何將復雜的任務放在多個不同處理能力的節(jié)點中,在調度算法中,執(zhí)行效率最高的是,Min-min,與Max-Min相比,具有較好的負載能力。而Max-Min算法能夠將所有節(jié)點的時間進行平均,這樣能夠達到提高轉碼效率的目的。建立數學模型的方法為,比如有n段視頻,復雜程度不同,m個處理節(jié)點,轉碼時間要與視頻復雜度與機器處理能力進行對比,將視頻塊發(fā)到機器上的轉碼時間為:
當視頻塊完成分配之后,機器會獲得視頻集合,完成時間為:
如果設A={a1,a2,...,an},R(i):J>A,則表示將所有的視頻塊都放在了機器中進行處理,目的就是為了找到最佳的調度算法以完成處理時間。先找到能夠完成視頻塊處理最長的機器,然后將其最小化,這樣能夠提高整個轉碼的效率。如:
3.1.1 參數評估
3.1.1.1 節(jié)點轉碼
影響機器轉碼的原因很多,比如處理器性能不好、內存不足或者網絡信號不好等,根據PageRank算法評估機器的轉碼,設定配置方式,不同的網絡情況需要有不同的配置方案,然后根據程序測試不同模塊的數據,再進行算法分析??梢詫⑵浞譃樗牟剑海?)運行程序,生成數據矩陣,測試輸出值;(2)對原始數據進行分析,將其看成列向量,每一列表示輸出數據的序列;(3)計算矩陣A,A=correlation(d1,d2,),d1=1,2,3,4,d2=1,2,3,...,7;(4)使用PageRank計算出得分,得分最高的一項表示該項的變化特征最多,得分最低的一項表示具有與其他測試項不同的特征。根據參考機器計算出其他機器的轉碼能力。
3.1.1.1.1 Min-MM算法
Min-MM算法是將背包問題與Max-Min算法進行結合,將平均轉碼的時間作為轉碼時間的節(jié)點,然后計算每一臺機器接收信息的復雜程度,根據復雜程度將視頻塊分布到各個機器中進行轉碼處理。首先要先設定轉碼的時間,視頻塊集合為:
機器的處理能力為:在理想的狀態(tài)下,需要將視頻塊分配到不同的機器中,得到的平均轉碼時間為:
faveragesum(c)/sum(p)
機器在faverage時間內要完成視頻復雜度,公式為:
Vj=pj×faverage
3.1.1.1.2 虛擬背包
將n個視頻塊根據不同的復雜度進行排序,按照降序的方式從高到低進行排列,在m臺機器上,根據機器的處理能力也進行排序,從強到弱進行排列。處理能力較強的機器掌握主動權,能夠選擇要處理的視頻塊,如果計算的值;如果機器停止選擇;否則繼續(xù)。其中,vj*表示已經復雜程度。當機器選擇完視頻塊之后,會殘留一些剩余的視頻塊,此時會出現一種情況,有些機器選擇的視頻復雜程度沒有達到要求,所以在視頻塊的分配流程中會出現空白,這種情況需要采用Max-Min算法將殘留的視頻塊進行發(fā)送。
4 實驗分析
在Hadoop集群中建立多臺服務器,服務器的型號也不同,將其中一臺服務器作為NameNode,安裝Avidemux,剩余機器為DateNodes,安裝ffmpeg。使用云轉碼系統(tǒng)驗證視頻的格式,使用Min-MM算法進行對比。視頻格式有mp4、mkv以及ts等,記錄測試的時間;改變視頻的大小,視頻內存有5G、8G、16G。如果Hadoop集群中有多個節(jié)點,需要使用Min-MM算法進行轉碼時間前后的對比。
分析實驗環(huán)境,Hadoop轉碼系統(tǒng)支持多種格式的互相轉換,其中mp4格式轉碼時間較長,ts轉碼時間較短; 當使用Min-MM算法之后,轉碼的時間明顯加快,如圖1所示。
圖1:使用Min-MM前后的轉碼對比
5 結語
Hadoop視頻轉碼框架用于處理大量的視頻信息效果良好,在此基礎上增加任務調度算法Min-MM,使處理的時間更快,能夠在兼容多種格式的同時依然能夠達到較快的轉碼速度。通過Hadoop平臺和任務調度算法的結合,大大提高了轉碼效率,提升了轉碼系統(tǒng)的性能。
本文來源:《企業(yè)科技與發(fā)展》:http://m.00559.cn/w/qk/21223.html
- 喜報!《中國博物館》入選CSSCI擴展版來源期刊(最新CSSCI南大核心期刊目錄2025-2026版)!新入選!
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 2023JCR影響因子正式公布!
- 國內核心期刊分級情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學者
- 我用了一個很復雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- CSSCI官方早就公布了最新南核目錄,有心的人已經拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應該熟知的10個知識點。
- 注意,最新期刊論文格式標準已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學術論文編寫規(guī)則
- 盤點那些評職稱超管用的資源,1,3和5已經“絕種”了
- 職稱話題| 為什么黨校更認可省市級黨報?是否有什么說據?還有哪些機構認可黨報?