一種視頻數據存儲及回放系統、裝置和方法
【技術領域】
[0001]本發明涉及視頻監控技術領域,特別涉及一種視頻數據存儲及回放系統、裝置和方法。
【背景技術】
[0002]現有技術中,存儲設備會將獲取自前端設備的視頻數據存儲在文件中,文件根據時間進行切分。當需要對某一時間范圍內的視頻數據進行回放時,存儲設備會將對應的視頻文件發送給回放設備,相應地,回放設備接收到視頻數據后,會先對其進行一段時間的緩存,之后進行幀分析,以查找到最接近回放開始時間的關鍵幀位置,并從查找到的關鍵幀位置開始進行回放。
[0003]但是,上述方式在實際應用中會存在一定的問題,如:假設某一視頻文件X的開始時間和結束時間分別為8:30和10:00,回放開始時間和回放結束時間分別為9:00和10:00,那么,整個視頻文件X均將會被發送給回放設備,而回放設備實際需要的只是9:00?10:00這一時間范圍內的視頻數據,從而浪費了傳輸資源,而且,由于需要先對接收到的視頻數據進行緩存和幀分析,待查找到最接近回放開始時間的關鍵幀位置后才能開始進行回放,降低了回放效率。
【發明內容】
[0004]有鑒于此,本發明提供了一種視頻數據存儲及回放系統、裝置和方法,能夠節省傳輸資源和提高回放效率。
[0005]為了達到上述目的,本發明的技術方案是這樣實現的:
[0006]一種視頻數據存儲及回放系統,包括:管理設備和存儲子系統;
[0007]所述存儲子系統,用于對獲取自任一前端設備的視頻數據進行分割,以數據段的形式進行存儲,每個數據段的第一幀均為關鍵幀,并對應存儲每個數據段的段附加信息,包括:數據段中包含的關鍵幀的時間戳信息和位置信息;
[0008]所述管理設備,用于當接收到回放設備的回放請求時,確定出包含待回放數據的數據段,并通知給所述回放設備以進行取流;
[0009]所述存儲子系統,用于當接收到所述回放設備針對任一數據段的取流請求時,根據該數據段的段附加信息,從該數據段中的時間戳最接近回放開始時間的關鍵幀位置開始,對該數據段中包含的待回放數據進行讀取,并發送給所述回放設備進行回放。
[0010]一種存儲設備,包括:
[0011]存儲模塊,用于針對獲取自任一前端設備的視頻數據,以數據段的形式進行存儲,每個數據段的第一幀均為關鍵幀,并對應存儲每個數據段的段附加信息,包括:數據段中包含的關鍵幀的時間戳信息和位置信息;
[0012]回放模塊,用于當接收到回放設備針對所述存儲模塊中所存儲的任一數據段的取流請求時,根據該數據段的段附加信息,從該數據段中的時間戳最接近回放開始時間的關鍵幀位置開始,對該數據段中包含的待回放數據進行讀取,并發送給所述回放設備進行回放。
[0013]一種視頻數據存儲及回放方法,包括:
[0014]對獲取自任一前端設備的視頻數據進行分割,以數據段的形式存儲到磁盤介質上,每個數據段的第一幀均為關鍵幀,并對應存儲每個數據段的段附加信息,包括:數據段中包含的關鍵幀的時間戳信息和位置信息;
[0015]當接收到回放設備的回放請求時,確定出包含待回放數據的數據段,并通知給所述回放設備以進行取流;
[0016]當接收到所述回放設備針對任一數據段的取流請求時,根據該數據段的段附加信息,從該數據段中的時間戳最接近回放開始時間的關鍵幀位置開始,對該數據段中包含的待回放數據進行讀取,并發送給所述回放設備進行回放。
[0017]可見,采用本發明所述方案,以數據段的形式將獲取自前端設備的視頻數據存儲到磁盤介質上,并對應存儲每個數據段的段附加信息,即數據段中包含的關鍵幀的時間戳信息和位置信息等,這樣,當需要進行視頻數據回放時,可首先確定出包含待回放數據的數據段,并針對確定出的各數據段,根據該數據段的段附加信息,從該數據段中的時間戳最接近回放開始時間的關鍵幀位置開始,對該數據段中包含的待回放數據進行讀取,并發送給回放設備進行回放;相比于現有技術,本發明所述方案中只需要將以關鍵幀為起始幀的待回放數據發送給回放設備即可,從而節省了傳輸資源,而且,回放設備無需進行緩存和幀分析等處理,可直接對接收到的數據進行回放,從而提高了回放效率。
【附圖說明】
[0018]圖1為本發明視頻數據存儲及回放系統實施例的組成結構示意圖。
[0019]圖2為本發明存儲設備中劃分出的控制塊、信息塊和數據塊的示意圖。
[0020]圖3為本發明接入設備中所緩存的數據示意圖。
[0021]圖4為本發明存儲設備實施例的組成結構示意圖。
【具體實施方式】
[0022]為了使本發明的技術方案更加清楚、明白,以下參照附圖并舉實施例,對本發明所述方案作進一步的詳細說明。
[0023]圖1為本發明視頻數據存儲及回放系統實施例的組成結構示意圖。如圖1所示,包括:管理設備和存儲子系統。
[0024]其中,存儲子系統,用于對獲取自任一前端設備的視頻數據進行分割,以數據段的形式進行存儲,如存儲到磁盤介質上,每個數據段的第一幀均為關鍵幀,并對應存儲每個數據段的段附加信息,包括:數據段中包含的關鍵幀的時間戳信息和位置信息;
[0025]管理設備,用于當接收到回放設備的回放請求時,確定出包含待回放數據的數據段,并通知給回放設備以進行取流;
[0026]存儲子系統,用于當接收到回放設備針對任一數據段的取流請求時,根據該數據段的段附加信息,從該數據段中的時間戳最接近回放開始時間的關鍵幀位置開始,對該數據段中包含的待回放數據進行讀取,并發送給回放設備進行回放。
[0027]圖1 所不系統可通過應用程序接口(API,Applicat1n Programming Interface)來與外界設備進行信息交互。
[0028]另外,管理設備可采用集群的方式組建,各管理設備之間可采用負載均衡的工作方式。
[0029]如圖1所7JK,上述存儲子系統中可具體包括:存儲設備和接入設備;其中,存儲設備的個數可為一個以上,較佳地,可為多個。
[0030]存儲設備和接入設備可以分別單獨布設,也可以將二者的功能集成到一起,具體實現方式不限,為便于表述,本發明所述方案中假設采用單獨布設的方式。
[0031]存儲設備在使用之前,可先由用戶對其進行格式化,從而將存儲設備的存儲空間劃分為一系列不同類型的塊,包括:數據塊和信息塊;數據塊和信息塊的大小均固定,且數據塊與信息塊之間存在一一對應的關系;其中,數據塊用于存儲數據段,每個數據段的段附加信息存儲在該數據段所在的數據塊對應的信息塊中。
[0032]每個數據塊和信息塊的大小可根據實際需要而定,較佳地,每個數據塊的大小可為64M,每個信息塊的大小可為128K。
[0033