本發(fā)明屬于安防存儲,具體涉及一種安防存儲緩存的方法及裝置。
背景技術:
1、安防存儲產(chǎn)品屬于消費類存儲產(chǎn)品,主要是存儲攝像頭的錄像,其中攝像頭的錄像分為計劃錄像和報警錄像,計劃錄像的特點是分辨率低和碼率低,而報警錄像則相反一般為高分辨率高碼率;所以同樣時間,計劃錄像占用磁盤空間遠小于報警錄像。所以計劃錄像應用于7*24小時不間斷錄像,而報警錄像則應用于突發(fā)事件。
2、消費類產(chǎn)品的特點是資源有限,即cpu和內(nèi)存等資源有限,但是要求并不低,因為更貼近用戶,操作使用更多,所以對產(chǎn)品的體驗和性能要求比較高。存儲即核心功能是錄像,是將音視頻流寫入文件,而為了提高磁盤性能,一般先寫入緩存,而寫入緩存常見的是一大片連續(xù)緩存或者環(huán)形緩存。
3、但這樣沒有充分利用安防存儲特別是錄像和音視頻的特點,不夠靈活;而且一旦出問題,整個緩存都將被丟棄清空,會導致丟幀,而且丟幀的時長可能是整個緩存的時長,導致用戶查看錄像不連續(xù),會跳幀即跳秒,因此我們需要提出一種安防存儲緩存的方法及裝置來解決上述存在的問題,使其能夠有效降低跳幀現(xiàn)象的存在,以保障視頻播放的連續(xù)性。
技術實現(xiàn)思路
1、本發(fā)明的目的在于提供一種安防存儲緩存的方法及裝置,能夠有效降低跳幀現(xiàn)象的存在,以保障視頻播放的連續(xù)性,以解決上述背景技術中提出的問題。
2、為實現(xiàn)上述目的,本發(fā)明采用了如下技術方案:
3、一種安防存儲緩存的方法,包括如下步驟:
4、s1、將視頻中的幀數(shù)據(jù)和元數(shù)據(jù)分開,具體為:
5、s11、通過視頻解析工具來識別并提取元數(shù)據(jù),獲取幀頭元數(shù)據(jù);
6、s12、把幀頭單獨提取出來放入另一個緩存數(shù)據(jù);
7、s2、將每個幀數(shù)據(jù)按i幀將緩存進一步分片,具體為:
8、s21、對視頻流進行解碼以識別出i幀;
9、s22、根據(jù)i幀的位置進行視頻分片,獲得片段數(shù)據(jù);
10、s23、將片段數(shù)據(jù)進行存儲,使每個片段數(shù)據(jù)的頭部包含該片段數(shù)據(jù)的元數(shù)據(jù)。
11、優(yōu)選的,所述幀數(shù)據(jù)是音視頻解碼過程中,音頻或視頻信號被分割成離散數(shù)據(jù)的時間片段,此時間片段即為幀,每一幀中均包含有用于后續(xù)壓縮、傳輸和播放的數(shù)據(jù)。
12、優(yōu)選的,所述元數(shù)據(jù)是描述幀數(shù)據(jù)的信息,所述元數(shù)據(jù)包含有幀的長度和幀的時間戳,每個所述元數(shù)據(jù)與幀數(shù)據(jù)一一對應設置,每一幀數(shù)據(jù)都有對應的幀頭信息。
13、優(yōu)選的,步驟s11中,所述元數(shù)據(jù)在識別和提取時,需確保視頻解析工具與視頻文件的編碼格式兼容,然后再選擇適合的工具進行視頻解析,并提取元數(shù)據(jù),然后將元數(shù)據(jù)進行延遲分配。
14、優(yōu)選的,在延遲分配時,先進行初始化,初始化只需分配一個幀片段和元數(shù)據(jù)片段,然后根據(jù)需要再分配第二個、第三個、第n個,如果中間的某個時間點已經(jīng)開始讀取緩存,則開始循環(huán)覆蓋,不需要再新分配數(shù)據(jù)。
15、優(yōu)選的,步驟s12中,把幀頭單獨提取出來放入另一個緩存數(shù)據(jù)的操作步驟如下:
16、a1、在數(shù)據(jù)傳輸協(xié)議中,將用來標識一幀數(shù)據(jù)開始的幀定義為幀頭,再通過檢測特定字節(jié)對接收到的數(shù)據(jù)流識別出幀頭的位置;
17、a2、在接收和處理數(shù)據(jù)之間進行解耦,再將解耦數(shù)據(jù)暫時存儲在緩沖區(qū)中,采用環(huán)形緩沖區(qū)來存儲幀頭;
18、a3、通過單片機編程,使在接收數(shù)據(jù)時,一旦檢測到定義的幀頭時,就將幀頭后的數(shù)據(jù)按照協(xié)議格式接收并存儲;
19、a4、定義一個用于存放提取出幀頭的新緩存區(qū),在確認一幀數(shù)據(jù)的完整性和正確性后,將幀頭數(shù)據(jù)從原始數(shù)據(jù)提取出來,并存入新緩存中。
20、優(yōu)選的,步驟s21中,所述i幀是關鍵幀,關鍵幀不包含時間上的預測或運動補償,對視頻流進行解碼的步驟如下:
21、b1、通過攝像頭獲取視頻流數(shù)據(jù);
22、b2、再使用視頻解析工具讀取視頻流中每一幀數(shù)據(jù),通過分析幀數(shù)據(jù)的頭幀來識別幀的類型;
23、b3、當識別出i幀時,則將i幀數(shù)據(jù)提取出來進行處理或分析。
24、優(yōu)選的,步驟s22,根據(jù)i幀的位置進行視頻分片時,采用h.264編碼方式來識別i幀,當識別出i幀時,根據(jù)需求確定視頻分片的位置,確保每個片段都能夠獨立解碼和播放,然后再提取視頻片段進行內(nèi)存裁剪。
25、優(yōu)選的,在內(nèi)存裁剪時,幀片段初步根據(jù)分辨率和幀率分配大小,如果后面分辨率和幀率有調(diào)整,則幀片段進行同方向的調(diào)整。
26、基于以上敘述的一種安防存儲緩存的方法,本發(fā)明還提供了一種安防存儲緩存的裝置,包括數(shù)據(jù)存儲器、標記存儲體、有效位單元以及單片機,所述單片機分別與數(shù)據(jù)存儲器、標記存儲體和有效位單元電性連接,所述單片機能夠?qū)⒁曨l中的幀數(shù)據(jù)和元數(shù)據(jù)分開,并將每個幀數(shù)據(jù)按i幀將緩存進一步分片,所述數(shù)據(jù)存儲器用于獲取攝像頭中的視頻流,所述標記存儲體用于識別緩存中的數(shù)據(jù)塊是否為單片機請求的正確數(shù)據(jù);
27、所述有效位單元用于標識緩存中的數(shù)據(jù)是否有效,當數(shù)據(jù)從數(shù)據(jù)存儲器復制到緩存時,對應的有效位會被置為1,表示數(shù)據(jù)當前是有效的,如果緩存被清空或者數(shù)據(jù)被替換,則有效位會重置為0。
28、本發(fā)明提出的一種安防存儲緩存的方法及裝置,與現(xiàn)有技術相比,具有以下優(yōu)點:
29、1、本發(fā)明在搜索時,通過視頻解析工具來識別并提取元數(shù)據(jù),獲取幀頭元數(shù)據(jù),再把幀頭單獨提取出來放入另一個緩存數(shù)據(jù),然后對視頻流進行解碼以識別出i幀,根據(jù)i幀的位置進行視頻分片,獲得片段數(shù)據(jù),將片段數(shù)據(jù)進行存儲,使每個片段數(shù)據(jù)的頭部包含該片段數(shù)據(jù)的元數(shù)據(jù),通過先將視頻中的幀數(shù)據(jù)和元數(shù)據(jù)分開,再將每個幀數(shù)據(jù)按i幀將緩存進一步分片,即先讀每個元數(shù)據(jù)分片的片段頭即可,不需要從中間查找,如果緩存循環(huán)覆蓋時也只要abc順序覆蓋即可,不需要從中間查找,如果數(shù)據(jù)出問題,即使是幀頭信息出錯,最大影響也只是該i幀對應的該秒的數(shù)據(jù),對其他兩秒的的數(shù)據(jù)毫無影響,對于嵌入式系統(tǒng)資源有限的情況而言是非常重要的,不僅提高內(nèi)存使用率,而且大大降低內(nèi)存的各種問題,有效降低了跳幀現(xiàn)象的存在,以保障視頻播放的連續(xù)性。
1.一種安防存儲緩存的方法,其特征在于:包括如下步驟:
2.根據(jù)權利要求1所述的一種安防存儲緩存的方法,其特征在于:所述幀數(shù)據(jù)是音視頻解碼過程中,音頻或視頻信號被分割成離散數(shù)據(jù)的時間片段,此時間片段即為幀,每一幀中均包含有用于后續(xù)壓縮、傳輸和播放的數(shù)據(jù)。
3.根據(jù)權利要求2所述的一種安防存儲緩存的方法,其特征在于:所述元數(shù)據(jù)是描述幀數(shù)據(jù)的信息,所述元數(shù)據(jù)包含有幀的長度和幀的時間戳,每個所述元數(shù)據(jù)與幀數(shù)據(jù)一一對應設置,每一幀數(shù)據(jù)都有對應的幀頭信息。
4.根據(jù)權利要求3所述的一種安防存儲緩存的方法,其特征在于:步驟s11中,所述元數(shù)據(jù)在識別和提取時,需確保視頻解析工具與視頻文件的編碼格式兼容,然后再選擇適合的工具進行視頻解析,并提取元數(shù)據(jù),然后將元數(shù)據(jù)進行延遲分配。
5.根據(jù)權利要求4所述的一種安防存儲緩存的方法,其特征在于:在延遲分配時,先進行初始化,初始化只需分配一個幀片段和元數(shù)據(jù)片段,然后根據(jù)需要再分配第二個、第三個、第n個,如果中間的某個時間點已經(jīng)開始讀取緩存,則開始循環(huán)覆蓋,不需要再新分配數(shù)據(jù)。
6.根據(jù)權利要求5所述的一種安防存儲緩存的方法,其特征在于:步驟s12中,把幀頭單獨提取出來放入另一個緩存數(shù)據(jù)的操作步驟如下:
7.根據(jù)權利要求6所述的一種安防存儲緩存的方法,其特征在于:步驟s21中,所述i幀是關鍵幀,關鍵幀不包含時間上的預測或運動補償,對視頻流進行解碼的步驟如下:
8.根據(jù)權利要求7所述的一種安防存儲緩存的方法,其特征在于:步驟s22,根據(jù)i幀的位置進行視頻分片時,采用h.264編碼方式來識別i幀,當識別出i幀時,根據(jù)需求確定視頻分片的位置,確保每個片段都能夠獨立解碼和播放,然后再提取視頻片段進行內(nèi)存裁剪。
9.根據(jù)權利要求8所述的一種安防存儲緩存的方法,其特征在于:在內(nèi)存裁剪時,幀片段初步根據(jù)分辨率和幀率分配大小,如果后面分辨率和幀率有調(diào)整,則幀片段進行同方向的調(diào)整。
10.一種安防存儲緩存的裝置,基于權利要求1-任意一項9所述的一種安防存儲緩存的方法,其特征在于:包括數(shù)據(jù)存儲器、標記存儲體、有效位單元以及單片機,所述單片機分別與數(shù)據(jù)存儲器、標記存儲體和有效位單元電性連接,所述單片機能夠?qū)⒁曨l中的幀數(shù)據(jù)和元數(shù)據(jù)分開,并將每個幀數(shù)據(jù)按i幀將緩存進一步分片,所述數(shù)據(jù)存儲器用于獲取攝像頭中的視頻流,所述標記存儲體用于識別緩存中的數(shù)據(jù)塊是否為單片機請求的正確數(shù)據(jù);