一種視頻預覽方法與流程
2023-12-08 22:46:02 2

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