專利名稱:一種錄像文件的回放方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻監(jiān)控領(lǐng)域,特別涉及一種錄像文件的回放方法及裝置。
背景技術(shù):
圖I為現(xiàn)有視頻監(jiān)控錄像的點(diǎn)播回放的方法流程圖?,F(xiàn)結(jié)合圖1,對(duì)現(xiàn)有的視頻監(jiān)控錄像的點(diǎn)播回放的方法進(jìn)行說明,具體如下
步驟101 :實(shí)時(shí)存儲(chǔ)接收到的視頻流,形成多個(gè)文件名包含視頻生成時(shí)間的存儲(chǔ)文件,并且每個(gè)存儲(chǔ)文件所存儲(chǔ)的視頻時(shí)長小于或等于第一預(yù)定時(shí)長;該步驟中,每個(gè)存儲(chǔ)文件的開頭部分都預(yù)留有索引區(qū),以便將回放之前生成的索引信息添加至索引區(qū)。為了能夠較快的建立索引,第一預(yù)定時(shí)長可以為四分鐘、五分鐘或六分鐘。步驟102 :根據(jù)回放請求中所請求的回放視頻的起始時(shí)間點(diǎn),匹配存儲(chǔ)文件的文件名,找到存儲(chǔ)的視頻中包含有起始時(shí)間點(diǎn)所對(duì)應(yīng)視頻的存儲(chǔ)文件作為目標(biāo)文件;該步驟中提及的目標(biāo)文件為文件名中的視頻生成時(shí)間加上第一預(yù)定時(shí)長所組成的時(shí)間段中包含起始時(shí)間點(diǎn)的存儲(chǔ)文件,或者為文件名中的視頻生成時(shí)間與起始時(shí)間點(diǎn)的間隔最小且早于起始時(shí)間點(diǎn)的存儲(chǔ)文件。步驟103 :對(duì)目標(biāo)文件添加索引信息;該步驟具體為對(duì)目標(biāo)文件的視頻流進(jìn)行索引分析,獲得索引信息。其中,索引信息中標(biāo)記視頻流的每一幀圖像相對(duì)于文件頭的偏移量和/或每一幀圖像所在的時(shí)間點(diǎn)。步驟104 :根據(jù)索引信息進(jìn)行從起始時(shí)間點(diǎn)的視頻回放。現(xiàn)有的視頻監(jiān)控錄像的點(diǎn)播回放的方法中,為了能夠?qū)胤诺囊曨l進(jìn)行定位,在存儲(chǔ)了錄像文件之后回放錄像文件之前建立待回放的錄像文件的索引文件,為了使用戶感覺到回放過程中建立索引的反應(yīng)時(shí)間,存儲(chǔ)的錄像文件對(duì)應(yīng)的第一預(yù)定時(shí)長可設(shè)置的盡量短一些,比如四分鐘或五分鐘等,這樣就會(huì)導(dǎo)致存儲(chǔ)的錄像文件過多,進(jìn)行回放時(shí)需要搜索大量的錄像文件,進(jìn)行大量的比對(duì),在一定程度上降低了回放的實(shí)時(shí)性,而且現(xiàn)有的視頻監(jiān)控錄像的點(diǎn)播回放的方法中,并不能對(duì)回放的速度進(jìn)行控制,還有待進(jìn)一步改進(jìn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種錄像文件的回放方法,該方法能夠提高回放的實(shí)時(shí)性,對(duì)回放的速度進(jìn)行有效地控制。本發(fā)明的目的在于提供一種錄像文件的回放裝置,該裝置能夠提高回放的實(shí)時(shí)性,對(duì)回放的速度進(jìn)行有效地控制。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種錄像文件的回放方法,該方法包括A、實(shí)時(shí)分析接收到的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中,將幀索引信息寫入以采集信息為名稱的索引文件中;
B、根據(jù)回放請求中攜帶的采集信息,獲得名稱與采集信息匹配的錄像文件及索引文件;C、根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放;所述采集信息至少包括通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn)。上述方法中,所述幀索引信息至少包括幀類型、幀率、文件內(nèi)偏移、幀時(shí)間戳及幀大小。上述方法中,步驟A所述將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中包括Al、將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中;
A2、檢測當(dāng)前的錄像文件的大小是否超出預(yù)設(shè)值,如果是,執(zhí)行步驟A3,否則執(zhí)行步驟Al ;A3、建立一個(gè)以采集信息為名稱的新的錄像文件;所述新的錄像文件的名稱中的起始時(shí)間點(diǎn)為步驟Al中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。上述方法中,步驟A所述將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件包括Al’、記錄一個(gè)寫入開始時(shí)間;A2’、將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中;A3’、檢測當(dāng)前時(shí)間與步驟Al’的寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,如果是,執(zhí)行步驟A4’,否則執(zhí)行步驟A2’ ;A4’、建立一個(gè)以采集信息為名稱的新的錄像文件;所述新的錄像文件的名稱中的起始時(shí)間為步驟A2 ’中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)
算獲得。上述方法中,所述步驟C包括Cl、根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,執(zhí)行步驟C2,否則執(zhí)行步驟C3;C2、讀取錄像文件中保存的幀數(shù)據(jù)并輸出,之后結(jié)束操作;C3、根據(jù)回放請求中攜帶的回放速度信息及幀索引信息中的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,根據(jù)文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù)并輸出,之后結(jié)束操作。一種錄像文件的回放裝置,該裝置連接數(shù)字信號(hào)處理器DSP,該裝置包含碼流分析模塊,實(shí)時(shí)分析來自所述DSP的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入存儲(chǔ)模塊中的錄像文件中,將幀索引信息寫入存儲(chǔ)模塊中的索引文件中;回放控制模塊,根據(jù)回放請求中攜帶的采集信息,從存儲(chǔ)模塊中讀取與采集信息匹配的錄像文件及索引文件,根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放;
存儲(chǔ)模塊,保存以采集信息為名稱的錄像文件及以采集信息為名稱的索引文件;所述采集信息至少包含通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn)。上述裝置中,所述幀索引信息至少包含幀類型、幀率、文件內(nèi)偏移、幀時(shí)間戳及幀大小。上述裝置中,所述碼流分析模塊包含碼流接收單元,接收所述DSP輸出的編碼數(shù)據(jù),將編碼數(shù)據(jù)輸出至碼流分析單元;碼流分析單元,從接收到的編碼數(shù)據(jù)中剝離幀索引信息,獲得幀數(shù)據(jù)及幀索引信息,將幀數(shù)據(jù)及幀索引信息輸出至第一數(shù)據(jù)寫入單元;第一數(shù)據(jù)寫入單元,將幀數(shù)據(jù)寫入存儲(chǔ)模塊中以采集信息為名稱的當(dāng)前的錄像文件,檢測存儲(chǔ)模塊中當(dāng)前的錄像文件的大小是否超出了預(yù)設(shè)值,在超出預(yù)設(shè)值時(shí),建立一個(gè) 以采集信息為名稱的新的錄像文件;所述第一數(shù)據(jù)寫入單元將幀索引信息寫入以采集信息為名稱的索引文件中;所述新的錄像文件的名稱中的起始時(shí)間點(diǎn)為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。上述裝置中,所述碼流分析模塊包含碼流接收單元,接收所述DSP輸出的編碼數(shù)據(jù),將編碼數(shù)據(jù)輸出至碼流分析單元;碼流分析單元,從接收到的編碼數(shù)據(jù)中剝離幀索引信息,獲得幀數(shù)據(jù)及幀索引信息,將幀數(shù)據(jù)及幀索引信息輸出至第二數(shù)據(jù)寫入單元;第二數(shù)據(jù)寫入單元,記錄一個(gè)寫入開始時(shí)間,將幀數(shù)據(jù)寫入存儲(chǔ)模塊中以采集信息為名稱的當(dāng)前的錄像文件,檢測當(dāng)前時(shí)間與寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,在超出預(yù)設(shè)的時(shí)間段時(shí),建立一個(gè)以采集信息為名稱的新的錄像文件;所述第二數(shù)據(jù)寫入單元將幀索引信息寫入以采集信息為名稱的索引文件中;所述新的錄像文件的名稱中的起始時(shí)間為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。上述裝置中,所述回放控制模塊包含信息匹配單元,根據(jù)接收到的回放請求中攜帶的采集信息,從存儲(chǔ)模塊中讀取名稱與采集信息匹配的錄像文件及索引文件,將接收到的回放請求中攜帶的回放速度信息及索引文件輸出至索引抽取單元,將錄像文件輸出至數(shù)據(jù)輸出單元;索引抽取單元,根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,輸出第一觸發(fā)至數(shù)據(jù)輸出單元,否則,根據(jù)請求的回放速度及索引文件中的幀索引信息包含的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,輸出第二觸發(fā)、文件內(nèi)偏移及幀大小至數(shù)據(jù)輸出單元;數(shù)據(jù)輸出單元,根據(jù)第一觸發(fā),從錄像文件中讀取幀數(shù)據(jù),并按照一般速度輸出幀數(shù)據(jù),根據(jù)第二觸發(fā)、文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù),按照請求的回放速度輸出幀數(shù)據(jù)。由上述的技術(shù)方案可見,本發(fā)明提供了一種錄像文件的回放方法,該方法中,實(shí)時(shí)分析接收到的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中,將幀索引信息寫入以采集信息為名稱的索引文件中;根據(jù)回放請求中攜帶的采集信息,獲得名稱與采集信息匹配的錄像文件及索引文件;根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放。本發(fā)明還提供了一種錄像文件的回放裝置。采用本發(fā)明的方法及裝置,能夠提高回放的實(shí)時(shí)性,對(duì)回放的速度進(jìn)行有效地控制。
圖I為現(xiàn)有的視頻監(jiān)控錄像的點(diǎn)播回放的方法流程圖。圖2為本發(fā)明錄像文件的回放方法流程圖。圖3為本發(fā)明錄像文件的回放裝置實(shí)施例一的結(jié)構(gòu)示意圖。 圖4為本發(fā)明錄像文件的回放裝置實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明提供了一種錄像文件的回放方法及裝置,在該方法中,在存儲(chǔ)錄像文件的同時(shí),建立與錄像文件中的幀數(shù)據(jù)對(duì)應(yīng)的包含幀索引信息的索引文件時(shí),本發(fā)明的錄像文件的名稱和索引文件的名稱都是根據(jù)采集信息進(jìn)行命名的,在進(jìn)行回放操作時(shí),根據(jù)采集信息獲得與其匹配的錄像文件及索引文件,在根據(jù)回放速度信息確定為不是一般回放時(shí),即快速回放或慢速回放,從索引文件中抽取與回放速度匹配的幀索引信息,由幀索引信息定位獲得不是一般回放時(shí)所輸出的幀數(shù)據(jù),不僅提高了回放的實(shí)時(shí)性,而且能夠控制回放的速度。本發(fā)明下述實(shí)施例中提及的碼流為音視頻流,幀數(shù)據(jù)可由幀類型來確定,可為音頻數(shù)據(jù)和/或視頻數(shù)據(jù)。圖2為本發(fā)明錄像文件的回放方法流程圖?,F(xiàn)結(jié)合圖2,對(duì)本發(fā)明錄像文件的回放方法進(jìn)行說明,具體如下步驟201 :實(shí)時(shí)分析接收到的碼流,生成錄像文件及索引文件;該步驟具體為步驟2011,實(shí)時(shí)分析接收到的碼流,從碼流中提取幀索引信息;步驟2012,將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中,步驟2013,將幀索引信息寫入以采集信息為名稱的索引文件中。優(yōu)選地,可在步驟2011與步驟2012之間進(jìn)一步包括根據(jù)采集信息生成錄像文件的名稱及索引文件的名稱。其中,采集信息至少包括通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn);采集信息還可進(jìn)一步包括用來標(biāo)識(shí)存儲(chǔ)屬性的信息及標(biāo)識(shí)執(zhí)行錄像及回放的設(shè)備的信息。幀索引信息至少包括幀類型、幀率、文件內(nèi)偏移、幀時(shí)間戳及幀大??;幀索引信息中還可進(jìn)一步包括I幀間隔;幀類型可為I幀、P幀或音頻幀。若本發(fā)明的錄像文件支持文件大小按照預(yù)設(shè)值進(jìn)行切換文件,則步驟2012具體可包括步驟20121,將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中;步驟20122,檢測當(dāng)前的錄像文件的大小是否超出預(yù)設(shè)值,如果是,執(zhí)行步驟20123,否則執(zhí)行步驟20121 ;步驟20123,建立一個(gè)以采集信息為名稱的新的錄像文件。其中,新的錄像文件的名稱中的起始時(shí)間點(diǎn)為步驟Al中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。若本發(fā)明的錄像文件支持保存的時(shí)長按照預(yù)設(shè)的時(shí)間段進(jìn)行切換文件,則步驟2012具體可包括步驟20121’,記錄一個(gè)寫入開始時(shí)間;步驟20122’,將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中;步驟20123’,檢測當(dāng)前時(shí)間與步驟20121’的寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,如果是,執(zhí)行步驟20124’,否則執(zhí)行步驟20122’ ;步驟20124’,建立一個(gè)以采集信息為名稱的新的錄像文件。其中,新的錄像文件的名稱中的起始時(shí)間為步驟20122’中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。步驟202 :根據(jù)回放請求中攜帶的采集信息,獲得名稱與采集信息匹配的錄像文件及索引文件;該步驟中,可根據(jù)采集信息先對(duì)錄像文件的名稱進(jìn)行比對(duì),獲得名稱與采集信息匹配的錄像文件,再根據(jù)錄像文件讀取索引文件。 步驟203 :根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放;該步驟包括步驟2031,根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,執(zhí)行步驟2032,否則執(zhí)行步驟2033 ;步驟2032,讀取錄像文件中保存的幀數(shù)據(jù)并輸出,之后結(jié)束操作;步驟2033,根據(jù)回放請求中攜帶的回放速度信息及幀索引信息中的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,根據(jù)文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù)并輸出,之后結(jié)束操作。本發(fā)明中提及的回放速度信息指代的是回放倍數(shù),比如,將I倍數(shù)回放定義為一般回放,則大于I倍數(shù)的回放為快速回放,小于I倍數(shù)的回放為慢速回放。比如回放速度信息對(duì)應(yīng)的為2倍數(shù)的快速回放時(shí),每間隔I幀抽取幀索引信息,再根據(jù)抽取出的幀索引信息中的文件內(nèi)偏移和幀大小,從錄像文件中讀取匹配的一幀數(shù)據(jù),此時(shí)輸出的幀數(shù)據(jù)為按照2倍數(shù)快速回放的數(shù)據(jù);回放速度信息對(duì)應(yīng)的為回放倍數(shù)為1/2倍數(shù)的慢速回放時(shí),若幀索引信息中的幀率為25幀/秒,則每隔2秒鐘抽取25幀索引信息,根據(jù)25幀索引信息中的文件內(nèi)偏移和幀大小獲得25幀數(shù)據(jù),并每隔2秒讀取25幀的數(shù)據(jù)并輸出。圖3為本發(fā)明錄像文件的回放裝置實(shí)施例一的結(jié)構(gòu)示意圖?,F(xiàn)結(jié)合圖3,對(duì)本發(fā)明實(shí)施例一的錄像文件的回放裝置的結(jié)構(gòu)進(jìn)行說明,具體如下本發(fā)明的錄像文件的回放裝置可裝設(shè)于現(xiàn)有的數(shù)字硬盤錄像機(jī)(Digital VideoRecorder, DVR)上,連接數(shù)字信號(hào)處理器(Digital Signal Processing, DSP),接收 DSP 輸出的編碼數(shù)據(jù)。本發(fā)明的錄像文件的回放裝置包含存儲(chǔ)模塊30、碼流分析模塊31及回放控制模塊32。其中,碼流分析模塊31連接DSP ;存儲(chǔ)模塊30用以保存以采集信息為名稱的錄像文件及以采集信息為名稱的索引文件;采集信息至少包含通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn)。碼流分析模塊31實(shí)時(shí)分析來自DSP的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入存儲(chǔ)模塊30中的錄像文件中,將幀索引信息寫入存儲(chǔ)模塊30中的索引文件中。其中,本發(fā)明的碼流分析模塊31在對(duì)接收到的碼流進(jìn)行存儲(chǔ)之前,可根據(jù)設(shè)置預(yù)先在存儲(chǔ)模塊30中建立以采集信息為名稱的空的錄像文件及以采集信息為名稱的空的索引文件;幀索引信息至少包含幀類型、幀率、文件內(nèi)偏移、幀時(shí)間戳及幀大??;幀索引信息中還可進(jìn)一步包含I幀間隔時(shí)間;幀類型為I幀、P幀或音頻幀?;胤趴刂颇K32根據(jù)回放請求中攜帶的采集信息,從存 儲(chǔ)模塊30中讀取與采集信息匹配的錄像文件及索引文件,根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放。本實(shí)施例的碼流分析模塊31存儲(chǔ)錄像文件時(shí),支持文件大小按照預(yù)設(shè)值進(jìn)行切換文件。本發(fā)明的碼流分析模塊31包含碼流接收單元311、碼流分析單元312及第一數(shù)據(jù)寫入單元313。碼流接收單元311接收DSP輸出的編碼數(shù)據(jù),將編碼數(shù)據(jù)輸出至碼流分析單元。另夕卜,碼流接收單元311還可將根據(jù)采集信息生成的錄像文件的名稱及索引文件的名稱寫入存儲(chǔ)模塊30中。碼流分析單元312從接收到的編碼數(shù)據(jù)中剝離幀索引信息,獲得幀數(shù)據(jù)及幀索引信息,將幀數(shù)據(jù)及幀索引信息輸出至第一數(shù)據(jù)寫入單元313。其中,來自DSP的編碼數(shù)據(jù)中,DSP在每幀音頻數(shù)據(jù)及每幀數(shù)據(jù)前寫入了與該幀數(shù)據(jù)有關(guān)的幀索引信息,碼流分析單元312根據(jù)編碼數(shù)據(jù)的結(jié)構(gòu),從編碼數(shù)據(jù)中剝離出幀索引信息,以獲得幀數(shù)據(jù)及真索引信息。第一數(shù)據(jù)寫入單元313將幀數(shù)據(jù)寫入存儲(chǔ)模塊30中以采集信息為名稱的當(dāng)前的錄像文件,檢測存儲(chǔ)模塊30中當(dāng)前的錄像文件的大小是否超出了預(yù)設(shè)值,在超出預(yù)設(shè)值時(shí),建立一個(gè)以采集信息為名稱的新的錄像文件。第一數(shù)據(jù)寫入單元313將幀索引信息寫入存儲(chǔ)模塊30中以采集信息為名稱的索引文件中。其中,第一數(shù)據(jù)寫入單元313還可在存儲(chǔ)單元30中建立一個(gè)新的空的錄像文件及新的空的索引文件;新的錄像文件的名稱中的起始時(shí)間點(diǎn)為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。其中,回放控制模塊32包含信息匹配單元321、索引抽取單元322及數(shù)據(jù)輸出單元 323。信息匹配單元321根據(jù)接收到的回放請求中攜帶的采集信息,從存儲(chǔ)模塊30中讀取名稱與采集信息匹配的錄像文件及索引文件,將接收到的回放請求中攜帶的回放速度信息及索引文件輸出至索引抽取單元322,將錄像文件輸出至數(shù)據(jù)輸出單元323。索引抽取單元322根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,輸出第一觸發(fā)至數(shù)據(jù)輸出單元323,否則,根據(jù)回放速度信息及索引文件中的幀索弓I信息包含的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,輸出第二觸發(fā)、文件內(nèi)偏移及幀大小至數(shù)據(jù)輸出單元323。數(shù)據(jù)輸出單元323根據(jù)第一觸發(fā),從錄像文件中讀取幀數(shù)據(jù),并按照一般速度輸出幀數(shù)據(jù),根據(jù)第二觸發(fā)、文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù),按照請求的回放速度輸出幀數(shù)據(jù)。圖4為本發(fā)明錄像文件的回放裝置實(shí)施例二的結(jié)構(gòu)示意圖?,F(xiàn)結(jié)合圖4,對(duì)本發(fā)明實(shí)施例二的錄像文件的回放裝置的結(jié)構(gòu)進(jìn)行說明,具體如下實(shí)施例二的錄像文件的回放裝置與實(shí)施例一不同的是,實(shí)施例二中的碼流分析模塊41在存儲(chǔ)錄像文件時(shí),支持保存的時(shí)長按照預(yù)設(shè)的時(shí)間段進(jìn)行切換文件;具體地,實(shí)施例二中的第二數(shù)據(jù)寫入單元413與實(shí)施例一的第一數(shù)據(jù)寫入單元313不同,其他結(jié)構(gòu)與實(shí)施例一相同,在此不再贅述。第二數(shù)據(jù)寫入單元413記錄一個(gè)寫入開始時(shí)間,將幀數(shù)據(jù)寫入存儲(chǔ)模塊30中以采集信息為名稱的當(dāng)前的錄像文件,檢測當(dāng)前時(shí)間與寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,在超出預(yù)設(shè)的時(shí)間段時(shí),建立一個(gè)以采集信息為名稱的新的錄像文件。第二數(shù)據(jù)寫入單元413將幀索引信息寫入存儲(chǔ)模塊30中以采集信息為名稱的索引文件中。其中,第二數(shù)據(jù)寫入單元413還可在存儲(chǔ)單元30中建立一個(gè)新的空的錄像文件及新的空的索引文件;新的錄像文件的名稱中的起始時(shí)間為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。
本發(fā)明的上述較佳實(shí)施例中,在將碼流寫入錄像文件時(shí),對(duì)錄像文件和索引文件進(jìn)行了同步存儲(chǔ),索引文件中記錄的幀索引信息為后續(xù)的不是一般速度的回放提供了依據(jù),避免了回放前建立索引文件而對(duì)回放的實(shí)時(shí)性的影響;在進(jìn)行非I倍數(shù)的回放時(shí),根據(jù)請求的回放速度對(duì)索引文件中的幀索引信息進(jìn)行了抽取,利用抽取的幀索引信息讀取幀數(shù)據(jù),實(shí)現(xiàn)了對(duì)回放速度的控制。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種錄像文件的回放方法,其特征在于,該方法包括 A、實(shí)時(shí)分析接收到的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中,將幀索引信息寫入以采集信息為名稱的索引文件中; B、根據(jù)回放請求中攜帶的采集信息,獲得名稱與采集信息匹配的錄像文件及索引文件; C、根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放; 所述采集信息至少包括通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述幀索引信息至少包括幀類型、幀率、 文件內(nèi)偏移、幀時(shí)間戳及幀大小。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,步驟A所述將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中包括 Al、將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中; A2、檢測當(dāng)前的錄像文件的大小是否超出預(yù)設(shè)值,如果是,執(zhí)行步驟A3,否則執(zhí)行步驟Al ; A3、建立一個(gè)以采集信息為名稱的新的錄像文件; 所述新的錄像文件的名稱中的起始時(shí)間點(diǎn)為步驟Al中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,步驟A所述將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件包括 Al’、記錄一個(gè)寫入開始時(shí)間; A2’、將幀數(shù)據(jù)寫入以采集信息為名稱的當(dāng)前的錄像文件中; A3’、檢測當(dāng)前時(shí)間與步驟Al’的寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,如果是,執(zhí)行步驟A4’,否則執(zhí)行步驟A2’ ; A4’、建立一個(gè)以采集信息為名稱的新的錄像文件; 所述新的錄像文件的名稱中的起始時(shí)間為步驟A2 ’中當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟C包括 Cl、根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,執(zhí)行步驟C2,否則執(zhí)行步驟C3 ; C2、讀取錄像文件中保存的幀數(shù)據(jù)并輸出,之后結(jié)束操作; C3、根據(jù)回放請求中攜帶的回放速度信息及幀索引信息中的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,根據(jù)文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù)并輸出,之后結(jié)束操作。
6.一種錄像文件的回放裝置,其特征在于,該裝置連接數(shù)字信號(hào)處理器DSP,該裝置包含 碼流分析模塊,實(shí)時(shí)分析來自所述DSP的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入存儲(chǔ)模塊中的錄像文件中,將幀索引信息寫入存儲(chǔ)模塊中的索引文件中; 回放控制模塊,根據(jù)回放請求中攜帶的采集信息,從存儲(chǔ)模塊中讀取與采集信息匹配的錄像文件及索引文件,根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放; 存儲(chǔ)模塊,保存以采集信息為名稱的錄像文件及以采集信息為名稱的索引文件; 所述采集信息至少包含通道號(hào)、起始時(shí)間點(diǎn)及結(jié)束時(shí)間點(diǎn)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述幀索引信息至少包含幀類型、幀率、文件內(nèi)偏移、幀時(shí)間戳及幀大小。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述碼流分析模塊包含 碼流接收單元,接收所述DSP輸出的編碼數(shù)據(jù),將編碼數(shù)據(jù)輸出至碼流分析單元;碼流分析單元,從接收到的編碼數(shù)據(jù)中剝離幀索引信息,獲得幀數(shù)據(jù)及幀索引信息,將幀數(shù)據(jù)及幀索引信息輸出至第一數(shù)據(jù)寫入單元; 第一數(shù)據(jù)寫入單元,將幀數(shù)據(jù)寫入存儲(chǔ)模塊中以采集信息為名稱的當(dāng)前的錄像文件,檢測存儲(chǔ)模塊中當(dāng)前的錄像文件的大小是否超出了預(yù)設(shè)值,在超出預(yù)設(shè)值時(shí),建立一個(gè)以采集信息為名稱的新的錄像文件; 所述第一數(shù)據(jù)寫入單元將幀索引信息寫入以采集信息為名稱的索引文件中; 所述新的錄像文件的名稱中的起始時(shí)間點(diǎn)為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述碼流分析模塊包含 碼流接收單元,接收所述DSP輸出的編碼數(shù)據(jù),將編碼數(shù)據(jù)輸出至碼流分析單元;碼流分析單元,從接收到的編碼數(shù)據(jù)中剝離幀索引信息,獲得幀數(shù)據(jù)及幀索引信息,將幀數(shù)據(jù)及幀索引信息輸出至第二數(shù)據(jù)寫入單元; 第二數(shù)據(jù)寫入單元,記錄一個(gè)寫入開始時(shí)間,將幀數(shù)據(jù)寫入存儲(chǔ)模塊中以采集信息為名稱的當(dāng)前的錄像文件,檢測當(dāng)前時(shí)間與寫入開始時(shí)間的差值是否超出預(yù)設(shè)的時(shí)間段,在超出預(yù)設(shè)的時(shí)間段時(shí),建立一個(gè)以采集信息為名稱的新的錄像文件; 所述第二數(shù)據(jù)寫入單元將幀索引信息寫入以采集信息為名稱的索引文件中; 所述新的錄像文件的名稱中的起始時(shí)間為當(dāng)前的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn);所述新的錄像文件的名稱中的結(jié)束時(shí)間點(diǎn)為由起始時(shí)間點(diǎn)及預(yù)設(shè)的時(shí)間段計(jì)算獲得。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述回放控制模塊包含 信息匹配單元,根據(jù)接收到的回放請求中攜帶的采集信息,從存儲(chǔ)模塊中讀取名稱與采集信息匹配的錄像文件及索引文件,將接收到的回放請求中攜帶的回放速度信息及索引文件輸出至索引抽取單元,將錄像文件輸出至數(shù)據(jù)輸出單元; 索引抽取單元,根據(jù)回放請求中攜帶的回放速度信息,判斷是否為一般回放,如果是,輸出第一觸發(fā)至數(shù)據(jù)輸出單元,否則,根據(jù)請求的回放速度及索引文件中的幀索引信息包含的幀率,讀取幀索引信息中的文件內(nèi)偏移及幀大小,輸出第二觸發(fā)、文件內(nèi)偏移及幀大小至數(shù)據(jù)輸出單元; 數(shù)據(jù)輸出單元,根據(jù)第一觸發(fā),從錄像文件中讀取幀數(shù)據(jù),并按照一般速度輸出幀數(shù)據(jù),根據(jù)第二觸發(fā)、文件內(nèi)偏移及幀大小,從錄像文件中讀取幀數(shù)據(jù),按照請求的回放速度輸出幀數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種錄像文件的回放方法,該方法中,實(shí)時(shí)分析接收到的碼流,從碼流中提取幀索引信息,將碼流中的幀數(shù)據(jù)寫入以采集信息為名稱的錄像文件中,將幀索引信息寫入以采集信息為名稱的索引文件中;根據(jù)回放請求中攜帶的采集信息,獲得名稱與采集信息匹配的錄像文件及索引文件;根據(jù)回放請求中攜帶的回放速度信息及索引文件中的幀索引信息,讀取錄像文件中保存的幀數(shù)據(jù),并按照請求的回放速度控制幀數(shù)據(jù)的回放。本發(fā)明還提供了一種錄像文件的回放裝置。采用本發(fā)明的方法及裝置,能夠提高回放的實(shí)時(shí)性,對(duì)回放的速度進(jìn)行有效地控制。
文檔編號(hào)G11B19/02GK102750962SQ201210195049
公開日2012年10月24日 申請日期2012年6月11日 優(yōu)先權(quán)日2012年6月11日
發(fā)明者劉千通, 劉彥, 張海明, 王建煒 申請人:杭州海康威視數(shù)字技術(shù)股份有限公司