亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種視頻文件索引信息的構(gòu)建和查詢方法及裝置與流程

文檔序號:12824992閱讀:195來源:國知局
一種視頻文件索引信息的構(gòu)建和查詢方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種視頻文件索引信息的構(gòu)建和查詢方法及裝置。



背景技術(shù):

視頻文件存儲在磁盤中,一般數(shù)據(jù)量非常大,單機(jī)容量可達(dá)tb級別,快速的構(gòu)建磁盤中視頻文件的存儲狀態(tài)索引,并且能夠根據(jù)查詢關(guān)鍵字快速定位視頻文件,就顯得尤為重要。

在現(xiàn)有技術(shù)中,在構(gòu)建視頻文件的索引信息時,是一個視頻文件對應(yīng)一個索引文件,然而一個視頻源會產(chǎn)生多個視頻文件,因此可能會有非常多的索引文件,索引文件中包括視頻文件的開始時間和結(jié)束時間,該視頻文件的存儲地址的信息,視頻文件的大小和類型等,不同的索引文件的數(shù)據(jù)類型用途也不同。在構(gòu)建索引文件時,每個索引文件保存有該視頻文件的索引信息,但該視頻文件到底記錄的是什么事件,在索引文件中并沒有體現(xiàn)出來,這樣在查詢某一個視頻源中的某一個事件的類型的索引數(shù)據(jù),或某一個視頻源的某一個時間段的索引數(shù)據(jù)時,要遍歷所有的索引文件,當(dāng)索引文件的數(shù)據(jù)量很大時往往整個過程消耗數(shù)分鐘,甚至更長時間,影響查詢效率,并且即使定位出來索引文件,但是該索引文件記錄的該視頻文件到底是不是關(guān)于這種類型的事件,也還是無法確定,只有查找到了該索引文件對應(yīng)的視頻文件,并通過人工為判定才能確定,因此現(xiàn)有技術(shù)中通過索引文件無法有效的提高視頻文件的查詢效率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,用以解決現(xiàn)有技術(shù)中,在查詢索引文件的數(shù)據(jù)時效率低的問題。

為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建方法,該方法包括:

針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;

如果否,建立所述視頻源對應(yīng)的索引文件;

如果是,針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

進(jìn)一步地,所述針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型之前,所述方法還包括:

根據(jù)所述視頻文件對應(yīng)的時間段,判斷所述索引文件中是否保存有所述時間段對應(yīng)的第一時間周期的索引記錄;

如果否,在所述索引文件中建立所述時間段對應(yīng)的第一時間周期的索引記錄;

如果是,針對所述索引文件中所述時間段對應(yīng)的時間周期的索引記錄進(jìn)行后續(xù)操作。

進(jìn)一步地,所述判斷是否保存有采集所述視頻文件的視頻源的索引文件包括:

判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;

將所述視頻文件中的每個關(guān)鍵幀的索引信息記錄到索引文件中后,所述方法還包括:

判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;

如果是,將緩存文件中的索引信息進(jìn)行保存。

進(jìn)一步地,所述判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件包括:

判斷當(dāng)前緩存時間是否達(dá)到將索引信息進(jìn)行保存的第二時間周期閾值;

判斷當(dāng)前緩存文件的存儲容量是否達(dá)到最大閾值。

進(jìn)一步地,所述將緩存文件中的索引信息進(jìn)行保存包括:

針對所述索引文件,按照索引信息保存條件對應(yīng)的規(guī)則對所述索引文件中的索引信息劃分到每個索引子文件中;

依次保存每個索引子文件。

進(jìn)一步地,所述方法還包括:

根據(jù)所述索引子信息中的開始時間對應(yīng)的第一關(guān)鍵幀和結(jié)束時間對應(yīng)的第二關(guān)鍵幀的存儲位置,在所述索引子信息中保存所述存儲位置的信息。

進(jìn)一步地,所述方法還包括:

根據(jù)索引子信息對應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時間對應(yīng)的視頻幀和結(jié)束時間對應(yīng)的視頻幀的存儲位置,在所述索引信息中保存有所述存儲位置的信息。

本發(fā)明實(shí)施例公開了一種基于所述視頻文件索引信息的構(gòu)建方法的視頻文件索引信息的查詢方法,所述方法包括:

接收用戶發(fā)送的索引信息的查詢請求,其中所述查詢請求中攜帶待查詢的視頻源的標(biāo)識信息、事件的類型及所述類型的事件發(fā)生的時間的信息;

根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;

如果是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息并顯示。

進(jìn)一步地,所述在所述索引文件中查找是否包含所述類型的事件的索引信息之前,所述方法還包括:

根據(jù)所述類型的事件發(fā)生的時間,確定所述時間對應(yīng)的第三時間周期;

判斷所述索引文件中是否保存有所述第三時間周期對應(yīng)的索引記錄;

如果是,進(jìn)行后續(xù)步驟。

進(jìn)一步地,所述根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件包括:

在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;

如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。

進(jìn)一步地,所述方法還包括:

根據(jù)查找到的索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息,及索引文件中記錄的每個關(guān)鍵幀的存儲位置的信息,查找與所述對應(yīng)的索引子信息對應(yīng)的關(guān)鍵幀的存儲位置;

獲取所述存儲位置存儲的關(guān)鍵幀并展示。

本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建裝置,所述裝置包括:

判斷模塊,用于針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;

建立模塊,用于如果判斷模塊的判斷結(jié)果為否,建立所述視頻源對應(yīng)的索引文件;

建立模塊,還用于如果判斷模塊的判斷結(jié)果為是,針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

進(jìn)一步地,所述建立模塊,還用于根據(jù)所述視頻文件對應(yīng)的時間段,判斷所述索引文件中是否保存有所述時間段對應(yīng)的第一時間周期的索引記錄;如果否,在所述索引文件中建立所述時間段對應(yīng)的第一時間周期的索引記錄;如果是,針對所述索引文件中所述時間段對應(yīng)的時間周期的索引記錄進(jìn)行后續(xù)操作。

進(jìn)一步地,所述判斷模塊,具體用于判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;

所述裝置還包括:

判斷保存模塊,用于判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;如果是,將緩存文件中的索引信息進(jìn)行保存。

進(jìn)一步地,所述判斷保存模塊,具體用于判斷當(dāng)前緩存時間是否達(dá)到將索引信息進(jìn)行保存的第二時間周期閾值;判斷當(dāng)前緩存文件的存儲容量是否達(dá)到最大閾值。

進(jìn)一步地,所述判斷保存模塊,具體用于針對所述索引文件,按照索引信息保存條件對應(yīng)的規(guī)則對所述索引文件中的索引信息劃分到每個索引子文件中;依次保存每個索引子文件。

進(jìn)一步地,所述裝置還包括:

保存模塊,用于根據(jù)所述索引子信息中的開始時間對應(yīng)的第一關(guān)鍵幀和結(jié)束時間對應(yīng)的第二關(guān)鍵幀的存儲位置,在所述索引子信息中保存所述存儲位置的信息。

進(jìn)一步地,所述保存模塊,還用于根據(jù)索引子信息對應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時間對應(yīng)的視頻幀和結(jié)束時間對應(yīng)的視頻幀的存儲位置,在所述索引信息中保存有所述存儲位置的信息。

本發(fā)明實(shí)施例公開了一種基于所述視頻文件索引信息的構(gòu)建裝置的視頻文件索引信息的查詢裝置,所述裝置包括:

接收模塊,用于接收用戶發(fā)送的索引信息的查詢請求,其中所述查詢請求中攜帶待查詢的視頻源的標(biāo)識信息、事件的類型及所述類型的事件發(fā)生的時間的信息;

查找模塊,用于根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;

顯示模塊,用于如果查找模塊的查找結(jié)果為是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息并顯示。

進(jìn)一步地,所述裝置還包括:

確定判斷模塊,用于根據(jù)所述類型的事件發(fā)生的時間,確定所述時間對應(yīng)的第三時間周期;判斷所述索引文件中是否保存有所述第三時間周期對應(yīng)的索引記錄;如果是,進(jìn)行后續(xù)步驟。

進(jìn)一步地,所述查找模塊,具體用于在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。

進(jìn)一步地,所述顯示模塊,還用于根據(jù)查找到的索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息,及索引文件中記錄的每個關(guān)鍵幀的存儲位置的信息,查找與所述對應(yīng)的索引子信息對應(yīng)的關(guān)鍵幀的存儲位置;獲取所述存儲位置存儲的關(guān)鍵幀并展示。

本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,所述方法包括:針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;如果否,建立所述視頻源對應(yīng)的索引文件;如果是,針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。由于在本發(fā)明實(shí)施例中每個視頻源對應(yīng)一個索引文件,并且該索引文件中針對每種類型的事件保存有對應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對應(yīng)的開始時間和結(jié)束時間,因此方便了索引信息的查詢,提高了查詢的效率。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例1提供的一種視頻文件索引信息的構(gòu)建過程示意圖;

圖2為本發(fā)明實(shí)施例提供的一種視頻源采集的視頻文件的索引示意圖;

圖3a為本發(fā)明實(shí)施例提供的一種索引文件示意圖;

圖3b為本發(fā)明實(shí)施例提供的一種將索引記錄保存到索引文件的過程示意圖;

圖3c為本發(fā)明實(shí)施例提供的一種視頻文件的在虛擬存儲空間的映射表圖;

圖3d為本發(fā)明實(shí)施例提供的一種視頻文件虛擬存儲空間的起始偏移量、長度的信息圖;

圖3e為本發(fā)明實(shí)施例提供的一種重新建立索引記錄的過程示意圖;

圖4為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢過程示意圖;

圖5為本發(fā)明實(shí)施例提供的一種在索引文件中查找索引記錄的過程示意圖;

圖6為本發(fā)明實(shí)施例1提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖;

圖7為本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖;

圖8為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢裝置結(jié)構(gòu)圖;

圖9為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的查詢裝置。

具體實(shí)施方式

為了提高查詢索引文件的速度,本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置。

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例1:

圖1為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的構(gòu)建過程示意圖,該過程包括以下步驟:

s101:針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件,如果否,進(jìn)行s102,如果是,進(jìn)行s103。

本發(fā)明實(shí)施例提供的視頻文件索引信息的構(gòu)建方法可以應(yīng)用于電子設(shè)備,該電子設(shè)備中針對每個視頻源保存有該視頻源對應(yīng)的索引文件。電子設(shè)備可以保存視頻文件,每個視頻文件對應(yīng)的視頻源可以相同,也可以不同。電子設(shè)備可以針對每個視頻文件建立對應(yīng)的索引。電子設(shè)備針對待建立索引的視頻文件,可以識別出采集所述視頻文件的視頻源的標(biāo)識信息,并判斷是否保存所述標(biāo)識信息的視頻源的索引文件。所述視頻源的標(biāo)識信息可以是視頻源的設(shè)備號,可以是視頻源所在位置的信息等。

s102:建立所述視頻源對應(yīng)的索引文件,進(jìn)行后續(xù)步驟。

如果電子設(shè)備判斷出沒有保存該視頻源的索引文件,則建立所述視頻源的索引文件。具體的,在電子設(shè)備中可以針對該視頻源的標(biāo)識信息,對應(yīng)該標(biāo)識信息建立該視頻源的索引文件。

s103:針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果是,進(jìn)行s105,如果否,進(jìn)行s104。

電子設(shè)備可以識別視頻文件中的關(guān)鍵幀,并且可以根據(jù)預(yù)先保存的識別方式,識別所述關(guān)鍵幀包含的事件的類型。所述事件的類型可以是包含人臉的事件、包含車牌的事件等。

在電子設(shè)備的每個索引文件中,可以針對每種類型的事件,保存該類型的事件對應(yīng)的索引信息,每條索引信息中保存著事件的類型的信息及至少一條索引子信息,每條索引子信息中保存著該類型的事件的開始時間和結(jié)束時間。

當(dāng)電子設(shè)備識別所述關(guān)鍵幀包含的事件的第一類型,并判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息,其中所述索引信息中可以包含事件的類型的信息。每條索引信息中包含至少一條索引子信息,所述索引子信息中包含該類型的事件的開始時間和結(jié)束時間。

s104:在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息,進(jìn)行后續(xù)步驟。

如果電子設(shè)備判斷出索引文件中沒有保存所述第一類型的事件對應(yīng)的索引信息,則在所述索引文件中建立所述第一類型的事件的索引信息,所述索引信息中包含所述事件的類型的信息,并在建立的索引信息中再建立索引子信息,其中,所述索引子信息中包含該類型的事件的開始時間和結(jié)束時間,所述開始時間可以是所述關(guān)鍵幀的第一時間,所述結(jié)束時間可以是電子設(shè)備針對開始時間,自動生成的時間。

電子設(shè)備在識別出所述關(guān)鍵幀包含的事件的類型時,可以針對每種類型的事件分配對應(yīng)的標(biāo)識,針對每種類型的事件對應(yīng)的標(biāo)識建立索引信息。例如,可以是電子設(shè)備識別出所述關(guān)鍵幀包含的事件的類型為人臉,給該人臉分配對應(yīng)的標(biāo)識為a。電子設(shè)備識別到所述索引文件中沒有包含事件的類型為a的事件對應(yīng)的索引信息,則在所述索引文件中建立事件的類型為a的事件的索引信息a。該索引信息a中包含事件的類型的標(biāo)識為a,并在所述索引信息a中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息,假如所述關(guān)鍵幀的第一時間為1:00,電子設(shè)備根據(jù)開始時間1:00自動生成的結(jié)束時間為1:01,則建立的索引子信息為[1:00-1:01]。則建立的索引信息a可以包括:類型a:[1:00-1:01]。

例如,可以是電子設(shè)備識別出所述關(guān)鍵幀包含的事件的類型為車牌,給該車牌分配對應(yīng)的標(biāo)識為b,電子設(shè)備識別到所述索引文件中沒有包含事件的類型的標(biāo)識為為b的事件對應(yīng)的索引信息,則在所述索引文件中建立事件的類型為的標(biāo)識為b的事件的索引信息b。該索引信息b中包含事件的類型的標(biāo)識為b,并在所述索引信息b中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息,假如所述關(guān)鍵幀的第一時間為1:20,電子設(shè)備根據(jù)開始時間1:20自動生成的結(jié)束時間為1:21,則建立的索引子信息為[1:20-1:21]。則建立的索引信息b可以包括:類型b:[1:20-1:21]。

s105:判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果否,進(jìn)行s106,如果是,進(jìn)行s107。

電子設(shè)備識別出視頻文件的關(guān)鍵幀后,識別該第一關(guān)鍵幀中包含的事件的類型并保存,當(dāng)識別出下一關(guān)鍵幀時,該關(guān)鍵幀則為所述下一關(guān)鍵幀的上一關(guān)鍵幀,此時所述下一關(guān)鍵幀則為所述關(guān)鍵幀,電子設(shè)備識別所述關(guān)鍵幀包含的事件的第一類型與保存的上一關(guān)鍵幀的類型是否相同,若相同,則保存的事件的類型不變,若不相同,則將保存的事件的類型更新為所述關(guān)鍵幀包含的事件的第一類型,電子設(shè)備每識別出一個關(guān)鍵幀都會進(jìn)行事件的類型的判斷,從而確定是否進(jìn)行更新。

如果電子設(shè)備判斷出該索引文件中保存有所述第一類型的事件對應(yīng)的索引信息,則判斷該視頻文件中保存的所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述關(guān)鍵幀包含的事件的第一類型相同。

s106:在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

如果電子設(shè)備判斷出該視頻文件中所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型與所述關(guān)鍵幀包含的事件的第一類型不同,可以確定該視頻文件中包含第一類型的事件,并且可以認(rèn)為該關(guān)鍵幀為該第一類型的事件的第一幀,因此可以在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

電子設(shè)備在識別出所述關(guān)鍵幀包含的事件的類型時,可以針對每種類型的事件分配對應(yīng)的標(biāo)識,針對每種類型的事件對應(yīng)的標(biāo)識建立索引信息。具體的該步驟與上述s104相同,在這里就不再贅述。

s107:在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間。

當(dāng)建立了第一類型的事件對應(yīng)的索引信息后,可以根據(jù)每個包含第一類型的事件的關(guān)鍵幀,對該第一類型的事件中每個索引子信息中的結(jié)束時間進(jìn)行更新。具體的,如果包含第一類型的事件的關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型不同,則該關(guān)鍵幀為索引子信息的開始時間,并將該索引子信息的結(jié)束時間設(shè)置為一個默認(rèn)時間,或者將其結(jié)束時間設(shè)置為與開始時間相同的時間,如果該關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型相同,說明該事件的索引子信息已經(jīng)建立,可以根據(jù)該關(guān)鍵幀的時間對索引子信息中的結(jié)束時間進(jìn)行更新。

例如,可以是所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型為人臉,給該人臉分配對應(yīng)的標(biāo)識為a,所述關(guān)鍵幀包含的事件的類型的標(biāo)識也為a,假如索引信息a包括:類型a:[1:00-1:01],則該索引信息a中的最后一條的索引子信息為[1:00-1:01],該索引子信息的開始時間是上一關(guān)鍵幀的時間,因此該關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型相同,所以需要根據(jù)該關(guān)鍵幀的時間對該最后一條索引子信息中的結(jié)束時間進(jìn)行更新。假如所述關(guān)鍵幀的第一時間為1:05,則將所述索引子信息的結(jié)束時間為1:01更新為1:05,更新后的索引子信息為[1:00-1:05],則索引信息a包括:類型a:[1:00-1:05]。

由于在本發(fā)明實(shí)施例中每個視頻源對應(yīng)一個索引文件,并且該索引文件中針對每種類型的事件保存有對應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對應(yīng)的開始時間和結(jié)束時間,因此方便了索引信息的查詢,提高了查詢的效率。

實(shí)施例2:

為了方便索引信息的查找,在針對每個視頻源建立該視頻源對應(yīng)的索引文件時,可以將該視頻源設(shè)定時間長度內(nèi)采集的視頻文件的索引保存為一個索引文件,并將該設(shè)定的時間長度劃分為至少兩個時間周期,在索引文件中針對每個時間周期保存該時間周期對應(yīng)的索引記錄。因此,在上述實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型之前,所述方法還包括:

根據(jù)所述視頻文件對應(yīng)的時間段,判斷所述索引文件中是否保存有所述時間段對應(yīng)的第一時間周期的索引記錄;

如果否,在所述索引文件中建立所述時間段對應(yīng)的第一時間周期的索引記錄;

如果是,針對所述索引文件中所述時間段對應(yīng)的時間周期的索引記錄進(jìn)行后續(xù)操作。

電子設(shè)備針對每個視頻源建立該視頻源對應(yīng)的索引文件,根據(jù)該視頻源采集的視頻文件的時間,在該索引文件中建立有多條索引記錄,其中每條索引記錄中記錄有在對應(yīng)時間周期采集的視頻文件的索引信息,具體的在每條索引記錄中可以針對每種類型的事件,保存該類型的事件對應(yīng)的索引子信息。

其中該時間周期可以是預(yù)先設(shè)定的時間長度,例如可以是12小時,24小時等。因?yàn)樵跇?gòu)建索引時是根據(jù)視頻文件的采集時間,依次建立索引的,因此可以針對設(shè)定時間長度內(nèi)采集的視頻文件,將該設(shè)定時間長度劃分至少兩個時間周期,從而進(jìn)行索引建立。例如該設(shè)定時間長度可以是3天,72小時,時間周期可以是24小時,則可知針對每個視頻源在3天內(nèi)采集的視頻文件,將會建立一個索引文件,在該索引文件中包含3條索引記錄,每條索引記錄中記錄有在該對應(yīng)的時間周期內(nèi)發(fā)生的事件對應(yīng)的索引子信息。

在本發(fā)明實(shí)施例中,電子設(shè)備針對待建立索引的視頻文件,可以識別出采集所述視頻文件的視頻源的標(biāo)識信息,并判斷是否保存有所述標(biāo)識信息的視頻源的索引文件。所述視頻源的標(biāo)識信息可以是視頻源的設(shè)備號,可以是視頻源所在位置的信息等唯一標(biāo)識該視頻源的信息。電子設(shè)備針對待建立索引的視頻文件,可以識別出所述視頻文件對應(yīng)的時間段,即該視頻文件的開始時間和結(jié)束時間。

如果電子設(shè)備判斷出沒有保存采集所述視頻文件的視頻源的索引文件,則根據(jù)所述視頻源的標(biāo)識信息,建立對應(yīng)所述視頻源的標(biāo)識信息的索引文件。并根據(jù)該視頻文件對應(yīng)的時間周期,在該索引文件中建立對應(yīng)的索引記錄,根據(jù)該視頻文件中包含的事件的類型,在該索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

如果電子設(shè)備判斷出保存有采集所述視頻文件的視頻源的索引文件,可以根據(jù)識別出的所述視頻文件對應(yīng)的時間段,判斷所述索引文件中是否保存有所述時間段對應(yīng)的第一時間周期的索引記錄。如果電子設(shè)備判斷出所述索引文件中沒有保存所述時間段對應(yīng)的第一時間周期的索引記錄,可以是所述視頻文件為所述第一時間周期內(nèi)的第一個視頻文件,電子設(shè)備可以在所述索引文件中建立所述時間段對應(yīng)的第一時間周期的索引記錄,根據(jù)該視頻文件中包含的事件的類型,在該索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

如果電子設(shè)備判斷出所述索引文件中保存有所述時間段對應(yīng)的第一時間周期的索引記錄,可以針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引記錄中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

圖2所示為某一視頻源在[2016年11月1日,2016年11月30日]采集的所有視頻文件的索引,在該視頻源對應(yīng)的索引文件中,針對每一天保存有一條索引記錄,在每一條索引記錄中針對不同的事件,保存有對應(yīng)的索引信息,在索引信息中包含有索引子信息,該索引子信息中記錄有對應(yīng)事件的開始時間和結(jié)束時間。

具體的,如圖2所示,第一天11月1日對應(yīng)第一條索引記錄,則該第一條索引記錄中包含有3個視頻文件的索引信息,其中針對每個視頻文件保存有該視頻文件對應(yīng)的時間段的信息,例如圖2所示的,視頻文件1的開始時間為1:00,結(jié)束時間為3:30,視頻文件2的開始時間為4:00,結(jié)束時間為5:30,視頻文件3的開始時間為12:00,結(jié)束時間為13:00。

并且,針對每個視頻文件,根據(jù)該視頻文件包含的事件的類型,保存有對應(yīng)的索引子信息,在每條索引子信息中記錄有對應(yīng)事件的開始時間和結(jié)束時間。具體參見圖2所示,視頻文件1、視頻文件2和視頻文件3中均包含類型為a和類型為b的事件,因此在索引文件中記錄有類型為a的事件和類型為b的事件對應(yīng)的每條索引子信息,其中視頻文件1中包含的類型為a的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為1:00,結(jié)束時間為1:05,類型為b的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為1:20,結(jié)束時間為1:25。視頻文件2中包含的類型為a的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為5:00,結(jié)束時間為5:05,類型為b的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為5:20,結(jié)束時間為5:25。視頻文件3中包含的類型為a的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為12:00,結(jié)束時間為12:10,類型為b的事件對應(yīng)的一條索引子信息中記錄有該事件的開始時間為12:30,結(jié)束時間為12:40。

如圖2所示,第二天11月2日對應(yīng)第二條索引記錄,因?yàn)?1月2日該視頻源沒有采集視頻文件,因此該索引記錄沒有保存對應(yīng)的索引信息。

第三天11月3日對應(yīng)第三條索引記錄,該第三條索引記錄中包含有2個視頻文件,其中,針對每個視頻文件保存該視頻文件的時間段信息。視頻文件1的開始時間為1:00,結(jié)束時間為3:30,視頻文件2的開始時間為4:00,結(jié)束時間為5:30。并且,針對每個視頻文件,根據(jù)該視頻文件包含的事件的類型,保存有對應(yīng)的索引子信息,在每條索引子信息中記錄有對應(yīng)事件的開始時間和結(jié)束時間。該視頻文件包含的內(nèi)容和第一條索引記錄中的視頻文件內(nèi)容相似,在這里不進(jìn)行贅述。

第三十天11月30日對應(yīng)第三十條索引記錄,該第三十條索引記錄中包含一個視頻文件,其中,針對該視頻文件1保存該視頻文件1的時間段信息。視頻文件1的開始時間為1:00,結(jié)束時間為3:30。并且針對該視頻文件1,根據(jù)該視頻文件1包含的事件的類型,保存有對應(yīng)的索引子信息,在每條索引子信息中記錄有對應(yīng)事件的開始時間和結(jié)束時間。視頻文件1中包含類型為b的事件,因此在索引文件中記錄有類型為b的事件對應(yīng)的3條索引子信息,其中視頻文件1中包含的類型為b的事件對應(yīng)的第一條索引子信息中記錄有該事件的開始時間為1:20,結(jié)束時間為1:25,第二條索引子信息中記錄有該事件的開始時間為5:20,結(jié)束時間為5:25,第三條索引子信息中記錄有該事件的開始時間為12:30,結(jié)束時間為12:40。

每條索引記錄中包含的事件的類型可以相同,也可以不同。將針對每個視頻文件對應(yīng)的索引子信息按照設(shè)定的時間周期建立在一起,生成的一條條索引記錄。這樣在用戶想查詢某一個時間周期的索引子信息時,可以索引記錄的時間信息方便快速的查找出來,提高了查詢了效率。

實(shí)施例3:

電子設(shè)備在保存所述視頻源的索引文件時,可以先將該索引文件暫時保存到緩存空間中,一般緩存空間的存儲容量較小,這樣在查詢所述索引文件時,可以快速的查找到。當(dāng)緩存空間的設(shè)定存儲容量被占滿時,則可以將緩存空間的索引文件進(jìn)行保存。

所述判斷是否保存有采集所述視頻文件的視頻源的索引文件包括:

判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;

將所述視頻文件中的每個關(guān)鍵幀的索引信息記錄到索引文件中后,所述方法還包括:

判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;

如果是,將緩存文件中的索引信息進(jìn)行保存。

在本發(fā)明實(shí)施例中,電子設(shè)備在判斷是否保存有采集所述視頻文件的視頻源的索引文件時,因?yàn)槭菍⑺饕畔⑾扔涗浀骄彺嬷械?,因此電子設(shè)備先判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件。當(dāng)電子設(shè)備判斷緩存文件中保存有所述索引文件時,可以將所述視頻文件中的每個關(guān)鍵幀的索引信息記錄到所述索引文件中,當(dāng)電子設(shè)備判斷緩存文件中沒有保存所述索引文件時,可以在緩存中先建立所述視頻源對應(yīng)的索引文件,再將視頻文件中的每個關(guān)鍵幀的索引信息記錄到所述索引文件中。

當(dāng)電子設(shè)備將視頻文件中的每個關(guān)鍵幀的索引信息記錄到所述索引文件中后,因?yàn)樗饕募潜4嬖诰彺嫖募械?,一般情況下,緩存文件中保存的索引信息容易被覆蓋或不能長久保存,電子設(shè)備可以判斷當(dāng)前是否滿足將所述索引文件中的索引信息保存的條件時,如果是,則將緩存文件中的索引信息進(jìn)行保存,該保存可以是保存到電子設(shè)備的存儲空間中。電子設(shè)備判斷當(dāng)前是否滿足將所述索引文件中的索引信息保存的條件時,可以是判斷是否接收到用戶保存指令,當(dāng)電子設(shè)備接收到用戶的保存指令時,將緩存文件中的索引信息進(jìn)行保存,或者判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件還可以包括:

判斷當(dāng)前緩存時間是否達(dá)到將索引信息進(jìn)行保存的時間周期;

判斷當(dāng)前緩存文件的存儲容量是否達(dá)到設(shè)定閾值。

電子設(shè)備中設(shè)定有將索引信息進(jìn)行保存的時間周期,所述時間周期可以是任意時間長度,例如2個小時、48個小時,即2天,也可以是與索引記錄的第一時間周期相同。當(dāng)設(shè)定的將索引信息進(jìn)行保存的時間周期與索引記錄的第一時間周期相同時,則保存的該第一時間周期的所有索引信息即為一條索引記錄。

電子設(shè)備分配給了緩存文件一定的緩存空間,該緩存空間的存儲容量則是確定的值,緩存文件的數(shù)據(jù)量不能超過緩存空間的存儲容量。電子設(shè)備判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件時,可以是判斷當(dāng)前緩存文件的存儲容量是否達(dá)到設(shè)定閾值,當(dāng)判斷出當(dāng)前緩存文件的存儲容量達(dá)到設(shè)定閾值,則滿足將緩存文件中的索引信息進(jìn)行保存的條件,則將緩存文件中的索引信息進(jìn)行保存。其中該設(shè)定閾值可以為該緩存空間的存儲容量,或者也可以是該存儲容量的95%、90%等對應(yīng)的數(shù)值。

所述將緩存文件中的索引信息進(jìn)行保存包括:

針對所述索引文件,按照索引信息保存條件對應(yīng)的規(guī)則對所述索引文件中的索引信息劃分到每個索引子文件中;

依次保存每個索引子文件。

電子設(shè)備在將所述將緩存文件中的索引信息進(jìn)行保存時,可以是針對每個索引文件,按照設(shè)定的第二時間周期對所述索引文件中的索引信息劃分到每個索引子文件中,依次保存每個索引子文件。所述第二時間周期可以是與所述索引文件中的索引記錄的第一時間周期相同的時間周期,也可以是與所述第一時間周期不同的任意時間周期。當(dāng)所述第二時間周期與所述第一時間周期相同時,則所述索引子文件即為所述索引記錄。依次保存每個索引子文件即為依次保存每個索引記錄。例如每個索引文件中記錄有對應(yīng)的視頻源在3天內(nèi)采集的視頻文件的索引,可以按照時間周期為一天將所述索引文件劃分為索引子文件,則該索引文件中包含3個索引子文件。

電子設(shè)備在將所述將緩存文件中的索引信息進(jìn)行保存時,也可以是針對緩存空間的存儲容量,將達(dá)到緩存空間的存儲容量閾值時的時間段所對應(yīng)的第二時間周期中所有索引信息劃分到每個索引子文件中。緩存空間的存儲容量由0達(dá)到閾值時的時間段,可以是大于第二時間周期的,則將該時間段中包含該第二時間周期的時間段中的所有索引信息劃分到一個索引子文件中。緩存空間的存儲容量由0達(dá)到閾值時的時間段,可以是小于第二時間周期的,則將該時間段中的所有索引信息劃分到一個索引子文件中。

如圖3a所示的索引文件示意圖,所述第二時間周期與所述第一時間周期相同,該圖3a中的索引記錄即為索引子文件。索引文件中保存有索引記錄(索引子文件)1、索引記錄(索引子文件)2、……、索引記錄(索引子文件)n,索引文件中還保存有頁腳footer和元數(shù)據(jù)metadata,其中,metadata中保存有索引記錄(索引子文件)的數(shù)量number和每條索引記錄(索引子文件)在索引文件中的偏移量offset和大小信息size,footer的長度是固定的,footer中保存有metadata的偏移量、長度、開始時間和結(jié)束時間。

在將索引記錄(索引子文件)n+1保存索引文件中時,具體地可以參考圖3b所示的過程示意圖:

s201:將索引文件的讀寫位置移動到所述索引文件的尾部,讀取所述索引文件的footer。

s202:根據(jù)讀取的footer解析出所述索引文件的metadata在索引文件中的起始地址。

s203:根據(jù)所述metadata在所述索引文件中的起始地址,讀取所述metadata中的數(shù)據(jù)信息,識別所述數(shù)據(jù)信息中的最后一條索引記錄n的偏移量信息和大小信息。

s204:將所述footer和metadata寫入臨時文件中,將新的索引記錄n+1在索引文件的metadata的開始位置開始寫入。

s205:根據(jù)所述新的索引記錄的偏移量信息及大小信息,更新所述metadata。

s206:將所述更新后的metadata在所述索引文件的所述更新后的索引記錄的結(jié)束位置開始寫入。

s207:根據(jù)所述更新后的metadata的偏移量及長度,更新所述footer。

s208:將所述更新后的footer在所述索引文件的所述更新后的metadata的結(jié)束位置開始寫入。

s209:刪除所述臨時文件。

一般情況下,metadata和footer會被存在緩存中,這樣可以提高索引寫入效率。具體根據(jù)在存儲空間中寫入已建立的索引的信息的方法將metadata和footer寫入緩存中,在存儲空間中寫入已建立的索引的信息的過程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中不再進(jìn)行贅述。

實(shí)施例4:

電子設(shè)備將視頻文件中的各種類型的事件對應(yīng)建立索引子信息,為了可以根據(jù)索引子信息快速查找到該索引子信息中的關(guān)鍵幀的內(nèi)容并展示,在上述各實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述方法還包括:

根據(jù)所述索引子信息中的開始時間對應(yīng)的第一關(guān)鍵幀和結(jié)束時間對應(yīng)的第二關(guān)鍵幀的存儲位置,在所述索引子信息中保存所述存儲位置的信息。

在本發(fā)明實(shí)施例中,電子設(shè)備中保存有視頻文件中的關(guān)鍵幀包含的各種類型的事件對應(yīng)的索引子信息,該索引子信息中保存有該類型的事件的開始時間和結(jié)束時間,開始時間為該類型的事件對應(yīng)的第一關(guān)鍵幀的時間,結(jié)束時間為該類型的事件對應(yīng)的最后一個關(guān)鍵幀的時間,將該最后一個關(guān)鍵幀稱為第二關(guān)鍵幀。電子設(shè)備根據(jù)該所述索引子信息中的開始時間對應(yīng)的第一關(guān)鍵幀和結(jié)束時間對應(yīng)的第二關(guān)鍵幀的存儲位置,在所述索引子信息中保存所述存儲位置的信息。這樣用戶在查詢到該索引子信息后,也可以根據(jù)所述索引子信息中保存所述存儲位置的信息查找到該索引子信息中的關(guān)鍵幀的內(nèi)容。當(dāng)然可以針對所述索引子信息中的每個關(guān)鍵幀,在所述索引子信息中保存每個關(guān)鍵幀的存儲位置。

當(dāng)用戶在查找到索引子信息時,也有可能不只是想看該索引子信息中的關(guān)鍵幀的內(nèi)容,還會想看所述引子信息對應(yīng)的視頻文件中的全部幀的內(nèi)容。所述方法還包括:

根據(jù)索引子信息對應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時間對應(yīng)的視頻幀和結(jié)束時間對應(yīng)的視頻幀的存儲位置,在所述索引信息中保存有所述存儲位置的信息。

每個索引子信息都有其對應(yīng)的視頻文件,該視頻文件中包含該索引子信息對應(yīng)關(guān)鍵幀的內(nèi)容,和非關(guān)鍵幀內(nèi)容。索引信息中保存有該索引子信息及該索引子信息對應(yīng)的事件的類型,在該索引信息中保存該視頻文件的開始時間對應(yīng)的視頻幀的存儲位置和該視頻文件的結(jié)束時間對應(yīng)的視頻幀的存儲位置,這樣用戶在想查詢該視頻文件的存儲位置時,就可以根據(jù)該視頻的開始時間對應(yīng)的視頻幀的存儲位置和該視頻文件的結(jié)束時間對應(yīng)的視頻幀的存儲位置,找到整個視頻文件了。當(dāng)然也可以在該索引信息中保存該視頻文件的所有幀的存儲位置。

電子設(shè)備在構(gòu)建視頻文件的索引信息時,可以包含采集該視頻文件的視頻源、視頻文件的時間段,該時間段對應(yīng)的時間周期,視頻文件中事件的類型及該類型的事件的時間信息。當(dāng)然也可以包括該視頻文件中關(guān)鍵幀的絕對時間和該視頻文件的偏移量,因?yàn)樵跇?gòu)建索引文件時,是依靠視頻源構(gòu)建的,而不是一個個視頻文件,這就需要建立映射表,將所有錄像文件映射到一個地址空間中,具體的如圖3c所示,為視頻文件的在虛擬存儲空間的映射表圖,每個視頻文件都會有對應(yīng)的虛擬存儲空間。在虛擬存儲空間中,將視頻文件1,視頻文件2……視頻文件n,依次在虛擬存儲空間中存儲。

如圖3d所示,為視頻文件虛擬存儲空間的起始偏移量、長度的信息??梢钥闯鲆曨l文件1的起始偏移量為uint64:offset1,長度為uint64:size1;視頻文件2的起始偏移量為uint64:offset1+size1,長度為uint64:size2;視頻文件3的起始偏移量為uint64:offset1+size1+size2,長度為uint64:size3。

電子設(shè)備在建立該視頻文件的索引信息時發(fā)現(xiàn)該視頻文件被覆蓋或者此時出現(xiàn)斷電情況,則電子設(shè)備認(rèn)為沒有把視頻文件的索引信息建立完整,可以針對該視頻文件的時間段對應(yīng)的第一時間周期重新建立索引記錄。具體的,可以如圖3e所示,為重新建立索引記錄的過程示意圖:

s301:將文件讀寫位置移動到索引文件的尾部,讀取索引文件的footer,解析結(jié)束時間。

s302:查找結(jié)束時間到此時的時間段對應(yīng)的視頻文件。

s303:根據(jù)所述視頻文件生成索引記錄并更新到索引文件中。

所述重新建立索引記錄的過成屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對該過程不進(jìn)行詳細(xì)贅述。

實(shí)施例5:

圖4為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢過程示意圖,該過程包括以下步驟:

s401:接收用戶發(fā)送的索引信息的查詢請求,其中所述查詢請求中攜帶待查詢的視頻源的標(biāo)識信息、事件的類型及所述類型的事件發(fā)生的時間的信息。

本發(fā)明實(shí)施例提供的視頻文件索引信息的查詢方法可以應(yīng)用于電子設(shè)備。電子設(shè)備可以接收用戶發(fā)送的索引信息的查詢請求,所述索引信息的查詢請求中攜帶待查詢的視頻源的標(biāo)識信息、事件的類型及所述類型的事件發(fā)生的時間的信息。所述視頻源的標(biāo)識信息可以是視頻源的設(shè)備號,可以是視頻源所在位置的信息。所述事件的類型可以是包含人臉的事件、包含車牌的事件等。所述事件的類型可以是類型的標(biāo)識信息等,例如含人臉的事件的標(biāo)識信息為a,包含車牌的事件的標(biāo)識信息為b。所述類型的事件發(fā)生的時間可以是時間點(diǎn),例如5:20,也可以是時間段,例如4:00-4:20。

s402:根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行s403,如果否,則結(jié)束。

電子設(shè)備生成的所有索引文件稱為索引文件集合,電子設(shè)備的索引文件集合中保存有包含視頻源的索引文件,在保存索引文件時,可以保存視頻源的標(biāo)識信息與索引文件的對應(yīng)關(guān)系,具體的可以是視頻源的標(biāo)識信息與索引文件一一對應(yīng),例如,視頻源的標(biāo)識信息是設(shè)備號,如設(shè)備1、設(shè)備2……,所述對應(yīng)關(guān)系可以是設(shè)備1-索引文件1,設(shè)備2-索引文件2。電子設(shè)備可以在所述索引文件集合中查找是否保存有用戶的查詢請求中攜帶的視頻源的標(biāo)識信息,如果有,則電子設(shè)備中保存有包含所述視頻源的目標(biāo)索引文件。

s403:在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件發(fā)生的時間對應(yīng)的索引子信息并顯示。

電子設(shè)備中保存的索引文件中包含有事件的類型及該類型的事件的索引信息,所述索引信息中還包含該類型的事件發(fā)生的時間。當(dāng)電子設(shè)備查找到保存有所述視頻源的目標(biāo)索引文件時,則可以根據(jù)用戶發(fā)送的所述查詢請求中攜帶的事件的類型,在所述目標(biāo)索引文件中查找是否包含該類型的事件的索引信息,如果在目標(biāo)索引文件中查找到包含該類型的事件的索引信息,則可以根據(jù)用戶發(fā)送的所述查詢請求中攜帶的該類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件發(fā)生的時間對應(yīng)的索引子信息并顯示。所述開始時間和結(jié)束時間與所述事件發(fā)生的時間對應(yīng)的索引子信息可以是所述事件發(fā)生的時間在索引子信息的開始時間和結(jié)束時間之內(nèi)或重合的時間。

例如,所述查詢請求中攜帶的該類型的事件發(fā)生的時間為一個時間點(diǎn)5:20,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:25],則顯示的索引子信息為[5:20-5:21]。例如,所述查詢請求中攜帶的該類型的事件發(fā)生的時間為一個時間段1:22-5:22,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:21],則顯示的索引子信息為[1:20-1:25]和[5:20-5:21]。

實(shí)施例6:

所述在所述索引文件中查找是否包含所述類型的事件的索引信息之前,所述方法還包括:

根據(jù)所述類型的事件發(fā)生的時間,確定所述時間對應(yīng)的第三時間周期;

判斷所述索引文件中是否保存有所述第三時間周期對應(yīng)的索引記錄;

如果是,進(jìn)行后續(xù)步驟。

在本發(fā)明實(shí)施例中,電子設(shè)備在查找到包含用戶發(fā)送的所述查詢請求中攜帶的所述視頻源的索引文件后,可以根據(jù)所述查詢請求中攜帶的所述類型的事件發(fā)生的時間確定所述時間對應(yīng)的第三時間周期,所述第三時間周期可以是與第一時間周期相同的時間周期。當(dāng)電子設(shè)備判斷出所述索引文件中保存有所述第三時間周期對應(yīng)的索引記錄時,則可以在所述索引記錄中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件發(fā)生的時間對應(yīng)的索引子信息并顯示。

如圖5所示,為電子設(shè)備在索引文件中查找索引記錄的過程示意圖:

s501:將索引文件的讀寫位置移動到所述索引文件的尾部,讀取所述索引文件的footer。

s502:根據(jù)讀取的footer解析出所述索引文件的metadata在索引文件中的起始地址。

s503:根據(jù)所述metadata在所述索引文件中的起始地址讀取所述metadata中的數(shù)據(jù)信息,針對所述metadata中的數(shù)據(jù)信息,查找待讀取的索引記錄的偏移量信息和大小信息。

s504:根據(jù)所述偏移量信息和大小讀取所述待查找的索引記錄。

所述根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的索引文件包括:

在緩存文件中查找是否包含所述視頻源的索引文件,如果是,進(jìn)行后續(xù)步驟;

如果否,在保存的索引文件集合中查找是否包含所述視頻源的索引文件,如果是,進(jìn)行后續(xù)步驟。

在本發(fā)明實(shí)施例中,電子設(shè)備在查找是否保存有包含用戶發(fā)送的所述查詢請求中攜帶的所述視頻源的目標(biāo)索引文件時,可以是先在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件。若在緩存文件中查找到包含所述視頻源的目標(biāo)索引文件,則可以在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息。若在緩存文件中沒有查找到包含所述視頻源的目標(biāo)索引文件,則可以在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果在保存的索引文件集合中查找到包含所述視頻源的目標(biāo)索引文件,則可以在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息。

例如,用戶想查詢2016年5月3日12:00到2016年5月5日8:00之間的視頻源1中類型a的索引信息,當(dāng)電子設(shè)備接收到用戶的查詢請求時,根據(jù)用戶的查詢請求中攜帶的視頻源的標(biāo)識信息視頻源1在緩存文件中查找到包含所述視頻源1的索引文件1,若查找到所述視頻源1的索引文件1,則在緩存文件中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之間的視頻文件,若查找到,則在所述索引文件1中的2016年5月3日至2016年5月5日之間的所有索引信息中查找包含類型a的索引信息。若在緩存文件中只能查找到包含日期為2016年5月5日的視頻文件1,則在所述視頻文件1中查找包含類型a的索引信息。在保存的索引文件集合中查找包含日期為2016年5月3日至2016年5月4日的視頻文件2,則在所述視頻文件2中查找包含類型a的索引信息.

若在緩存文件中沒有查找到包含所述視頻源1的索引文件,則可以在保存的索引文件集合中查找是否包含所述視頻源1的索引文件1,則在索引文件集合中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之間的視頻文件,若查找到,則在所述索引文件1中的2016年5月3日至2016年5月5日之間的所有索引信息中查找包含類型a的索引信息。

實(shí)施例7:

用戶在查詢索引子信息時,電子設(shè)備可以查找到該索引子信息,為了顯示更豐富的信息,也可能查找該索引子信息對應(yīng)的關(guān)鍵幀并顯示。在上述各實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述方法還包括:

根據(jù)查找到的索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息,及索引文件中記錄的每個關(guān)鍵幀的存儲位置的信息,查找與所述對應(yīng)的索引子信息對應(yīng)的關(guān)鍵幀的存儲位置;

獲取所述存儲位置存儲的關(guān)鍵幀并展示。

在本發(fā)明實(shí)施例中,電子設(shè)備還可以根據(jù)查找到索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息,及索引文件中記錄的每個關(guān)鍵幀的存儲位置的信息,查找與所述對應(yīng)的索引子信息對應(yīng)的關(guān)鍵幀的存儲位置,從而獲取對應(yīng)的視頻幀的信息并展示。

圖6為本發(fā)明實(shí)施例1提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖,所述裝置包括:

判斷模塊61,用于針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;

建立模塊62,用于如果判斷模塊的判斷結(jié)果為否,建立所述視頻源對應(yīng)的索引文件;

建立模塊62,還用于如果判斷模塊的判斷結(jié)果為是,針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。

所述建立模塊62,還用于根據(jù)所述視頻文件對應(yīng)的時間段,判斷所述索引文件中是否保存有所述時間段對應(yīng)的第一時間周期的索引記錄;如果否,在所述索引文件中建立所述時間段對應(yīng)的第一時間周期的索引記錄;如果是,針對所述索引文件中所述時間段對應(yīng)的時間周期的索引記錄進(jìn)行后續(xù)操作。

所述判斷模塊61,具體用于判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;

圖7為本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖,在圖6的基礎(chǔ)上,所述裝置還包括:

判斷保存模塊71,用于判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;如果是,將緩存文件中的索引信息進(jìn)行保存。

所述判斷保存模塊71,具體用于判斷當(dāng)前緩存時間是否達(dá)到將索引信息進(jìn)行保存的第二時間周期閾值;判斷當(dāng)前緩存文件的存儲容量是否達(dá)到最大閾值。

所述判斷保存模塊71,具體用于針對所述索引文件,按照索引信息保存條件對應(yīng)的規(guī)則對所述索引文件中的索引信息劃分到每個索引子文件中;依次保存每個索引子文件。

所述裝置還包括:

保存模塊72,用于根據(jù)所述索引子信息中的開始時間對應(yīng)的第一關(guān)鍵幀和結(jié)束時間對應(yīng)的第二關(guān)鍵幀的存儲位置,在所述索引子信息中保存所述存儲位置的信息。

所述保存模塊72,還用于根據(jù)索引子信息對應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時間對應(yīng)的視頻幀和結(jié)束時間對應(yīng)的視頻幀的存儲位置,在所述索引信息中保存有所述存儲位置的信息。

圖8為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢裝置結(jié)構(gòu)圖,所述裝置包括:

接收模塊81,用于接收用戶發(fā)送的索引信息的查詢請求,其中所述查詢請求中攜帶待查詢的視頻源的標(biāo)識信息、事件的類型及所述類型的事件發(fā)生的時間的信息;

查找模塊82,用于根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;

顯示模塊83,用于如果查找模塊的查找結(jié)果為是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時間,查找所述索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息并顯示。

圖9為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的查詢裝置,在圖8的基礎(chǔ)上,所述裝置還包括:

確定判斷模塊91,用于根據(jù)所述類型的事件發(fā)生的時間,確定所述時間對應(yīng)的第三時間周期;判斷所述索引文件中是否保存有所述第三時間周期對應(yīng)的索引記錄;如果是,進(jìn)行后續(xù)步驟。

所述查找模塊82,具體用于在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。

所述顯示模塊83,還用于根據(jù)查找到的索引信息中開始時間和結(jié)束時間與所述事件的發(fā)生的時間對應(yīng)的索引子信息,及索引文件中記錄的每個關(guān)鍵幀的存儲位置的信息,查找與所述對應(yīng)的索引子信息對應(yīng)的關(guān)鍵幀的存儲位置;獲取所述存儲位置存儲的關(guān)鍵幀并展示。

本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,所述方法包括:針對待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;如果否,建立所述視頻源對應(yīng)的索引文件;如果是,針對在所述視頻文件中識別出的關(guān)鍵幀,識別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時間為所述關(guān)鍵幀的第一時間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對所述第一類型的事件對應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時間,如果不同,則在所述第一類型的事件的索引信息中建立開始時間為所述關(guān)鍵幀的第一時間的索引子信息。由于在本發(fā)明實(shí)施例中每個視頻源對應(yīng)一個索引文件,并且該索引文件中針對每種類型的事件保存有對應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對應(yīng)的開始時間和結(jié)束時間,因此方便了索引信息的查詢,提高了查詢的效率。

對于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者一個操作與另一個實(shí)體或者另一個操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或者操作之間存在任何這種實(shí)際的關(guān)系或者順序。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1