lasticSearch 搜索引擎。
[0049]具體的,在本發(fā)明存儲(chǔ)方法的某些優(yōu)選實(shí)施例中,所述獲取視頻流可以是通過視頻監(jiān)控系統(tǒng)的接口進(jìn)行視頻片段的獲取,因?yàn)橐曨l監(jiān)控系統(tǒng)是外部系統(tǒng),能夠通過該系統(tǒng)提供的接口進(jìn)行視頻片段的截取。其中,當(dāng)通過接口獲取的視頻文件存在文件頭時(shí),將獲取的視頻片段去除視頻文件頭,形成視頻裸流。
[0050]可選的,在本發(fā)明存儲(chǔ)方法的其他優(yōu)選實(shí)施例中,所述獲取視頻流也可以是通過開啟視頻監(jiān)控系統(tǒng)的智能分析功能,定時(shí)自動(dòng)地對(duì)視頻片段進(jìn)行截取。
[0051]進(jìn)一步的,在本發(fā)明存儲(chǔ)方法的某些優(yōu)選的實(shí)施例中,所述對(duì)獲取的視頻流進(jìn)行編碼獲得視頻流壓縮數(shù)據(jù)包的方式是指IPB幀編碼方法,即將視頻流以I幀組的方式來(lái)組織。其中每個(gè)I幀組包括一個(gè)I幀以及其后的多個(gè)P幀和B幀。該優(yōu)選實(shí)施例請(qǐng)參照?qǐng)D2,具體包括以下步驟:
[0052]步驟201,用戶通過監(jiān)控平臺(tái)接口截取視頻片段;
[0053]步驟202,如果獲取的視頻流是文件形式則去除文件頭,形成裸流;
[0054]步驟203,將視頻裸流以I幀組方式組織;
[0055]步驟204,數(shù)據(jù)管理平臺(tái)確定上述裸流的存儲(chǔ)位置,并將位置和每個(gè)I幀組對(duì)應(yīng);
[0056]步驟205,ElasticSearch建立時(shí)間索引表,表示視頻時(shí)間和I幀組的關(guān)系;
[0057]步驟206,ElasticSearch建立硬盤索引表,表示I幀組和硬盤塊的關(guān)系。
[0058]需要說明的是,ElasticSearch將建立的兩層索引先放置到內(nèi)存中,當(dāng)內(nèi)存滿了時(shí)再持久化到硬盤,而視頻基本數(shù)據(jù)可以存儲(chǔ)在HBase中。
[0059]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種基于搜索引擎的視頻片段存儲(chǔ)裝置,請(qǐng)參照?qǐng)D3,所述存儲(chǔ)裝置包括:
[0060]視頻流獲取單元301,用以獲取視頻流;
[0061]編碼單元302,用以將獲取的視頻流進(jìn)行編碼得到若干個(gè)視頻流壓縮數(shù)據(jù)包;
[0062]控制單元303,用以將若干個(gè)視頻流壓縮數(shù)據(jù)包存儲(chǔ)到對(duì)應(yīng)的硬盤塊中,并建立時(shí)間索引表,表示時(shí)間和每個(gè)視頻流壓縮數(shù)據(jù)包之間的關(guān)系,建立硬盤索引表,表示每個(gè)視頻流壓縮數(shù)據(jù)包和硬盤塊之間的關(guān)系。
[0063]可選的,在本發(fā)明存儲(chǔ)裝置的某些優(yōu)選實(shí)施例中,所述搜索引擎是指ElasticSearch 搜索引擎。
[0064]具體的,在本發(fā)明存儲(chǔ)裝置的某些優(yōu)選實(shí)施例中,所述獲取視頻流可以是通過視頻監(jiān)控系統(tǒng)的接口進(jìn)行視頻片段的獲取,因?yàn)橐曨l監(jiān)控系統(tǒng)是外部系統(tǒng),能夠通過該系統(tǒng)提供的接口進(jìn)行視頻片段的截取。其中,當(dāng)通過接口獲取的視頻文件存在文件頭時(shí),將獲取的視頻片段去除視頻文件頭,形成視頻裸流。
[0065]可選的,在本發(fā)明存儲(chǔ)裝置的其他優(yōu)選實(shí)施例中,所述獲取視頻流也可以是通過開啟視頻監(jiān)控系統(tǒng)的智能分析功能,定時(shí)自動(dòng)地對(duì)視頻片段進(jìn)行截取。
[0066]進(jìn)一步的,在本發(fā)明存儲(chǔ)裝置的某些優(yōu)選的實(shí)施例中,所述對(duì)獲取的視頻流進(jìn)行編碼獲得視頻流壓縮數(shù)據(jù)包的方式是指IPB幀編碼方法,即將視頻流以I幀組的方式來(lái)組織。其中每個(gè)I幀組包括一個(gè)I幀以及其后的多個(gè)P幀和B幀。
[0067]需要說明的是,ElasticSearch將建立的兩層索引先放置到內(nèi)存中,當(dāng)內(nèi)存滿了時(shí)再持久化到硬盤,而視頻基本數(shù)據(jù)可以存儲(chǔ)在HBase中。
[0068]本發(fā)明實(shí)施例還對(duì)應(yīng)的提供了一種基于搜索引擎的視頻片段檢索方法,該視頻數(shù)據(jù)根據(jù)上述的存儲(chǔ)方法進(jìn)行存儲(chǔ),所述檢索方法包括以下步驟:
[0069]根據(jù)用戶發(fā)起的請(qǐng)求,確定用戶需要觀看的視頻片段的開始時(shí)間和結(jié)束時(shí)間;
[0070]根據(jù)所述開始時(shí)間在時(shí)間索引表中找到距離開始時(shí)間最近的第一視頻流壓縮數(shù)據(jù)包的信息,根據(jù)所述結(jié)束時(shí)間在時(shí)間索引表中找到距離結(jié)束時(shí)間最近的第二視頻流壓縮數(shù)據(jù)包的信息,以及找到第一視頻流壓縮數(shù)據(jù)包和第二視頻流壓縮數(shù)據(jù)包之間的所有視頻流壓縮數(shù)據(jù)包的信息;
[0071]根據(jù)上述所有的視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到上述所有視頻流壓縮數(shù)據(jù)包對(duì)應(yīng)的硬盤塊;
[0072]從所述硬盤塊中取出所有視頻流壓縮數(shù)據(jù)包,從第一視頻流壓縮數(shù)據(jù)包開始進(jìn)行視頻解碼,當(dāng)解碼到開始時(shí)間點(diǎn)時(shí),將該時(shí)刻的視頻數(shù)據(jù)傳送到指定的客戶端展示窗口,繼續(xù)解碼并傳送視頻數(shù)據(jù)到指定的客戶端展示窗口,直到第二視頻流壓縮數(shù)據(jù)包的結(jié)束時(shí)間點(diǎn)。
[0073]優(yōu)選的,在本發(fā)明視頻片段檢索方法的某些優(yōu)選實(shí)施例中,所述搜索引擎是指ElasticSearch搜索引擎,所述視頻流壓縮數(shù)據(jù)包采用IPB幀編碼方法,即每個(gè)視頻流壓縮數(shù)據(jù)包為一個(gè)I幀組,其中每個(gè)I幀組包括一個(gè)I幀以及其后的多個(gè)P幀和B幀。該優(yōu)選實(shí)施例請(qǐng)參照?qǐng)D4,所述視頻片段檢索方法包括以下步驟:
[0074]步驟401,根據(jù)用戶發(fā)起的請(qǐng)求,確定用戶需要觀看的視頻片段的開始時(shí)間和結(jié)束時(shí)間;
[0075]步驟402,ElasticSearch根據(jù)開始時(shí)間點(diǎn)在時(shí)間索引表中找到距離開始時(shí)間點(diǎn)最近的第一 I幀組的信息和距離結(jié)束時(shí)間點(diǎn)最近的第二 I幀組的信息,找到第一 I幀組和第二I幀組之間的所有I幀組的信息。
[0076]步驟403,ElasticSearch根據(jù)找到的所有I幀信息在硬盤索引表中找到所有I幀組對(duì)應(yīng)的硬盤塊;
[0077]步驟404,取出視頻流,進(jìn)行視頻解碼,一直解碼到開始時(shí)間點(diǎn)后,將該時(shí)刻的視頻傳送到指定的客戶端展示窗口;
[0078]步驟405,解碼完第一 I幀組后,再取出下一個(gè)I幀組進(jìn)行解碼,直到最后一個(gè)I幀組,解碼到結(jié)束時(shí)間點(diǎn)為止。
[0079]本發(fā)明實(shí)施例還相應(yīng)的提供了一種基于搜索引擎的視頻片段檢索裝置,該視頻數(shù)據(jù)存儲(chǔ)在上述的存儲(chǔ)裝置中,請(qǐng)參照?qǐng)D5,所述檢索裝置包括:
[0080]時(shí)間確定單元501,用于根據(jù)用戶發(fā)起的請(qǐng)求,確定用戶需要觀看的視頻片段的開始時(shí)間和結(jié)束時(shí)間;
[0081]檢索單元502,用于根據(jù)所述開始時(shí)間在時(shí)間索引表中找到距離開始時(shí)間最近的第一視頻流壓縮數(shù)據(jù)包的信息,根據(jù)所述結(jié)束時(shí)間在時(shí)間索引表中找到距離結(jié)束時(shí)間最近的第二視頻流壓縮數(shù)據(jù)包的信息,以及找到第一視頻流壓縮數(shù)據(jù)包和第二視頻流壓縮數(shù)據(jù)包之間的所有視頻流壓縮數(shù)據(jù)包的信息,并根據(jù)上述所有的視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到上述所有視頻流壓縮數(shù)據(jù)包對(duì)應(yīng)的硬盤塊;;
[0082]執(zhí)行單元503,用于從所述硬盤塊中取出所有視頻流壓縮數(shù)據(jù)包,從第一視頻流壓縮數(shù)據(jù)包開始進(jìn)行視頻解碼,當(dāng)解碼到開始時(shí)間點(diǎn)時(shí),將該時(shí)刻的視頻數(shù)據(jù)傳送到指定的客戶端展示窗口,繼續(xù)解碼并傳送視頻數(shù)據(jù)到指定的客戶端展示窗口,直到第二視頻流壓縮數(shù)據(jù)包的結(jié)束時(shí)間點(diǎn)。
[0083]優(yōu)選的,在本發(fā)明視頻片段檢索裝置的某些優(yōu)選實(shí)施例中,所述搜索引擎是指ElasticSearch搜索引擎,所述視頻流壓縮數(shù)據(jù)包采用IPB幀編碼方法,即每個(gè)視頻流壓縮數(shù)據(jù)包為一個(gè)I幀組,其中每個(gè)I幀組包括一個(gè)I幀以及其后的多個(gè)P幀和B幀。
[0084]本發(fā)明實(shí)施例還提供了一種基于搜索引擎的視頻快進(jìn)或快退的播放方法,該視頻數(shù)據(jù)根據(jù)上述的存儲(chǔ)方法進(jìn)行存儲(chǔ),所述播放方法包括以下步驟:
[0085]根據(jù)用戶發(fā)起的請(qǐng)求,確定用戶需要快進(jìn)或者快退到的中斷時(shí)間點(diǎn);
[0086]根據(jù)所述中斷時(shí)間點(diǎn)在時(shí)間索引表中找到距離中斷時(shí)間點(diǎn)最近的視頻流壓縮數(shù)據(jù)包的信息;
[0087]根據(jù)上述視頻流壓縮數(shù)據(jù)包的信息在硬盤索引表上找到該視頻流壓縮數(shù)據(jù)包對(duì)應(yīng)的硬盤塊;
[0088]