一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法及其系統(tǒng),接收觸發(fā)錄像指令后判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流,若是,根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù);若否,根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù)。通過本發(fā)明實(shí)現(xiàn)視頻數(shù)據(jù)存儲(chǔ)過程中高碼流和低碼流的靈活轉(zhuǎn)換實(shí)現(xiàn)無縫拼接的視頻存儲(chǔ)。
【專利說明】一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法及其系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻存儲(chǔ)領(lǐng)域,尤其涉及一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法及其系統(tǒng)。
【背景技術(shù)】
[0002]生活中,由于防護(hù)安全、管理等的需要,經(jīng)常要將實(shí)時(shí)視頻信息進(jìn)行自動(dòng)連續(xù)地錄像,在自動(dòng)錄像的同時(shí),經(jīng)常會(huì)根據(jù)特殊需要進(jìn)行視頻信息存儲(chǔ)時(shí)間、圖像分辨率和幀率等的調(diào)整,還需根據(jù)不同的安全性等級(jí)采用不同的圖像分辨率進(jìn)行存儲(chǔ),而視頻的存儲(chǔ)播放質(zhì)量要求也越來越高,為了能保證最佳的圖像質(zhì)量,同時(shí)也保證圖像碼流轉(zhuǎn)換的平滑性,現(xiàn)有的視頻碼流切換技術(shù)在切換過程中,不僅在速度上會(huì)有遲鈍,無法平滑過渡,在視頻的圖像質(zhì)量上也并不完美,經(jīng)常會(huì)出現(xiàn)畫面滯留,因此有必要對(duì)上述問題進(jìn)行改進(jìn)。
【發(fā)明內(nèi)容】
[0003]為解決上述技術(shù)問題,本發(fā)明提供一種在視頻存儲(chǔ)過程中能很好解決高碼流和低碼流視頻的靈活切換且實(shí)現(xiàn)無縫拼接的視頻存儲(chǔ)方法及其系統(tǒng)。
[0004]本發(fā)明采用的一個(gè)技術(shù)方案是:
[0005]一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),所述方法包括步驟:
[0006]S1:接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,若是,則執(zhí)行步驟S2 ;其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元;
[0007]S2:判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流,若是,執(zhí)行步驟S4,若否,執(zhí)行步驟S3 ;
[0008]S3:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);
[0009]S4:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
[0010]其中,還包括步驟:當(dāng)判定沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。
[0011]其中,所述步驟S2中“判斷是否有執(zhí)行中存儲(chǔ)任務(wù),若是”后面還包括步驟:判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù),當(dāng)判定大于時(shí),執(zhí)行所述步驟S4,當(dāng)判定不大于時(shí),執(zhí)行步驟S2中的“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”步驟。
[0012]其中,所述錄像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。
[0013]其中,當(dāng)所述錄像任務(wù)觸發(fā)指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ);
[0014]當(dāng)所述錄像任務(wù)觸發(fā)指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ);
[0015]當(dāng)所述錄像任務(wù)觸發(fā)指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)。
[0016]本發(fā)明采用的另一個(gè)技術(shù)方案是:
[0017]一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),運(yùn)行于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),所述支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)包括:
[0018]數(shù)據(jù)接收單元,用于接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元;
[0019]調(diào)度單元,用于當(dāng)所述數(shù)據(jù)接收單元判定新接收到錄像任務(wù)觸發(fā)指令后,判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流;
[0020]執(zhí)行單元,用于執(zhí)行存儲(chǔ)任務(wù),其中包括:
[0021]第一執(zhí)行單元,用于當(dāng)所述調(diào)度單元判定第一存儲(chǔ)碼流不高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);以及
[0022]第二執(zhí)行單元,用于當(dāng)所述調(diào)度單元判定第一存儲(chǔ)碼流高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
[0023]其中,所述執(zhí)行單元還包括預(yù)錄模塊,用于當(dāng)所述調(diào)度單元判斷執(zhí)行單元中沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。
[0024]其中,所述調(diào)度單元具體包括:
[0025]優(yōu)先級(jí)調(diào)度模塊,用于當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)后,判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù)的優(yōu)先級(jí),以及當(dāng)判定大于時(shí)通知所述第二執(zhí)行單元執(zhí)行相應(yīng)操作;以及
[0026]碼流調(diào)度模塊,用于當(dāng)所述優(yōu)先級(jí)調(diào)度模塊判定新存儲(chǔ)任務(wù)的優(yōu)先級(jí)不大于執(zhí)行中任務(wù)的優(yōu)先級(jí)時(shí),執(zhí)行所述“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”的操作。
[0027]其中,所述數(shù)據(jù)接收單元接收的錄像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。
[0028]其中,當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元;
[0029]當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元;
[0030]當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元。
[0031]本發(fā)明區(qū)別于現(xiàn)有技術(shù)中在視頻轉(zhuǎn)碼的過程中在速度上會(huì)有遲鈍,無法實(shí)現(xiàn)高碼流和低碼流的平滑過渡,在視頻的圖像質(zhì)量上也并不完美,經(jīng)常會(huì)出現(xiàn)畫面滯留等問題,具有以下優(yōu)點(diǎn):
[0032]1、通過事前對(duì)錄像任務(wù)觸發(fā)指令根據(jù)不同使用場(chǎng)景可設(shè)置相應(yīng)的優(yōu)先級(jí)及對(duì)應(yīng)的存儲(chǔ)碼流,比如在復(fù)雜的報(bào)警場(chǎng)景、預(yù)案場(chǎng)景、條件觸發(fā)場(chǎng)景等需要存儲(chǔ)較高碼流以保證視頻畫面清晰,而在平時(shí)的普通場(chǎng)景下以極低的碼流進(jìn)行視頻存儲(chǔ)以節(jié)省存儲(chǔ)空間,在需要進(jìn)行高低碼流切換的時(shí)候,判斷新存儲(chǔ)任務(wù)的碼流不高于執(zhí)行中存儲(chǔ)任務(wù)時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);若新存儲(chǔ)任務(wù)碼流高于執(zhí)行中存儲(chǔ)任務(wù)則同樣計(jì)算剩余執(zhí)行時(shí)間并在下一秒數(shù)據(jù)接收完畢后執(zhí)行碼流強(qiáng)制切換指令。通過該視頻存儲(chǔ)方法能保證視頻存儲(chǔ)的連續(xù)性,在保證視頻圖像質(zhì)量的同時(shí)實(shí)現(xiàn)不同存儲(chǔ)碼流轉(zhuǎn)換的平滑過渡,而不會(huì)產(chǎn)生畫面的滯留,影響監(jiān)控。
[0033]2、本發(fā)明提供的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法及系統(tǒng),能在沒有視頻存儲(chǔ)任務(wù)的時(shí)候自動(dòng)啟動(dòng)預(yù)錄任 務(wù),用于記錄突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的視頻信息,也可事前設(shè)置預(yù)錄時(shí)間和預(yù)錄碼流大小,并將視頻預(yù)錄數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在存儲(chǔ)單元對(duì)應(yīng)的預(yù)錄環(huán)型緩沖區(qū)中,當(dāng)突發(fā)事件發(fā)生時(shí)從緩沖區(qū)內(nèi)獲取突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的錄像,使突發(fā)事件前后的錄像內(nèi)容完整,以便工作人員完整的掌握?qǐng)鼍暗膶?shí)時(shí)監(jiān)控,所述預(yù)錄功能還可及時(shí)回收過期預(yù)錄數(shù)據(jù)以節(jié)省存儲(chǔ)空間。
【專利附圖】
【附圖說明】
[0034]圖1是一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法的步驟框圖;
[0035]圖2是一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法一實(shí)施例的步驟框圖;
[0036]圖3是一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)的組成框圖;
[0037]圖4是一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)的調(diào)度單元的組成框圖;
[0038]標(biāo)號(hào)說明:
[0039]1、數(shù)據(jù)接收單元;2、調(diào)度單元;3、執(zhí)行單元;
[0040]4、第一執(zhí)行單元;5、第二執(zhí)行單元; 6、存儲(chǔ)單元
[0041]7、優(yōu)先級(jí)調(diào)度模塊;8、碼流調(diào)度模塊。
【具體實(shí)施方式】
[0042]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。[0043]請(qǐng)參閱圖1,是本發(fā)明一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法的步驟框圖,所述存儲(chǔ)方法應(yīng)用于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),其特征在于,所述方法包括步驟:
[0044]S1:接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,若是,則執(zhí)行步驟S2 ;其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元;
[0045]S2:判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流,若是,執(zhí)行步驟S4,若否,執(zhí)行步驟S3 ;
[0046]S3:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);
[0047]S4:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
[0048]上述方法中通過事前對(duì)錄像任務(wù)觸發(fā)指令可根據(jù)不同的使用場(chǎng)景設(shè)置相應(yīng)的優(yōu)先級(jí)及對(duì)應(yīng)的存儲(chǔ)碼流,比如在復(fù)雜的報(bào)警場(chǎng)景、預(yù)案場(chǎng)景、條件觸發(fā)場(chǎng)景等需要存儲(chǔ)較高碼流以保證視頻畫面清晰,方便工作人員準(zhǔn)確的判斷場(chǎng)景變化,而在平時(shí)的普通場(chǎng)景下則以極低的碼流進(jìn)行視頻存儲(chǔ)以節(jié)省存儲(chǔ)空間。監(jiān)控系統(tǒng)的主機(jī)在接收到錄像任務(wù)觸發(fā)指令后經(jīng)過判斷確定需要進(jìn)行高低碼流切換的時(shí)候,根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后立即執(zhí)行新存儲(chǔ)任務(wù);而不需強(qiáng)制切換碼流的時(shí)候,則同樣計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元6。執(zhí)行單元3將視頻數(shù)據(jù)保存在存儲(chǔ)單元6的視頻文件中,對(duì)應(yīng)的引索數(shù)據(jù)保存在存儲(chǔ)單元6中指定的秒級(jí)索引文件中,以便在工作人員需要的時(shí)候通過檢索關(guān)鍵字而快速的搜索到需要的視頻存儲(chǔ)數(shù)據(jù),同時(shí)對(duì)存儲(chǔ)空間進(jìn)行有序的管理。
[0049]本發(fā)明所述的方法采用定長(zhǎng)文件存儲(chǔ)視頻數(shù)據(jù),一個(gè)定長(zhǎng)視頻文件中可以保存多段連續(xù)的視頻,一段連續(xù)視頻可以占用多個(gè)定長(zhǎng)的視頻文件進(jìn)行存儲(chǔ),能達(dá)到秒級(jí)索引文件存儲(chǔ)每幀視頻關(guān)聯(lián)的時(shí)間及位置等信息。當(dāng)存儲(chǔ)空間不足的時(shí)候可以根據(jù)人工設(shè)定的信息進(jìn)行循環(huán)覆蓋錄像,以便節(jié)省存儲(chǔ)空間。通過該視頻數(shù)據(jù)的存儲(chǔ)方法能保證視頻存儲(chǔ)畫面的連續(xù)性,在保證視頻圖像質(zhì)量的同時(shí)實(shí)現(xiàn)不同存儲(chǔ)碼流轉(zhuǎn)換的平滑過渡,而不會(huì)產(chǎn)生畫面的滯留情況,避免錯(cuò)過重要畫面錄像,影響場(chǎng)景監(jiān)控。
[0050]在這一具體的實(shí)施例中,上述一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法還包括步驟:當(dāng)判定沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。當(dāng)判斷沒有執(zhí)行中任務(wù)也沒有接收到錄像任務(wù)觸發(fā)指令的時(shí)候?qū)⒆詣?dòng)啟動(dòng)預(yù)錄任務(wù),用于記錄突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的視頻信息,根據(jù)管理需要事前設(shè)置預(yù)錄時(shí)間和視頻畫面質(zhì)量,包括碼流大小、分辨率等預(yù)錄規(guī)貝U,當(dāng)有突發(fā)事件時(shí)可從緩沖區(qū)內(nèi)獲取突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的錄像資料,使突發(fā)事件前后的錄像內(nèi)容完整,以保證對(duì)監(jiān)控范圍內(nèi)的實(shí)時(shí)監(jiān)控。所述預(yù)錄任務(wù)指令包括啟動(dòng)延時(shí)預(yù)錄指令和場(chǎng)景重組預(yù)錄指令,其中,啟動(dòng)延時(shí)預(yù)錄是將存儲(chǔ)任務(wù)啟動(dòng)之前一段時(shí)間內(nèi)視頻數(shù)據(jù)緩存下來,用于解決視頻存儲(chǔ)啟動(dòng)延時(shí)造成的視頻圖像信息丟失問題;場(chǎng)景重組預(yù)錄是將在條件觸發(fā)存儲(chǔ)指令觸發(fā)之前一段時(shí)間內(nèi)的視頻數(shù)據(jù)緩存下來,用于為條件觸發(fā)存儲(chǔ)任務(wù)如報(bào)警場(chǎng)景等場(chǎng)景重組提供告警發(fā)生前一端時(shí)間內(nèi)的視頻數(shù)據(jù)。再者,預(yù)錄功能還可及時(shí)回收過期預(yù)錄數(shù)據(jù),避免占用內(nèi)存。系統(tǒng)將會(huì)針對(duì)每個(gè)視頻源在存儲(chǔ)單元內(nèi)開辟對(duì)應(yīng)的預(yù)錄環(huán)型緩沖區(qū),將視頻預(yù)錄數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在預(yù)錄環(huán)型緩沖區(qū)中,當(dāng)突發(fā)事件發(fā)生時(shí)可從緩沖區(qū)內(nèi)提取突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的錄像,使突發(fā)事件前后的錄像內(nèi)容完整,以便工作人員完整的掌握?qǐng)鼍暗膶?shí)時(shí)監(jiān)控。
[0051]請(qǐng)參閱圖2,在一具體的實(shí)施例中,上述實(shí)施例中所述步驟S2中“判斷是否有執(zhí)行中存儲(chǔ)任務(wù),若是”后面還包括步驟:判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù),當(dāng)判定大于時(shí),執(zhí)行所述步驟S4,當(dāng)判定不大于時(shí),執(zhí)行步驟S2中的“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”步驟。由于系統(tǒng)事前可以設(shè)置錄像任務(wù)觸發(fā)指令的優(yōu)先級(jí)以及相對(duì)應(yīng)的存儲(chǔ)碼流,于是在接收到錄像任務(wù)觸發(fā)指令的時(shí)候需要先判斷新存儲(chǔ)任務(wù)與執(zhí)行中任務(wù)的優(yōu)先級(jí)高低,當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的優(yōu)先級(jí)較高的時(shí)候,新存儲(chǔ)任務(wù)等待執(zhí)行中存儲(chǔ)任務(wù),當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的優(yōu)先級(jí)不高于新存儲(chǔ)任務(wù)的時(shí)候,執(zhí)行步驟S2中的“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”步驟,進(jìn)而判斷存儲(chǔ)碼流的高低,判斷是否進(jìn)行存儲(chǔ)碼流的轉(zhuǎn)換。
[0052]在一具體的實(shí)施例中,所述錄像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。系統(tǒng)對(duì)不同的錄像任務(wù)觸發(fā)指令設(shè)置優(yōu)先級(jí)后,按照優(yōu)先級(jí)高低控制執(zhí)行單元3進(jìn)行錄像。具體的,計(jì)劃觸發(fā)錄像是用戶根據(jù)管理的需要事前制定錄像計(jì)劃規(guī)則,系統(tǒng)按照錄像計(jì)劃時(shí)間表自動(dòng)觸發(fā)視頻錄像;條件觸發(fā)錄像是用戶根據(jù)管理需要事前制定條件觸發(fā)錄像計(jì)劃規(guī)則,觸發(fā)的條件包括警報(bào)、事件、聯(lián)動(dòng)、預(yù)案等,具體的觸發(fā)條件一旦產(chǎn)生便立即啟動(dòng)視頻錄像;手動(dòng)觸發(fā)錄像是用戶根據(jù)管理需要即時(shí)選定錄像目標(biāo)并手動(dòng)啟動(dòng)視頻錄像。錄像任務(wù)觸發(fā)指令中的計(jì)劃觸發(fā)指令參數(shù)包括錄像目標(biāo)、錄像啟動(dòng)時(shí)間、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等;條件觸發(fā)錄像指令參數(shù)包括錄像目標(biāo)、錄像觸發(fā)條件、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等;手動(dòng)觸發(fā)錄像指令參數(shù)包括錄像目標(biāo)、錄像觸發(fā)條件、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等。系統(tǒng)中設(shè)置的優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流,系統(tǒng)在執(zhí)行存儲(chǔ)指令觸發(fā)指令的時(shí)候先進(jìn)行優(yōu)先級(jí)的判斷,優(yōu)先執(zhí)行優(yōu)先級(jí)較高的存儲(chǔ)任務(wù),而優(yōu)先級(jí)較高的存儲(chǔ)任務(wù)對(duì)應(yīng)的存儲(chǔ)碼流較高,將自動(dòng)進(jìn)行存儲(chǔ)碼流的轉(zhuǎn)換;當(dāng)新存儲(chǔ)執(zhí)行優(yōu)先級(jí)不低于執(zhí)行中存儲(chǔ)任務(wù)優(yōu)先級(jí)的情況下再判斷存儲(chǔ)碼流高低的存儲(chǔ)規(guī)則進(jìn)行判斷是否轉(zhuǎn)換存儲(chǔ)中任務(wù)。
[0053]在一具體的實(shí)施例中,所述一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,當(dāng)所述錄像任務(wù)觸發(fā)指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ);當(dāng)所述錄像任務(wù)觸發(fā)指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ);當(dāng)所述錄像任務(wù)觸發(fā)指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)。所述存儲(chǔ)任務(wù)依照錄像任務(wù)觸發(fā)指令的不同,實(shí)行不同的具體的存儲(chǔ)任務(wù)。
[0054]本發(fā)明采用的另一個(gè)技術(shù)方案是:
[0055]請(qǐng)參閱圖3,是本發(fā)明一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)的結(jié)構(gòu)框圖。一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),運(yùn)行于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),其特征在于,所述支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)包括:
[0056]數(shù)據(jù)接收單元1,用于接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元6 ;
[0057]調(diào)度單元2,用于當(dāng)所述數(shù)據(jù)接收單元I判定新接收到錄像任務(wù)觸發(fā)指令后,判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流;
[0058]執(zhí)行單元3,用于執(zhí)行存儲(chǔ)任務(wù),其中包括:
[0059]第一執(zhí)行單元4,用于當(dāng)所述調(diào)度單元2判定第一存儲(chǔ)碼流不高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);以及
[0060]第二執(zhí)行單元5,用于當(dāng)所述調(diào)度單元2判定第一存儲(chǔ)碼流高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
[0061]所述數(shù)據(jù)接收單元I用于接收指令后發(fā)送至所述調(diào)度單元2 ;所述調(diào)度單元2用于接收攝像裝置拍攝的視頻數(shù)據(jù),并同時(shí)判斷是否新接受到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,判斷接收到錄像任務(wù)觸發(fā)指令后立即響應(yīng)發(fā)送至調(diào)度單元2,調(diào)度單元2接收新的錄像任務(wù)觸發(fā)指令后立即判斷是否有執(zhí)行中任務(wù),若無在執(zhí)行中任務(wù)則立即觸發(fā)執(zhí)行單元3執(zhí)行新存儲(chǔ)任務(wù);若存在執(zhí)行中任務(wù)并判斷新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流,所述調(diào)度單元2在判定結(jié)束后發(fā)送至所述執(zhí)行單元3執(zhí)行具體的視頻數(shù)據(jù)存儲(chǔ)任務(wù)。若調(diào)度單元2判定第一存儲(chǔ)碼流不高于第二存儲(chǔ)碼流便發(fā)送視頻數(shù)據(jù)至第一執(zhí)行單元4,所述第一執(zhí)行單元4根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);若調(diào)度單元2判定第一存儲(chǔ)碼流高于第二存儲(chǔ)碼流后發(fā)送至執(zhí)行單元3中的第二執(zhí)行單元5,所述第二執(zhí)行單元5根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù),所述存儲(chǔ)單元6存儲(chǔ)包括執(zhí)行單元3中錄入的視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)。通過該視頻數(shù)據(jù)的存儲(chǔ)系統(tǒng)能保證視頻存儲(chǔ)畫面的連續(xù)性,在保證視頻圖像質(zhì)量的同時(shí)實(shí)現(xiàn)不同存儲(chǔ)碼流轉(zhuǎn)換的平滑過渡,而不會(huì)產(chǎn)生畫面的滯留情況,避免錯(cuò)過重要畫面錄像,影響場(chǎng)景監(jiān)控。
[0062]在一具體的實(shí)施例中,所述執(zhí)行單元3還包括預(yù)錄模塊,用于當(dāng)所述調(diào)度單元2判斷執(zhí)行單元3中沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。當(dāng)判斷沒有執(zhí)行中任務(wù)也沒有接收到錄像任務(wù)觸發(fā)指令的時(shí)候?qū)⒆詣?dòng)啟動(dòng)預(yù)錄任務(wù),用于記錄突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的視頻信息,根據(jù)管理的需要可以事前設(shè)置具體的預(yù)錄時(shí)間和視頻畫面質(zhì)量,具體的視頻畫面質(zhì)量包括碼流大小、分辨率等預(yù)錄規(guī)則的設(shè)置,當(dāng)有突發(fā)事件發(fā)生時(shí)需要回調(diào)視頻信息的時(shí)候,可從緩沖區(qū)內(nèi)獲取突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的錄像資料,使突發(fā)事件前后的錄像內(nèi)容完整,以保證對(duì)監(jiān)控范圍內(nèi)的實(shí)時(shí)監(jiān)控。所述預(yù)錄模塊包括啟動(dòng)延時(shí)預(yù)錄模式和場(chǎng)景重組預(yù)錄模式等可選,其中,啟動(dòng)延時(shí)預(yù)錄模式是將存儲(chǔ)任務(wù)啟動(dòng)之前一段時(shí)間內(nèi)視頻數(shù)據(jù)緩存下來,用于解決視頻存儲(chǔ)啟動(dòng)延時(shí)造成的視頻圖像信息丟失問題;場(chǎng)景重組預(yù)錄模式是將在條件觸發(fā)存儲(chǔ)指令觸發(fā)之前一段時(shí)間內(nèi)的視頻數(shù)據(jù)緩存下來,用于為條件觸發(fā)存儲(chǔ)任務(wù)如報(bào)警場(chǎng)景等場(chǎng)景重組提供告警發(fā)生前一端時(shí)間內(nèi)的視頻數(shù)據(jù)。所述預(yù)錄模塊還具有及時(shí)回收過期預(yù)錄數(shù)據(jù)的功能,避免占用內(nèi)存。所述視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)將將針對(duì)每個(gè)視頻源在存儲(chǔ)單元內(nèi)開辟對(duì)應(yīng)的預(yù)錄環(huán)型緩沖區(qū),將視頻預(yù)錄數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在預(yù)錄環(huán)型緩沖區(qū)中,以便工作人員完整的掌握?qǐng)鼍暗膶?shí)時(shí)監(jiān)控。
[0063]請(qǐng)參閱圖4,在一具體的實(shí)施例中,所述調(diào)度單元2具體包括:
[0064]優(yōu)先級(jí)調(diào)度模塊7,用于當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)后,判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù)的優(yōu)先級(jí),以及當(dāng)判定大于時(shí)通知所述第二執(zhí)行單元5執(zhí)行相應(yīng)操作;以及
[0065]碼流調(diào)度模塊8,用于當(dāng)所述優(yōu)先級(jí)調(diào)度模塊7判定新存儲(chǔ)任務(wù)的優(yōu)先級(jí)不大于執(zhí)行中任務(wù)的優(yōu)先級(jí)時(shí),執(zhí)行所述“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”的操作。所述優(yōu)先級(jí)調(diào)度模塊7具有優(yōu)先級(jí)的判斷和通知具體執(zhí)行單元3的功能;而碼流調(diào)度模塊8主要運(yùn)用于在優(yōu)先級(jí)調(diào)度模塊7判定優(yōu)先級(jí)后執(zhí)行的碼流高低的判定和通知具體的執(zhí)行單元3,以便在判斷需要進(jìn)行存儲(chǔ)碼流切換的時(shí)候及時(shí)的通知執(zhí)行單元3進(jìn)行碼流的切換。
[0066]在一具體的實(shí)施例中,所述數(shù)據(jù)接收單元I接收的錄像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。具體的,計(jì)劃觸發(fā)錄像用于用戶根據(jù)管理的需要事前制定錄像計(jì)劃規(guī)則,系統(tǒng)按照錄像計(jì)劃時(shí)間表自動(dòng)觸發(fā)視頻錄像;條件觸發(fā)錄像用于用戶根據(jù)管理需要事前制定條件觸發(fā)錄像計(jì)劃規(guī)則,觸發(fā)的條件包括警報(bào)、事件、聯(lián)動(dòng)、預(yù)案等,具體的觸發(fā)條件一旦產(chǎn)生便立即啟動(dòng)視頻錄像;手動(dòng)觸發(fā)錄像用于用戶根據(jù)管理需要即時(shí)選定錄像目標(biāo)并手動(dòng)啟動(dòng)視頻錄像。錄像任務(wù)觸發(fā)指令中的計(jì)劃觸發(fā)指令參數(shù)包括錄像目標(biāo)、錄像啟動(dòng)時(shí)間、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等;條件觸發(fā)錄像指令參數(shù)包括錄像目標(biāo)、錄像觸發(fā)條件、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等;手動(dòng)觸發(fā)錄像指令參數(shù)包括錄像目標(biāo)、錄像觸發(fā)條件、錄像持續(xù)時(shí)間、錄像畫面碼流和錄像規(guī)則執(zhí)行狀態(tài)等。所述視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)中設(shè)置的優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流,系統(tǒng)在執(zhí)行存儲(chǔ)指令觸發(fā)指令的時(shí)候先進(jìn)行優(yōu)先級(jí)的判斷,優(yōu)先執(zhí)行優(yōu)先級(jí)較高的存儲(chǔ)任務(wù),而優(yōu)先級(jí)較高的存儲(chǔ)任務(wù)對(duì)應(yīng)的存儲(chǔ)碼流較高,將自動(dòng)進(jìn)行存儲(chǔ)碼流的轉(zhuǎn)換;當(dāng)新存儲(chǔ)執(zhí)行優(yōu)先級(jí)不低于執(zhí)行中存儲(chǔ)任務(wù)優(yōu)先級(jí)的情況下再判斷存儲(chǔ)碼流高低的存儲(chǔ)規(guī)則進(jìn)行判斷是否轉(zhuǎn)換存儲(chǔ)中任務(wù)。
[0067]在一具體的實(shí)施例中,當(dāng)所述數(shù)據(jù)接收單元I接收到的觸發(fā)錄像指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元6 ;
[0068]當(dāng)所述數(shù)據(jù)接收單元I接收到的觸發(fā)錄像指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元6 ;
[0069]當(dāng)所述數(shù)據(jù)接收單元I接收到的觸發(fā)錄像指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元6。
[0070]本發(fā)明區(qū)別與現(xiàn)有技術(shù)中的視頻存儲(chǔ)方法及存儲(chǔ)設(shè)備,在視頻高低碼流轉(zhuǎn)碼的過程中無法實(shí)現(xiàn)平滑過渡,在速度及畫面上都會(huì)有所遲鈍和滯留等問題,通過對(duì)不同使用場(chǎng)景設(shè)置相應(yīng)的優(yōu)先級(jí)及對(duì)應(yīng)的存儲(chǔ)碼流,在特殊場(chǎng)景下采用較高碼流進(jìn)行存儲(chǔ)以保證視頻畫面的清晰度,而在平時(shí)普通場(chǎng)景下以極低的碼流進(jìn)行視頻存儲(chǔ)來節(jié)省存儲(chǔ)空間,在錄像過程中需要進(jìn)行高低碼流切換或者接受新的錄像任務(wù)觸發(fā)指令的時(shí)候,數(shù)據(jù)接收單元I將接收到的觸發(fā)指令發(fā)送至調(diào)度單元2,通過調(diào)度單元2判斷執(zhí)行單元3中是否有執(zhí)行中的任務(wù),若無在執(zhí)行中存儲(chǔ)任務(wù)則立即觸發(fā)執(zhí)行單元3執(zhí)行新存儲(chǔ)任務(wù);若存在執(zhí)行中存儲(chǔ)任務(wù),調(diào)度單元2判斷執(zhí)行中存儲(chǔ)任務(wù)與新存儲(chǔ)任務(wù)的優(yōu)先級(jí),執(zhí)行單元3優(yōu)先執(zhí)行優(yōu)先級(jí)較高的存儲(chǔ)任務(wù);當(dāng)新接收的存儲(chǔ)任務(wù)的優(yōu)先級(jí)不高于執(zhí)行單元3中的執(zhí)行中存儲(chǔ)任務(wù)時(shí),調(diào)度單元2進(jìn)而判斷新存儲(chǔ)任務(wù)與執(zhí)行中存儲(chǔ)任務(wù)的碼流高低,當(dāng)新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流不高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流時(shí)將存儲(chǔ)任務(wù)觸發(fā)指令發(fā)送至第一執(zhí)行單元4,第一執(zhí)行單元4根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);若新存儲(chǔ)任務(wù)的第一碼流碼流高于在執(zhí)行單元3中的存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流時(shí)經(jīng)存儲(chǔ)任務(wù)觸發(fā)指令發(fā)送至執(zhí)行單元3的第二執(zhí)行單元5,第二執(zhí)行單元5根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。通過該視頻存儲(chǔ)方法能保證視頻存儲(chǔ)的連續(xù)性,在保證視頻圖像質(zhì)量的同時(shí)實(shí)現(xiàn)不同存儲(chǔ)碼流轉(zhuǎn)換的平滑過渡,而不會(huì)產(chǎn)生畫面的滯留,影響監(jiān)控。同時(shí),在沒有執(zhí)行中任務(wù)的時(shí)候自動(dòng)觸發(fā)預(yù)錄模塊進(jìn)行預(yù)錄任務(wù),用于記錄突發(fā)事件發(fā)生前一段時(shí)間內(nèi)的視頻信息,使突發(fā)事件前后的錄像內(nèi)容完整,以便工作人員完整的掌握?qǐng)鼍暗膶?shí)時(shí)監(jiān)控。再者,所述預(yù)錄功能還可及時(shí)回收過期預(yù)錄數(shù)據(jù)以節(jié)省存儲(chǔ)空間。
[0071]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),其特征在于,所述方法包括步驟: Si:接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,若是,則執(zhí)行步驟S2 ;其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元; S2:判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流,若是,執(zhí)行步驟S4,若否,執(zhí)行步驟S3 ; S3:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù); S4:根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
2.根據(jù)權(quán)利要求1所述的一種支持切換碼流的視頻存儲(chǔ)方法,其特征在于,還包括步驟:當(dāng)判定沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。
3.根據(jù)權(quán)利要求1所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述步驟S2中“判斷是否有執(zhí)行中存儲(chǔ)任務(wù),若是”后面還包括步驟:判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù), 當(dāng)判定大于時(shí),執(zhí)行所述步驟S4,當(dāng)判定不大于時(shí),執(zhí)行步驟S2中的“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”步驟。
4.根據(jù)權(quán)利要求1所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述錄像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。
5.根據(jù)權(quán)利要求1所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)方法,其特征在于, 當(dāng)所述錄像任務(wù)觸發(fā)指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ); 當(dāng)所述錄像任務(wù)觸發(fā)指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ); 當(dāng)所述錄像任務(wù)觸發(fā)指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)。
6.一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),運(yùn)行于監(jiān)控系統(tǒng)的主機(jī)中,監(jiān)控系統(tǒng)包括獲取視頻數(shù)據(jù)的攝像裝置以及與攝像裝置通訊連接的主機(jī),其特征在于,所述支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng)包括: 數(shù)據(jù)接收單元,用于接收視頻數(shù)據(jù),同時(shí)判斷是否新接收到用于執(zhí)行存儲(chǔ)任務(wù)的錄像任務(wù)觸發(fā)指令,其中,所述存儲(chǔ)任務(wù)用于將錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)和索引數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元; 調(diào)度單元,用于當(dāng)所述數(shù)據(jù)接收單元判定新接收到錄像任務(wù)觸發(fā)指令后,判斷是否有執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)時(shí)判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流; 執(zhí)行單元,用于執(zhí)行存儲(chǔ)任務(wù),其中包括: 第一執(zhí)行單元,用于當(dāng)所述調(diào)度單元判定第一存儲(chǔ)碼流不高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后繼續(xù)在剩余執(zhí)行時(shí)間完成執(zhí)行中存儲(chǔ)任務(wù),并當(dāng)完成后下一秒執(zhí)行新存儲(chǔ)任務(wù);以及 第二執(zhí)行單元,用于當(dāng)所述調(diào)度單元判定第一存儲(chǔ)碼流高于第二存儲(chǔ)碼流時(shí),根據(jù)執(zhí)行中存儲(chǔ)任務(wù)的已執(zhí)行時(shí)間和錄像持續(xù)時(shí)間計(jì)算出剩余執(zhí)行時(shí)間,然后當(dāng)執(zhí)行中存儲(chǔ)任務(wù)的下一秒視頻數(shù)據(jù)接收完畢后執(zhí)行新存儲(chǔ)任務(wù)。
7.根據(jù)權(quán)利要求6所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于,所述執(zhí)行單元還包括預(yù)錄模塊,用于當(dāng)所述調(diào)度單元判斷執(zhí)行單元中沒有執(zhí)行任務(wù)中存儲(chǔ)任務(wù)并且沒有接收到錄像任務(wù)觸發(fā)指令時(shí),啟動(dòng)預(yù)錄任務(wù),將視頻數(shù)據(jù)和對(duì)應(yīng)的索引數(shù)據(jù)保存在環(huán)型緩沖區(qū)中。
8.根據(jù)權(quán)利要求6所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于,所述調(diào)度單元具體包括: 優(yōu)先級(jí)調(diào)度模塊,用于當(dāng)判定有執(zhí)行中存儲(chǔ)任務(wù)后,判斷新存儲(chǔ)任務(wù)的優(yōu)先級(jí)是否大于執(zhí)行中任務(wù)的優(yōu)先級(jí),以及當(dāng)判定大于時(shí)通知所述第二執(zhí)行單元執(zhí)行相應(yīng)操作;以及碼流調(diào)度模塊,用于當(dāng)所述優(yōu)先級(jí)調(diào)度模塊判定新存儲(chǔ)任務(wù)的優(yōu)先級(jí)不大于執(zhí)行中任務(wù)的優(yōu)先級(jí)時(shí),執(zhí)行所述“判斷新接收到的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的新存儲(chǔ)任務(wù)的第一存儲(chǔ)碼流是否高于執(zhí)行中存儲(chǔ)任務(wù)的第二存儲(chǔ)碼流”的操作。
9.根據(jù)權(quán)利要求6所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于, 所述數(shù)據(jù)接收單元接收的錄·像任務(wù)觸發(fā)指令的類型包括優(yōu)先級(jí)依次提高的計(jì)劃觸發(fā)錄像指令、手動(dòng)觸發(fā)錄像指令和條件觸發(fā)錄像指令,優(yōu)先級(jí)高的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流大于優(yōu)先級(jí)低的錄像任務(wù)觸發(fā)指令對(duì)應(yīng)的存儲(chǔ)碼流。
10.根據(jù)權(quán)利要求6所述的一種支持切換碼流的視頻數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于, 當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為計(jì)劃觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于從一錄像啟動(dòng)時(shí)間開始,將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元; 當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為條件觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)滿足錄像觸發(fā)條件時(shí),將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元; 當(dāng)所述數(shù)據(jù)接收單元接收到的觸發(fā)錄像指令為手動(dòng)觸發(fā)錄像指令時(shí),存儲(chǔ)任務(wù)具體用于當(dāng)接收到手動(dòng)觸發(fā)錄像指令時(shí),直接將一錄像持續(xù)時(shí)間內(nèi)的視頻數(shù)據(jù)按照存儲(chǔ)碼流存儲(chǔ)至存儲(chǔ)單元。
【文檔編號(hào)】G11B20/10GK103824574SQ201410065673
【公開日】2014年5月28日 申請(qǐng)日期:2014年2月25日 優(yōu)先權(quán)日:2014年2月25日
【發(fā)明者】汪勇, 徐亮, 顧文錦, 林昶榮, 梁子正, 田西澤, 談其揚(yáng) 申請(qǐng)人:深圳市賽為智能股份有限公司