一種基于搜索引擎的視頻片段檢索方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻監(jiān)控領(lǐng)域,尤其涉及一種基于搜索引擎的視頻片段存儲方法、存儲裝置和一種基于搜索引擎的視頻片段檢索方法、檢索裝置以及一種基于搜索引擎的視頻快進(jìn)或快退的播放方法。
【背景技術(shù)】
[0002]近年來,視頻監(jiān)控行業(yè)得到了快速的發(fā)展。在視頻監(jiān)控行業(yè)中,價值視頻的存儲與回放是連接基礎(chǔ)存儲設(shè)備和視頻綜合管理平臺的關(guān)鍵。價值視頻包括日常觀看過程中認(rèn)為的有價值的視頻、智能分析過程中產(chǎn)生的視頻以及案件偵破過程中產(chǎn)生的視頻圖片資源。隨著系統(tǒng)使用的深入,產(chǎn)生的價值視頻片段越來越多,目前的索引建立機制已經(jīng)不能滿足大量視頻數(shù)據(jù)尤其是千萬級別視頻數(shù)據(jù)檢索的要求。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種針對大量視頻片段檢索的索引機制,滿足千萬級別視頻數(shù)據(jù)檢索的需要。
[0004]為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種基于搜索引擎的視頻片段存儲方法,所述存儲方法包括以下步驟:
[0005]獲取視頻流;
[0006]將獲取的視頻流進(jìn)行編碼得到若干個視頻流壓縮數(shù)據(jù)包;
[0007]將所述視頻流壓縮數(shù)據(jù)包存儲到不同的硬盤塊中;
[0008]建立時間索引表,表示時間和每個視頻流壓縮數(shù)據(jù)包之間的關(guān)系;
[0009]建立硬盤索引表,表示每個視頻流壓縮數(shù)據(jù)包和硬盤塊之間的關(guān)系。
[0010]優(yōu)選的,所述獲取視頻流是指通過視頻監(jiān)控系統(tǒng)的接口截取視頻片段,當(dāng)所述視頻片段存在文件頭時,將獲取的視頻片段去除視頻文件頭,形成視頻裸流。
[0011]優(yōu)選的,所述獲取視頻流是指開啟視頻監(jiān)控系統(tǒng)的智能分析功能,進(jìn)行視頻片段的獲取。
[0012]優(yōu)選的,所述搜索引擎是指ElasticSearch搜索引擎。
[0013]本發(fā)明還提供了一種基于搜索引擎的視頻片段檢索方法,該視頻數(shù)據(jù)根據(jù)上述的存儲方法進(jìn)行存儲,所述檢索方法包括以下步驟:
[0014]根據(jù)用戶發(fā)起的請求,確定用戶需要觀看的視頻片段的開始時間和結(jié)束時間;
[0015]根據(jù)所述開始時間在時間索引表中找到距離開始時間最近的第一視頻流壓縮數(shù)據(jù)包的信息,根據(jù)所述結(jié)束時間在時間索引表中找到距離結(jié)束時間最近的第二視頻流壓縮數(shù)據(jù)包的信息,以及找到第一視頻流壓縮數(shù)據(jù)包和第二視頻流壓縮數(shù)據(jù)包之間的所有視頻流壓縮數(shù)據(jù)包的信息;
[0016]根據(jù)上述所有的視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到上述所有視頻流壓縮數(shù)據(jù)包對應(yīng)的硬盤塊;
[0017]從所述硬盤塊中取出所有視頻流壓縮數(shù)據(jù)包,從第一視頻流壓縮數(shù)據(jù)包開始進(jìn)行視頻解碼,當(dāng)解碼到開始時間點時,將該時刻的視頻數(shù)據(jù)傳送到指定的客戶端展示窗口,繼續(xù)解碼并傳送視頻數(shù)據(jù)到指定的客戶端展示窗口,直到第二視頻流壓縮數(shù)據(jù)包的結(jié)束時間點。
[0018]相應(yīng)的,本發(fā)明還提供了一種基于搜索引擎的視頻片段存儲裝置,所述存儲裝置包括:
[0019]視頻流獲取單元,用以獲取視頻流;
[0020]編碼單元,用以將獲取的視頻流進(jìn)行編碼得到若干個視頻流壓縮數(shù)據(jù)包;
[0021]控制單元,用以將若干個視頻流壓縮數(shù)據(jù)包存儲到對應(yīng)的硬盤塊中,并建立時間索引表,表示時間和每個視頻流壓縮數(shù)據(jù)包之間的關(guān)系,建立硬盤索引表,表示每個視頻流壓縮數(shù)據(jù)包和硬盤塊之間的關(guān)系。
[0022]優(yōu)選的,所述視頻流獲取單元通過視頻監(jiān)控系統(tǒng)的接口截取視頻片段,當(dāng)所述視頻片段存在文件頭時,將獲取的視頻片段去除視頻文件頭,形成視頻裸流。
[0023]優(yōu)選的,所述視頻流獲取單元通過開啟視頻監(jiān)控系統(tǒng)的智能分析功能,進(jìn)行視頻片段的獲取。
[0024]相應(yīng)的,本發(fā)明還提供了一種基于搜索引擎的視頻片段檢索裝置,該視頻數(shù)據(jù)存儲在上述的存儲裝置中,所述檢索裝置包括:
[0025]時間確定單元,用于根據(jù)用戶發(fā)起的請求,確定用戶需要觀看的視頻片段的開始時間和結(jié)束時間;
[0026]檢索單元,用于根據(jù)所述開始時間在時間索引表中找到距離開始時間最近的第一視頻流壓縮數(shù)據(jù)包的信息,根據(jù)所述結(jié)束時間在時間索引表中找到距離結(jié)束時間最近的第二視頻流壓縮數(shù)據(jù)包的信息,以及找到第一視頻流壓縮數(shù)據(jù)包和第二視頻流壓縮數(shù)據(jù)包之間的所有視頻流壓縮數(shù)據(jù)包的信息,并根據(jù)上述所有的視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到上述所有視頻流壓縮數(shù)據(jù)包對應(yīng)的硬盤塊;;
[0027]執(zhí)行單元,用于從所述硬盤塊中取出所有視頻流壓縮數(shù)據(jù)包,從第一視頻流壓縮數(shù)據(jù)包開始進(jìn)行視頻解碼,當(dāng)解碼到開始時間點時,將該時刻的視頻數(shù)據(jù)傳送到指定的客戶端展示窗口,繼續(xù)解碼并傳送視頻數(shù)據(jù)到指定的客戶端展示窗口,直到第二視頻流壓縮數(shù)據(jù)包的結(jié)束時間點。
[0028]本發(fā)明還提供了一種基于搜索引擎的視頻快進(jìn)或快退的播放方法,該視頻數(shù)據(jù)根據(jù)上述的存儲方法進(jìn)行存儲,所述播放方法包括以下步驟:
[0029]根據(jù)用戶發(fā)起的請求,確定用戶需要快進(jìn)或者快退到的中斷時間點;
[0030]根據(jù)所述中斷時間點在時間索引表中找到距離中斷時間點最近的視頻流壓縮數(shù)據(jù)包的信息;
[0031]根據(jù)上述視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到該視頻流壓縮數(shù)據(jù)包對應(yīng)的硬盤塊;
[0032]從該硬盤塊中取出視頻流壓縮數(shù)據(jù)包,進(jìn)行視頻解碼,當(dāng)解碼到中斷時間點時,將該時刻的視頻數(shù)據(jù)傳送到指定的客戶端展示窗口 ;
[0033]繼續(xù)根據(jù)接下來的時間點在時間索引表中找到下一個視頻流壓縮數(shù)據(jù)包的信息,并根據(jù)該視頻流壓縮數(shù)據(jù)包信息在硬盤索引表上找到對應(yīng)的硬盤塊,從硬盤中塊取出視頻流壓縮數(shù)據(jù)包,進(jìn)行視頻解碼并送展示窗口顯示,直到用戶有新的動作后,停止視頻流壓縮數(shù)據(jù)包讀取、視頻解碼和視頻顯示的操作。
[0034]本發(fā)明利用搜索引擎進(jìn)行索引建立和檢索的方式,實時性好,能夠滿足千萬級別視頻數(shù)據(jù)檢索的需要。
【附圖說明】
[0035]圖1是本發(fā)明視頻片段存儲方法的一個實施例的流程圖;
[0036]圖2是本發(fā)明視頻片段存儲方法的一個實施例的流程圖;
[0037]圖3是本發(fā)明視頻片段存儲裝置的一個實施例的結(jié)構(gòu)示意圖;
[0038]圖4是本發(fā)明視頻片段檢索方法的一個實施例的流程圖;
[0039]圖5是本發(fā)明視頻片段檢索裝置的一個實施例的結(jié)構(gòu)示意圖;
[0040]圖6是本發(fā)明視頻快進(jìn)或快退的播放方法的一個實施例的流程圖。
【具體實施方式】
[0041]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0042]請參照圖1,本發(fā)明實施例提供的基于搜索引擎的視頻片段存儲方法包括以下步驟:
[0043]步驟101,獲取視頻流;
[0044]步驟102,將獲取的視頻流進(jìn)行編碼得到若干個視頻流壓縮數(shù)據(jù)包;
[0045]步驟103,將所述視頻流壓縮數(shù)據(jù)包存儲到不同的硬盤塊中;
[0046]步驟104,建立時間索引表,表示時間和每個視頻流壓縮數(shù)據(jù)包之間的關(guān)系;
[0047]步驟105,建立硬盤索引表,表示每個視頻流壓縮數(shù)據(jù)包和硬盤塊之間的關(guān)系。
[0048]可選的,在本發(fā)明存儲方法的某些優(yōu)選實施例中,所述搜索引擎是指E