陳雁 卿濟民 林必毅 劉春秋
摘要
由于科學(xué)技術(shù)帶來的日新月異的變化,讓各行各業(yè)都展現(xiàn)出前所未有的創(chuàng)新力,安防監(jiān)控領(lǐng)域也是如此。隨著視頻監(jiān)控技術(shù)的普及,各種監(jiān)控錄像可以說已經(jīng)遍布大街小巷,每天產(chǎn)生的視頻數(shù)據(jù)量驚人,如此巨大的視頻數(shù)據(jù)如何進行有效的存儲成為擺在行業(yè)面前的難題,如果用傳統(tǒng)的方法存儲,既消耗大量空間,又浪費人力物力,因此正是在這種背景下本文提出了基于Hadoop的海量視頻數(shù)據(jù)的存儲與轉(zhuǎn)碼方案。
【關(guān)鍵詞】Hadoop技術(shù) 視頻數(shù)據(jù)的存儲 視頻數(shù)據(jù)的解碼
1 海量視頻存儲與轉(zhuǎn)碼系統(tǒng)的需求分析
本文提出了基于Hadoop的海量視頻數(shù)據(jù)的存儲與轉(zhuǎn)碼解決方案。對視頻數(shù)據(jù)實施分布式存儲,這種存儲方式主要有三個部分構(gòu)成:首先是流媒體的數(shù)據(jù)接收過程,這個過程主要是對監(jiān)控視頻拍攝到的視頻流進行接收,其次是流媒體數(shù)據(jù)的存儲策略,這是整個存儲過程的核心,主要涉及到存儲的方式和存儲位置,此外還包括流媒體數(shù)據(jù)的上傳,數(shù)據(jù)上傳是為了更方便服務(wù)器端的數(shù)據(jù)處理和運算。如圖1所示,給出了整個系統(tǒng)的各個功能模塊。
分布式轉(zhuǎn)碼技術(shù)主要包括兩個部分,分別是流媒體的數(shù)據(jù)讀寫和基于FFMPEG分布式轉(zhuǎn)碼,這兩部分相互協(xié)作,實現(xiàn)了對視頻采集到的流媒體數(shù)據(jù)的轉(zhuǎn)碼處理,并且利用MapReduce的并行計算能力,來對搜集到的數(shù)據(jù)進行并行處理,可以實現(xiàn)用戶的多任務(wù)操作。
2 海量視頻存儲與轉(zhuǎn)碼系統(tǒng)以及管理平臺的整體架構(gòu)設(shè)計
數(shù)據(jù)流媒體在存儲的過程中占用十分龐大的存儲空間,在實際的視頻存儲中,需要將數(shù)據(jù)存儲在HDFS上,因此也就要求整個流媒體是存儲服務(wù)器是分布式存儲的,在整個數(shù)據(jù)傳輸?shù)倪^程中,需要首先將傳輸?shù)接脩舳说臄?shù)據(jù)進行預(yù)處理,先將整個數(shù)據(jù)進行刷新,再以H.264形式的數(shù)據(jù)按照刷新速率臨時保存,之后分發(fā)服務(wù)器所要完成的就是在服務(wù)器上將各個終端傳輸過來的數(shù)據(jù)按照一定的規(guī)則進行臨時存儲,臨時存儲完成后,服務(wù)器中的DFSClient程序會將所有的數(shù)據(jù)進行上傳,通過網(wǎng)絡(luò)傳輸?shù)紿DFS集群中從而能夠?qū)崿F(xiàn)整個海量視頻數(shù)據(jù)的分布式存儲。在整個HDFS集群中,最核心的就是NameNode,他是整個集群的主節(jié)點,集群是由很多接點共同構(gòu)成的,每個節(jié)點都存放著很多基礎(chǔ)數(shù)據(jù)單元,數(shù)據(jù)節(jié)點服務(wù)器就是用來存儲這些節(jié)點信息的服務(wù)器,通過節(jié)點服務(wù)器可以實現(xiàn)對所有視頻數(shù)據(jù)的分布存儲。DFSClient是HDFS的客戶端,主要有兩種不同的DFSClient類型,其中一種是流媒體服務(wù)器D,這種轉(zhuǎn)發(fā)服務(wù)器的主要功能是將接收到的流媒體數(shù)據(jù)進行初步處理,加工成H.264數(shù)據(jù)帕的格式,在將處理后的數(shù)據(jù)上傳到HDFS集群。另一種類型I服務(wù)器是主要負(fù)責(zé)視頻下載的服務(wù)器,當(dāng)終端用戶通過網(wǎng)絡(luò)訪問服務(wù)器時候,該服務(wù)器就為終端用戶提供相應(yīng)的下載服務(wù),在下載過程中需要對存儲的H.264格式的文件進行解碼,變成用戶可以識別和觀看的格式文件。因此當(dāng)用戶通過I服務(wù)器訪問瀏覽視頻數(shù)據(jù)的時候,瀏覽的文件格式已經(jīng)是經(jīng)過轉(zhuǎn)碼的格式。
3 海量視頻數(shù)據(jù)的分布式轉(zhuǎn)碼流程
在整個HDFS中有大量的數(shù)據(jù)模塊,這些模塊在設(shè)計的時候就規(guī)定不能大于64M,因此一旦模塊的大小超過64M,默認(rèn)系統(tǒng)就會對模塊進行切割。HDFS的這種數(shù)據(jù)處理模式是在服務(wù)器中進行的,DFS Client從HDFS集群上讀取文件,再經(jīng)過DFS Client系統(tǒng)將被模塊化的數(shù)據(jù)進行整合處理。但是這里需要注意的是與傳統(tǒng)的文本文件不同,由于在服務(wù)器中儲存的視頻數(shù)據(jù)是以H.264的格式存在的,因此在進行模塊的整合加工時候就需要注意視頻文件的特殊性,視頻文件中主要包括了I幀(主幀)、P幀(輔幀)兩種不同類型,其中I幀也就是整個視頻的關(guān)鍵幀,而P幀則是需要在前后畫面的基礎(chǔ)上才能復(fù)原的輔助幀。I幀單獨解碼即可得到完整的圖像,但是P幀在解碼的時候必須依附于前一幀的圖像。
4 總結(jié)
在當(dāng)今社會視頻監(jiān)控已經(jīng)無所不在的背景下,視覺信息有其自身的特點那就是數(shù)據(jù)量大,本文研究的基于Hadoop的海量視頻數(shù)據(jù)的存儲與轉(zhuǎn)碼方案是一種創(chuàng)新的視頻數(shù)據(jù)處理方案,本文的研究能夠為現(xiàn)有的海量視頻數(shù)據(jù)檢索工作提供技術(shù)支持,使得智能化的視頻數(shù)據(jù)檢索成為可能。
參考文獻
[1]黃潔琛,倪明.基于Hadoop的分布式視頻轉(zhuǎn)碼方案[J].計算機工程,2015,41(08):218-222.