一種防意外中止的多路音視頻流存儲(chǔ)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種防意外中止的多路音視頻流存儲(chǔ)方法。
【背景技術(shù)】
[0002] 隨著現(xiàn)代網(wǎng)絡(luò)的逐漸普及,視頻監(jiān)控已經(jīng)應(yīng)用于我們的工作和生活中。很多生活 的場(chǎng)所都需要視頻監(jiān)控來(lái)保障單位及個(gè)人的財(cái)產(chǎn)和人身安全。人們可以通過(guò)實(shí)時(shí)監(jiān)控了解 現(xiàn)場(chǎng)的情況。但在實(shí)際的應(yīng)用中,單純進(jìn)行視頻監(jiān)控,難以提供全面高效的服務(wù)。很多時(shí)候 需要實(shí)時(shí)對(duì)現(xiàn)場(chǎng)的情況進(jìn)行音視頻存儲(chǔ),供后期回放和分析。
【發(fā)明內(nèi)容】
[0003] 針對(duì)現(xiàn)有技術(shù)的不足之處,本發(fā)明的所要解決的技術(shù)問(wèn)題在于提供一種防意外中 止的多路音視頻流存儲(chǔ)方法,實(shí)現(xiàn)設(shè)備在意外中止后錄像文件的恢復(fù),緩沖區(qū)和錄像區(qū)使 用不同硬盤(pán)進(jìn)行讀寫(xiě),大大減少在存儲(chǔ)過(guò)程中磁頭的尋道次數(shù),提高系統(tǒng)的性能。
[0004] 為了解決上述技術(shù)問(wèn)題,本發(fā)明可以通過(guò)以下技術(shù)措施實(shí)現(xiàn):一種防意外中止的 多路音視頻流存儲(chǔ)方法,包括以下步驟:
[0005] S1、判斷是否初次啟動(dòng),若是,執(zhí)行步驟S2,若否,執(zhí)行步驟S3 ;
[0006] S2、設(shè)置緩沖區(qū)和錄像區(qū),并在緩沖區(qū)中創(chuàng)建緩沖文件,執(zhí)行步驟S4 ;
[0007] S3、判斷是否需要錄像文件恢復(fù),若是,進(jìn)行錄像文件恢復(fù);
[0008] S4、多路音視頻流存儲(chǔ);
[0009] S5、結(jié)束。
[0010] 本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法判斷是否初次啟動(dòng),若是,設(shè)置緩 沖區(qū)和錄像區(qū)并在緩沖區(qū)中創(chuàng)建緩沖文件;判斷是否需要錄像文件恢復(fù),如是,進(jìn)行錄像文 件恢復(fù);在錄像區(qū)中進(jìn)行多路音視頻流存儲(chǔ)。本發(fā)明能實(shí)現(xiàn)設(shè)備在意外中止后錄像文件的 恢復(fù);緩沖區(qū)和錄像區(qū)使用不同硬盤(pán)進(jìn)行讀寫(xiě),大大減少在存儲(chǔ)過(guò)程中磁頭的尋道次數(shù),提 尚系統(tǒng)的性能。
[0011] 作為本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的優(yōu)選實(shí)施方式,所述的步驟 S2進(jìn)一步包括:
[0012] S2-1、設(shè)有DpD2,…,0"共n個(gè)硬盤(pán),硬盤(pán)大小分別為RR2,…,Rn,設(shè)置硬盤(pán) Di,D2,…,0"為緩沖區(qū),硬盤(pán)Dk+1,Dk+2,…,0"為錄像區(qū),其中0〈k〈n;
[0013] S2-2、設(shè)有Ip12,…,Ip*p路音視頻流,fi表示音視頻流仁的幀率,Si表示音視頻 流Ii的最大幀長(zhǎng)度,錄像時(shí)間長(zhǎng)度為1,單位:秒,創(chuàng)建"錄像文件表",其中i= 1,2,…,p;
[0014] S2-3、根據(jù)公式(1)計(jì)算^的數(shù)據(jù)文件大小Datai,根據(jù)公式(2)計(jì)算^的索引文 件大小IndeXi,設(shè)"索引文件"的幀信息的固定長(zhǎng)度為K;
[0015] Dataj=fjXsjXlXS (1)
[0016] IndeXi=fiXlXKX5 (2)
[0017] S2-4、判斷公式(3)是否成立,若是,執(zhí)行步驟S2-1 ;若否,執(zhí)行步驟2-5 ;
[0018]
(3)
[0019] S2-5、在緩沖區(qū)創(chuàng)建緩沖文件,包括數(shù)據(jù)文件、索引文件,在"緩沖區(qū)表"插入其數(shù) 據(jù)庫(kù)記錄;其中,數(shù)據(jù)文件用于按時(shí)間順序以幀為單位依次存儲(chǔ)音視頻數(shù)據(jù),索引文件用于 按數(shù)據(jù)文件從頭到尾順序依次記錄幀信息;
[0020] "錄像文件表"、"緩沖區(qū)表"和"索引文件"的幀信息進(jìn)一步包括:
[0021] "錄像文件表"包括:"錄像設(shè)備名稱"、"錄像文件路徑"、"錄像啟動(dòng)時(shí)間"、"錄像時(shí) 間"、"錄像完成標(biāo)識(shí)",其中0表示已完成,1表示未完成、"錄像文件的重要程度",其中0-99 表示錄像文件的重要程度,數(shù)字越大表示錄像文件越重要;
[0022] "緩沖區(qū)表"包括:"所屬音視頻流"、"幀率"、"最大幀長(zhǎng)度"、"數(shù)據(jù)文件路徑"、"索 引文件路徑"、"數(shù)據(jù)區(qū)大小"、"索引區(qū)大小"、"錄像狀態(tài)標(biāo)識(shí)",其中0表示"處于非錄像狀 態(tài)",1表示"處于錄像狀態(tài)";
[0023] "索引文件"的幀信息以固定長(zhǎng)度的格式存儲(chǔ),其包括:"幀類型"、"時(shí)間戳"、"數(shù)據(jù) 文件內(nèi)偏移"、"幀長(zhǎng)度"4個(gè)字段,其中,幀類型為1個(gè)字節(jié),0表示音頻幀、1表示I幀、2表 示其他類型的幀;時(shí)間戳為10個(gè)字節(jié);數(shù)據(jù)文件內(nèi)偏移為10個(gè)字節(jié);幀長(zhǎng)度為9個(gè)字節(jié)。
[0024] 作為本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的優(yōu)選實(shí)施方式,所述的步驟 S3進(jìn)一步包括:
[0025] S3-1、連接"緩沖區(qū)表",返回各路音視頻流的緩沖區(qū)信息和緩沖區(qū)的個(gè)數(shù)p,設(shè)i =1 ;
[0026] S3-2、判斷音視頻流L的"錄像狀態(tài)標(biāo)識(shí)"是否為"1",若是,執(zhí)行步驟S3-3,若否, 執(zhí)行步驟S-5;
[0027] S3-3、連接"錄像文件表",返回音視頻流^的"錄像完成標(biāo)識(shí)"為"1"的記錄,根 據(jù)返回記錄的"錄像文件路徑"刪除該錄像文件;
[0028]S3-4、根據(jù)緩沖區(qū)的數(shù)據(jù),在"錄像文件路徑"生成同名錄像文件,更新"錄像文件 表"的信息,更新Ii在"緩沖區(qū)表"的信息;
[0029] S3-5、i = i+1,判斷i <p是否成立,若是,執(zhí)行步驟S3-2,若否,結(jié)束;
[0030] 所述的步驟S3-4進(jìn)一步包括:
[0031] S3-4-1、在"錄像文件路徑"下創(chuàng)建并打開(kāi)同名的錄像文件,設(shè)W = 0 ;
[0032] S3-4-2、讀取音視頻流^的"索引文件" W到W+K字節(jié)的數(shù)據(jù),W = W+K;
[0033] S3-4-3、判斷數(shù)據(jù)是否為空,若是,執(zhí)行步驟S3-4-5;
[0034] S3-4-4、解析數(shù)據(jù)中的幀信息,根據(jù)"數(shù)據(jù)文件內(nèi)偏移" Ps和"幀長(zhǎng)度" 1 z,讀取"數(shù) 據(jù)文件"中匕到P s+lz字節(jié)的幀數(shù)據(jù),把幀數(shù)據(jù)填充進(jìn)錄像文件中,執(zhí)行步驟S3-4-2;
[0035] S3-4-5、關(guān)閉錄像文件,計(jì)算出錄像文件的時(shí)間長(zhǎng)度Lt,更新該錄像文件在"錄像 文件表"的信息,其中"錄像時(shí)間"為L(zhǎng)t、"錄像完成標(biāo)識(shí)"為"0",更新^在"緩沖區(qū)表"的 信息,其中"錄像狀態(tài)標(biāo)識(shí)"為"〇 ",結(jié)束。
[0036] 作為本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的優(yōu)選實(shí)施方式,所述的步驟 S4進(jìn)一步包括:
[0037] S4-1、連接"緩沖區(qū)表",返回各路音視頻流的緩沖區(qū)信息和緩沖區(qū)的個(gè)數(shù)p,根據(jù) 公式(4)計(jì)算總預(yù)留空間Ls:
[0038]
(4)
[0039] S4-2、更新"緩沖區(qū)表"的信息,計(jì)時(shí)參數(shù)設(shè)置為0,生成"錄像文件路徑",在"錄像 文件表"插入其記錄;
[0040] S4-3、判斷計(jì)時(shí)參數(shù)是否大于Lt,若是,執(zhí)行步驟S4-4,否則,往緩沖區(qū)填充音視 頻數(shù)據(jù)及其信息,執(zhí)行步驟S4-7;
[0041] S4-4、判斷剩余存儲(chǔ)空間是否大于Ls,若是,執(zhí)行步驟S4-5,否則刪除錄像文件, 重新執(zhí)行步驟S4-4;
[0042] S4-5、根據(jù)緩沖區(qū)信息,在"錄像文件路徑"生成錄像文件,更新"錄像文件表"信 息;
[0043] S4-6、設(shè)置計(jì)時(shí)參數(shù)為0,生成"錄像文件路徑",在"錄像文件表"插入其記錄;
[0044] S4-7、判斷是否停止,若是,執(zhí)行步驟S4-9,若否,執(zhí)行步驟S4-8;
[0045] S4-8、計(jì)時(shí)1秒后,計(jì)時(shí)參數(shù)加1,執(zhí)行步驟S4-3;
[0046] S4-9、根據(jù)緩沖區(qū)信息,在"錄像文件路徑"生成錄像文件,更新"錄像文件表"信 息,更新"緩沖區(qū)表"的信息,結(jié)束;
[0047] 所述的步驟S4-2中,生成"錄像文件路徑"進(jìn)一步包括:
[0048] S4-2-1、根據(jù)錄像設(shè)備的特征生成一個(gè)唯一的文件夾路徑,如該文件夾存在,則執(zhí) 行步驟S4-2-2,否則,新建該文件夾,然后執(zhí)行步驟S4-2-2;
[0049] S4-2-2、在該文件夾路徑下,根據(jù)錄像設(shè)備的特征生成唯一的"錄像文件路徑";
[0050] 所述的步驟S4-4進(jìn)一步包括:
[0051] S4-4-1、判斷剩余預(yù)設(shè)存儲(chǔ)空間是否大于Ls,若是,則立刻執(zhí)行步驟S4-5,若否, 執(zhí)行步驟S4-4-2;
[0052] S4-4-2、連接"錄像文件表"并返回預(yù)設(shè)個(gè)數(shù)的可刪除的錄像文件在"錄像文件表" 的記錄;
[0053] S4-4-3、根據(jù)"錄像文件路徑",刪除錄像文件并刪除該錄像文件在"錄像文件表" 的記錄,執(zhí)行步驟S4-4-1;
[0054] 所述的步驟S4-5和步驟S3-4相似,區(qū)別在于步驟S4-5不用更新"緩沖區(qū)表"的 f目息;步驟S4_9和步驟S3_4相同。
[0055] 實(shí)施本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的技術(shù)方案具有如下有益效 果:本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法判斷是否初次啟動(dòng),若是,設(shè)置緩沖區(qū)和 錄像區(qū)并在緩沖區(qū)中創(chuàng)建緩沖文件;判斷是否需要錄像文件恢復(fù),如是,進(jìn)行錄像文件恢 復(fù);在錄像區(qū)中進(jìn)行多路音視頻流存儲(chǔ)。本發(fā)明能實(shí)現(xiàn)設(shè)備在意外中止后錄像文件的恢復(fù); 緩沖區(qū)和錄像區(qū)使用不同硬盤(pán)進(jìn)行讀寫(xiě),大大減少在存儲(chǔ)過(guò)程中磁頭的尋道次數(shù),提高系 統(tǒng)的性能。
[0056] 上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,以下結(jié)合優(yōu)選實(shí)施例,并配合附圖,詳細(xì)說(shuō)明如下。
【附圖說(shuō)明】
[0057] 利用附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明,但附圖中的實(shí)施例不構(gòu)成對(duì)本發(fā)明的任何限 制。
[0058] 圖1是本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的架構(gòu)示意圖。
[0059] 圖2是本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的工作流程圖。
[0060] 圖3是本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的文件恢復(fù)的流程圖。
[0061] 圖4是本發(fā)明的防意外中止的多路音視頻流存儲(chǔ)方法的錄像時(shí)間長(zhǎng)度固定的多 路音視頻流存儲(chǔ)的流程圖。
當(dāng)前第1頁(yè)
1 
2 
3