本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其是一種視頻預(yù)覽方法。
背景技術(shù):
傳統(tǒng)視頻切換設(shè)備通過(guò)處理芯片將hdmi、vga、dvi等信號(hào)經(jīng)過(guò)變換轉(zhuǎn)換為統(tǒng)一格式,經(jīng)過(guò)底板芯片傳輸給輸出口,投射到顯示設(shè)備;在視頻數(shù)據(jù)傳輸?shù)倪^(guò)程中,對(duì)于視頻的預(yù)覽是用戶的重要使用需求之一。目前,傳統(tǒng)的視頻預(yù)覽方式分為以下幾種方式:
1)從視頻源設(shè)備通過(guò)公有協(xié)議方式,獲取視頻流,通常有從網(wǎng)絡(luò)攝像機(jī)通過(guò)onvif,rtsp等協(xié)議申請(qǐng)視頻流至計(jì)算機(jī)設(shè)備,通過(guò)本地解碼的方式查看視頻;
2)從視頻源設(shè)備通過(guò)私有協(xié)議獲取視頻流;
3)通過(guò)第三方設(shè)備,如網(wǎng)絡(luò)硬盤(pán)錄像機(jī),流媒體服務(wù)器等設(shè)備轉(zhuǎn)發(fā)視頻源的視頻流,通過(guò)相應(yīng)編碼與視頻編輯,傳送至計(jì)算機(jī)設(shè)備解碼顯示;
4)不通過(guò)網(wǎng)絡(luò),使用視頻切換器設(shè)備直接查看圖像。
上述視頻預(yù)覽方式存在有如下缺陷:
1)不通過(guò)網(wǎng)絡(luò)設(shè)備預(yù)覽需要專(zhuān)門(mén)的硬件進(jìn)行視頻切換或者拼接,成本較高,同時(shí)效率底下,并且受限于線材的傳輸距離;
2)通過(guò)申請(qǐng)編碼視頻流本地解碼顯示的方式,存在著如下限制:
a)對(duì)計(jì)算機(jī)設(shè)備的硬件性能有著一定的要求,現(xiàn)有的高效編解碼協(xié)議如h264、fmpeg等,解碼計(jì)算復(fù)雜度都比較高,現(xiàn)有的計(jì)算機(jī)設(shè)備處理器并不是專(zhuān)用的視頻解碼處理器,同時(shí)解碼數(shù)量有限;
b)占用前端設(shè)備帶寬。視頻源設(shè)備如網(wǎng)絡(luò)攝像機(jī)等,這些設(shè)備的并發(fā)視頻流數(shù)量受制于其芯片能力與傳輸帶寬,一般為8路,4路或者更高或者更低,而在監(jiān)控領(lǐng)域很多情況下都會(huì)有多個(gè)解碼設(shè)備或者硬盤(pán)錄像機(jī)設(shè)備會(huì)同時(shí)向視頻源設(shè)備申請(qǐng)視頻流,而計(jì)算機(jī)預(yù)覽將會(huì)占用一路;
c)增加整體網(wǎng)絡(luò)帶寬壓力;
d)受限于網(wǎng)絡(luò)本身的傳輸特性,可能存在卡頓,花屏等現(xiàn)象。
基于上述情形,目前的視頻預(yù)覽方法并不能良好的實(shí)現(xiàn)視頻預(yù)覽功能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種視頻預(yù)覽方法,其可在避免視頻處理硬件成本過(guò)高的前提下,實(shí)現(xiàn)對(duì)于視頻數(shù)據(jù)的高效傳輸以及預(yù)覽處理。
為解決上述技術(shù)問(wèn)題,本發(fā)明涉及一種視頻預(yù)覽方法,其包括有如下步驟:
1)通過(guò)轉(zhuǎn)換芯片對(duì)于輸入的視頻信號(hào)進(jìn)行格式轉(zhuǎn)換,以獲得視頻信號(hào)的rgb數(shù)據(jù),并將上述視頻信號(hào)的rgb數(shù)據(jù)發(fā)送至fpga芯片之中;
2)通過(guò)fpga芯片對(duì)于rgb數(shù)據(jù)進(jìn)行抽幀處理;
3)通過(guò)fpga芯片對(duì)于經(jīng)抽幀處理后的rgb數(shù)據(jù)進(jìn)行圖像縮小處理;
4)采用ycbcr數(shù)據(jù)格式對(duì)于步驟3)得到的rgb數(shù)據(jù)進(jìn)行編碼處理,以獲得視頻信號(hào)的ycbcr數(shù)據(jù);
5)fpga芯片將視頻信號(hào)的ycbcr數(shù)據(jù),以及視頻源設(shè)備的本地mac地址、目標(biāo)mac地址、數(shù)據(jù)長(zhǎng)度、行編號(hào)進(jìn)行統(tǒng)一打包處理,并將打包后的數(shù)據(jù)通過(guò)網(wǎng)卡芯片傳輸至交換機(jī)設(shè)備之中;
6)預(yù)覽用戶在計(jì)算機(jī)終端通過(guò)網(wǎng)絡(luò)訪問(wèn)系統(tǒng)以及網(wǎng)卡獲取步驟5)中打包后的數(shù)據(jù),并對(duì)于上述數(shù)據(jù)中的目標(biāo)mac地址、數(shù)據(jù)長(zhǎng)度進(jìn)行過(guò)濾,得到視頻信號(hào)的ycbcr數(shù)據(jù);將上述視頻信號(hào)的ycbcr數(shù)據(jù)轉(zhuǎn)換為rgb信號(hào)即可進(jìn)行視頻預(yù)覽。
作為本發(fā)明的一種改進(jìn),所述步驟2)中,對(duì)于rgb數(shù)據(jù)進(jìn)行抽幀處理的抽幀比例為1:8。
作為本發(fā)明的一種改進(jìn),所述步驟3)中,對(duì)于rgb數(shù)據(jù)進(jìn)行圖像處理的方法為等比例取點(diǎn);經(jīng)過(guò)圖像縮小后的rgb數(shù)據(jù)的分辨率至多為480*270。
采用上述技術(shù)方案的視頻預(yù)覽方法,其采用基于fpga芯片以及網(wǎng)絡(luò)設(shè)備對(duì)于視頻數(shù)據(jù)進(jìn)行復(fù)制轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)對(duì)于視頻的預(yù)覽處理,以避免其向前端設(shè)備申請(qǐng)視頻流,進(jìn)而無(wú)需占用前端設(shè)備帶寬,致使本申請(qǐng)中的視頻預(yù)覽方法在避免高昂的硬件成本的同時(shí),使得設(shè)備間數(shù)據(jù)的傳輸效率得以保障。與此同時(shí),上述視頻的預(yù)覽處理過(guò)程中在用戶設(shè)備端僅采用ycbcr與rgb數(shù)據(jù)之間的轉(zhuǎn)換,故其數(shù)據(jù)計(jì)算復(fù)雜程度較小,占用cpu資源較低;在此基礎(chǔ)上述,用戶通過(guò)多個(gè)網(wǎng)卡設(shè)備即可實(shí)現(xiàn)多個(gè)網(wǎng)口數(shù)量的視頻預(yù)覽處理,以使得用戶的多樣性需求得以滿足。
附圖說(shuō)明
圖1為本發(fā)明中系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明中fpga芯片的視頻數(shù)據(jù)處理邏輯示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施方式,進(jìn)一步闡明本發(fā)明,應(yīng)理解下述具體實(shí)施方式僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。需要說(shuō)明的是,下面描述中使用的詞語(yǔ)“前”、“后”、“左”、“右”、“上”和“下”指的是附圖中的方向,詞語(yǔ)“內(nèi)”和“外”分別指的是朝向或遠(yuǎn)離特定部件幾何中心的方向。
實(shí)施例1
如圖1與圖2所示的一種視頻預(yù)覽方法,其包括有如下步驟:
1)通過(guò)轉(zhuǎn)換芯片對(duì)于輸入的視頻信號(hào)進(jìn)行格式轉(zhuǎn)換,以獲得視頻信號(hào)的rgb數(shù)據(jù),并將上述視頻信號(hào)的rgb數(shù)據(jù)發(fā)送至fpga芯片之中;
2)通過(guò)fpga芯片對(duì)于rgb數(shù)據(jù)進(jìn)行逐行掃描處理,并將rgb數(shù)據(jù)轉(zhuǎn)換為serdes數(shù)據(jù)發(fā)送至底板芯片;
3)通過(guò)fpga芯片對(duì)于rgb數(shù)據(jù)進(jìn)行抽幀處理;
4)通過(guò)fpga芯片對(duì)于經(jīng)抽幀處理后的rgb數(shù)據(jù)進(jìn)行圖像縮小處理;
5)采用ycbcr數(shù)據(jù)格式對(duì)于步驟4)得到的rgb數(shù)據(jù)進(jìn)行編碼處理,以獲得視頻信號(hào)的ycbcr數(shù)據(jù);
6)fpga芯片將視頻信號(hào)的ycbcr數(shù)據(jù),以及視頻源設(shè)備的本地mac地址、目標(biāo)mac地址、數(shù)據(jù)長(zhǎng)度、行編號(hào)進(jìn)行統(tǒng)一打包處理,并將打包后的數(shù)據(jù)通過(guò)網(wǎng)卡芯片傳輸至交換機(jī)設(shè)備之中;
7)預(yù)覽用戶在計(jì)算機(jī)終端通過(guò)網(wǎng)絡(luò)訪問(wèn)系統(tǒng)以及網(wǎng)卡獲取步驟6)中打包后的數(shù)據(jù),并對(duì)于上述數(shù)據(jù)中的目標(biāo)mac地址、數(shù)據(jù)長(zhǎng)度進(jìn)行過(guò)濾,得到視頻信號(hào)的ycbcr數(shù)據(jù);將上述視頻信號(hào)的ycbcr數(shù)據(jù)轉(zhuǎn)換為rgb信號(hào)即可進(jìn)行視頻預(yù)覽。
采用上述技術(shù)方案的視頻預(yù)覽方法,其采用基于fpga芯片以及網(wǎng)絡(luò)設(shè)備對(duì)于視頻數(shù)據(jù)進(jìn)行復(fù)制轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)對(duì)于視頻的預(yù)覽處理,以避免其向前端設(shè)備申請(qǐng)視頻流,進(jìn)而無(wú)需占用前端設(shè)備帶寬,致使本申請(qǐng)中的視頻預(yù)覽方法在避免高昂的硬件成本的同時(shí),使得設(shè)備間數(shù)據(jù)的傳輸效率得以保障。與此同時(shí),上述視頻的預(yù)覽處理過(guò)程中在用戶設(shè)備端僅采用ycbcr與rgb數(shù)據(jù)之間的轉(zhuǎn)換,故其數(shù)據(jù)計(jì)算復(fù)雜程度較小,占用cpu資源較低;在此基礎(chǔ)上述,用戶通過(guò)多個(gè)網(wǎng)卡設(shè)備即可實(shí)現(xiàn)多個(gè)網(wǎng)口數(shù)量的視頻預(yù)覽處理,以使得用戶的多樣性需求得以滿足;經(jīng)實(shí)際測(cè)試,本申請(qǐng)中的視頻預(yù)覽方法可同時(shí)進(jìn)行144路以上的視頻預(yù)覽處理。
實(shí)施例2
作為本發(fā)明的一種改進(jìn),所述步驟2)中,對(duì)于rgb數(shù)據(jù)進(jìn)行抽幀處理的抽幀比例為1:8。
本實(shí)施例其余特征與優(yōu)點(diǎn)均與實(shí)施例1相同。
實(shí)施例3
作為本發(fā)明的一種改進(jìn),所述步驟3)中,對(duì)于rgb數(shù)據(jù)進(jìn)行圖像處理的方法為等比例取點(diǎn);經(jīng)過(guò)圖像縮小后的rgb數(shù)據(jù)的分辨率至多為480*270。
本實(shí)施例其余特征與優(yōu)點(diǎn)均與實(shí)施例2相同。
實(shí)施例4
作為本發(fā)明的一種改進(jìn),在所述步驟4)中,通過(guò)fpga芯片對(duì)于經(jīng)抽幀處理后的rgb數(shù)據(jù)進(jìn)行圖像縮小處理的具體方法為:對(duì)rgb數(shù)據(jù)進(jìn)行ycbcr420編碼,數(shù)據(jù)格式之中的奇數(shù)行為ycbycr,偶數(shù)行為ycrycb,基于ycbcr的顏色空間的存儲(chǔ)優(yōu)勢(shì),可以將原先的rgb數(shù)據(jù)壓縮至1/2。
本實(shí)施例的其余特征與優(yōu)點(diǎn)均與實(shí)施例3相同。
實(shí)施例5
作為本發(fā)明的一種改進(jìn),所述步驟5)中,采用ycbcr數(shù)據(jù)格式對(duì)于步驟4)得到的rgb數(shù)據(jù)進(jìn)行編碼處理,以獲得視頻信號(hào)的ycbcr數(shù)據(jù);對(duì)編碼后的ycbcr數(shù)據(jù)采用mac層通訊協(xié)議打包發(fā)送至指定mac地址設(shè)備,上述更為底層的協(xié)議相比于傳統(tǒng)的ip/tcp層等協(xié)議擁有著更快的速率,并且對(duì)交換機(jī)的要求更低。
本實(shí)施例的其與特征與優(yōu)點(diǎn)與實(shí)施例4相同。
實(shí)施例6
作為本發(fā)明的一種改進(jìn),在所述步驟6)中,用戶的計(jì)算機(jī)從網(wǎng)卡芯片以及交換機(jī)設(shè)備之中獲取打包后的mac層數(shù)據(jù)后,通過(guò)數(shù)據(jù)長(zhǎng)度、本地mac地址與目標(biāo)mac地址進(jìn)行數(shù)據(jù)過(guò)濾處理,并在獲取數(shù)據(jù)后將其轉(zhuǎn)化為rgb顏色制式,存入緩存中,直到獲取每一幀數(shù)據(jù)中的最后一行數(shù)據(jù)后顯示出來(lái)。采用上述技術(shù)方案,其可使得單網(wǎng)口預(yù)覽至少36路視頻圖像。
本實(shí)施例的其與特征與優(yōu)點(diǎn)與實(shí)施例5相同。