專利名稱:面向視頻監(jiān)控的流媒體緩存方法、裝置、控制器和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻監(jiān)控播放控制技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種面向視頻監(jiān)控的流媒體緩存方法、裝置、控制器和系統(tǒng)。
背景技術(shù):
監(jiān)控系統(tǒng)是安裝在道路、商場(chǎng)、地鐵等公共場(chǎng)所中的實(shí)時(shí)監(jiān)測(cè)與控制系統(tǒng),所述監(jiān)控系統(tǒng)主要由前端監(jiān)視設(shè)備、傳輸設(shè)備、中央處理系統(tǒng)三部分組成。所述前端監(jiān)視設(shè)備通過(guò)所述傳輸設(shè)備將實(shí)時(shí)監(jiān)測(cè)信息,包括視頻、聲音等發(fā)送給中央處理系統(tǒng),并存儲(chǔ)在所述中央處理系統(tǒng)的服務(wù)器中??蛻舳擞?jì)算機(jī)在調(diào)閱錄像時(shí)通常需要遠(yuǎn)程回放,由于網(wǎng)絡(luò)帶寬的不穩(wěn)定造成回放不流暢。針對(duì)上述技術(shù)需求,現(xiàn)有技術(shù)提出從服務(wù)器將文件按照字節(jié)方式下載到客戶端計(jì)算機(jī),并按時(shí)間順序播放。然而,上述現(xiàn)有技術(shù)由于在回放過(guò)程中往往需要慢速播放,或進(jìn)行大時(shí)間跨度的跳轉(zhuǎn),如果按照字節(jié)進(jìn)行存儲(chǔ)(存儲(chǔ)的可能是數(shù)月的監(jiān)控視頻),故而由于存儲(chǔ)文件數(shù)據(jù)量巨大而難于實(shí)現(xiàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種面向視頻監(jiān)控的流媒體緩存方法、裝置、控制器和系統(tǒng),以克服現(xiàn)有技術(shù)中數(shù)據(jù)存儲(chǔ)量大的技術(shù)缺陷,并實(shí)現(xiàn)客戶端計(jì)算機(jī)調(diào)閱錄像時(shí)流暢播放的技術(shù)目的?!矫妫景l(fā)明實(shí)施例公開(kāi)了 —種面向視頻監(jiān)控的流媒體緩存方法,包括將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放??蛇x地,上述方法還包括當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù);當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器??蛇x地,上述方法還包括檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);
當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí);提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;刪除所述第二緩存文件??蛇x地,上述方法還包括判斷所述服務(wù)器中未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),提取與該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像巾貞數(shù)據(jù)。另一方面,本發(fā)明實(shí)施例還公開(kāi)了 一種面向視頻監(jiān)控的流媒體緩存裝置,其特征在于,包括發(fā)送模塊,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;緩存模塊,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);播放模塊,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。又一方面,本發(fā)明實(shí)施例還公開(kāi)了
一種面向視頻監(jiān)控的流媒體緩存控制器,包括處理器和存儲(chǔ)器,所述處理器讀取并執(zhí)行所述存儲(chǔ)器中的指令,所述存儲(chǔ)器中的指令包括發(fā)送模塊,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;緩存模塊,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);播放模塊,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。再一方面,本發(fā)明實(shí)施例還公開(kāi)了 一種面向視頻監(jiān)控的流媒體緩存系統(tǒng),包括上述面向視頻監(jiān)控的流媒體緩存控制器。從上述的技術(shù)方案可以看出,本發(fā)明實(shí)施例基于視頻監(jiān)控的流媒體遠(yuǎn)程回放場(chǎng)景,將視頻錄像按照按幀進(jìn)行發(fā)送,并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),在進(jìn)行視頻錄像遠(yuǎn)程回放時(shí),客戶端計(jì)算機(jī)將服務(wù)器發(fā)送的視頻錄像幀數(shù)據(jù)進(jìn)行緩存,所述視頻錄像幀數(shù)據(jù)具備與播放起始時(shí)間相應(yīng)的時(shí)間標(biāo)識(shí),所述視頻錄像幀數(shù)據(jù)由客戶端計(jì)算機(jī)讀取、解碼并播放。上述緩存方法在客戶端計(jì)算機(jī)接收跳轉(zhuǎn)指令時(shí),仍可以依上述方法按幀緩存視頻錄像,本發(fā)明實(shí)施例公開(kāi)的緩存方法將視頻錄像數(shù)據(jù)按幀劃分并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),節(jié)省了按照字節(jié)進(jìn)行存儲(chǔ)而無(wú)法進(jìn)行時(shí)間分割所造成的巨大存儲(chǔ)文件數(shù)據(jù)量,并實(shí)現(xiàn)了緩存后視頻錄像的流暢播放。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存方法流程圖;圖2為本發(fā)明又一實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存方法流程圖;圖3為本發(fā)明又一實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存方法流程圖;圖4為本發(fā)明又一實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存方法流程圖;圖5為本發(fā)明實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存裝置結(jié)構(gòu)示意圖;圖6為本發(fā)明又一實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存裝置結(jié)構(gòu)示意 圖;圖7為本發(fā)明實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存控制器結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例公開(kāi)的一種面向視頻監(jiān)控的流媒體緩存系統(tǒng)。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例公開(kāi)了一種面向視頻監(jiān)控的流媒體緩存方法、裝置、控制器和系統(tǒng), 以克服現(xiàn)有技術(shù)中數(shù)據(jù)存儲(chǔ)量大的技術(shù)缺陷,并實(shí)現(xiàn)客戶端計(jì)算機(jī)調(diào)閱錄像時(shí)流暢播放的 技術(shù)目的。圖1示出了一種面向視頻監(jiān)控的流媒體緩存方法,包括S11 :將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;本實(shí)施例中的緩存方法以客戶端計(jì)算機(jī)為執(zhí)行主體進(jìn)行說(shuō)明,所述客戶端計(jì)算機(jī) 是提供用戶進(jìn)行視頻錄像幀數(shù)據(jù)查閱的媒介,用戶可打開(kāi)所述計(jì)算機(jī)客戶端對(duì)視頻監(jiān)控系 統(tǒng)中的某一路前端設(shè)備在預(yù)設(shè)時(shí)間端內(nèi)的視頻錄像進(jìn)行回放。當(dāng)需要回放時(shí),用戶進(jìn)入客戶端應(yīng)用軟件發(fā)出播放指令,所述播放指令至少包括 播放的起始時(shí)間,例如,用戶需要對(duì)安裝于3號(hào)建筑中2樓1廊道1號(hào)前端設(shè)備的視頻錄像 進(jìn)行回放,播放指令中的起始時(shí)間為2011年12月3日19:00。所述客戶端計(jì)算機(jī)將該播放指令轉(zhuǎn)發(fā)給服務(wù)器,服務(wù)器從存儲(chǔ)的視頻錄像中提取 時(shí)間標(biāo)識(shí)為2011年12月3日19:00的視頻錄像幀數(shù)據(jù)。S12:接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像 幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);所述客戶端計(jì)算機(jī)接收到服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),也就是 接收到服務(wù)器從存儲(chǔ)的視頻錄像中提取時(shí)間標(biāo)識(shí)為2011年12月3日19:00:00的視頻錄 像幀數(shù)據(jù),所述服務(wù)器中存儲(chǔ)的視頻錄像數(shù)據(jù)均為有時(shí)間戳的幀數(shù)據(jù),因?yàn)榫邆淇梢圆檎?的時(shí)間點(diǎn),在進(jìn)行跳轉(zhuǎn)時(shí),即由服務(wù)器查找并立即跳轉(zhuǎn)到與跳轉(zhuǎn)指令中攜帶的時(shí)間點(diǎn)相應(yīng) 時(shí)間標(biāo)識(shí)(每幀數(shù)據(jù)的時(shí)間標(biāo)識(shí)都是唯一的),并提取該時(shí)間標(biāo)識(shí)的幀數(shù)據(jù),以該幀數(shù)據(jù)為 起始,發(fā)送后續(xù)時(shí)間標(biāo)識(shí)對(duì)應(yīng)的幀數(shù)據(jù),并由所述客戶端計(jì)算機(jī)實(shí)現(xiàn)緩存。件中所保存視頻錄像的起始時(shí)間,以及視頻錄像幀數(shù)據(jù)的索引表等。所述索引表對(duì)應(yīng)幀數(shù)據(jù)并在進(jìn)行本地查找時(shí)根據(jù)時(shí)間標(biāo)識(shí)提供查找功能。需要說(shuō)明的是,在發(fā)生跳轉(zhuǎn)時(shí),進(jìn)行緩存的操作可選擇在又一緩存文件中緩存,以方便客戶端計(jì)算機(jī)進(jìn)行本地查找和緩存文件的處理;需要明確的是,跳轉(zhuǎn)指令實(shí)際上也是播放指令,是在首次進(jìn)行播放指令轉(zhuǎn)發(fā)后,在該次回放過(guò)程中又一次選取播放的初始時(shí)間,并可在客戶端計(jì)算機(jī)中新建緩存文件按照上述文件進(jìn)行緩存,所存儲(chǔ)的錄像視頻幀數(shù)據(jù)緩存文件也可以按照用戶的需要存放入文件夾內(nèi),便于管理或查看,所述文件夾可事先設(shè)定存放的目錄中。S13 :讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放??蛻舳擞?jì)算機(jī)從所述緩存文件中讀取幀數(shù)據(jù)送入到解碼器中解碼并顯示。上述實(shí)現(xiàn)方式將視頻錄像數(shù)據(jù)按幀劃分并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),客戶端計(jì)算機(jī)與服務(wù)器按照時(shí)間標(biāo)識(shí)進(jìn)行索引,節(jié)省了按照字節(jié)進(jìn)行存儲(chǔ)而無(wú)法進(jìn)行時(shí)間識(shí)別和分割所造成的巨大存儲(chǔ)文件數(shù)據(jù)量,并實(shí)現(xiàn)了緩存后視頻錄像的流暢播放。圖2示出了又一種面向視頻監(jiān)控的流媒體緩存方法,包括S21 :當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);需要明確的是,跳轉(zhuǎn)指令實(shí)際上也是播放指令,是在首次進(jìn)行播放指令轉(zhuǎn)發(fā)后,在該次回放過(guò)程中又一次選取播放的初始時(shí)間,并可在客戶端計(jì)算機(jī)中新建緩存文件按照上述文件進(jìn)行緩存。當(dāng)然,在首次客戶端計(jì)算機(jī)接收到播放指令時(shí),也可進(jìn)行本地緩存文件(本臺(tái)客戶端計(jì)算機(jī)硬盤(pán)中存儲(chǔ)的緩存文件,或者是與本臺(tái)客戶端計(jì)算機(jī)具有共享關(guān)系的其他計(jì)算機(jī)硬盤(pán)中存儲(chǔ)的緩存文件)中跳轉(zhuǎn)時(shí)間標(biāo)識(shí)所對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)的查找。
S22:判斷本地緩存文件內(nèi)是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),若搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則執(zhí)行S23,否則執(zhí)行S24 ;由于跳轉(zhuǎn)指令可能涉及的時(shí)間跨度較大,服務(wù)器進(jìn)行查找及對(duì)視頻錄像幀數(shù)據(jù)的查找和發(fā)送時(shí)間較長(zhǎng),為了及時(shí)找到所需視頻錄像數(shù)據(jù),可優(yōu)選在客戶端計(jì)算機(jī)本地緩存文件中,查找是否有幀數(shù)據(jù)攜帶有與跳轉(zhuǎn)時(shí)間標(biāo)識(shí)對(duì)應(yīng)的時(shí)間標(biāo)識(shí),從而可提取對(duì)應(yīng)幀數(shù)據(jù)進(jìn)行讀取、解碼和播放。需要說(shuō)明的是,所述本地緩存文件存放在設(shè)定的目錄下,如果對(duì)該目錄路徑有修改,需要修改執(zhí)行該緩存方法的配置文件,以保持與實(shí)際的存放目錄相一致,否則將搜索不到曾經(jīng)緩存的文件而需重新緩存。S23 :當(dāng)讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;S24 :將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。在上述搜索指示失敗時(shí),可將所述跳轉(zhuǎn)指令作為新的播放指令轉(zhuǎn)發(fā)給服務(wù)器,按照?qǐng)D1圖示及其說(shuō)明的步驟進(jìn)行緩存、讀取、解碼和播放。圖3示出了又一種面向視頻監(jiān)控的流媒體緩存方法,包括S31 :檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù),當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí),執(zhí)行S32,否則循環(huán)檢查;S32 :提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù);S33 :將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;
S34 :刪除所述第二緩存文件。當(dāng)查看次數(shù)較多或跳轉(zhuǎn)操作較多時(shí),則會(huì)出現(xiàn)多個(gè)緩存文件,這些緩存文件中的幀數(shù)據(jù)可能會(huì)出現(xiàn)相同的幀數(shù)據(jù),即相同的時(shí)間標(biāo)識(shí),在這樣有時(shí)間段重疊的情況下,當(dāng)播放到客戶端計(jì)算機(jī)本地有時(shí)間重疊的幀數(shù)據(jù)時(shí),則將后一緩存文件中的未重復(fù)幀數(shù)據(jù)寫(xiě)入前一段緩存文件中,當(dāng)后一段數(shù)據(jù)都連接到前一段數(shù)據(jù)后,將后一緩存文件刪除以減少碎片文件。在不同緩存文件中進(jìn)行攜帶相同時(shí)間標(biāo)識(shí)的幀數(shù)據(jù)檢查,通過(guò)對(duì)重復(fù)幀數(shù)據(jù)的刪除,時(shí)間標(biāo)識(shí)相接的幀數(shù)據(jù)進(jìn)行拼接,減少了緩存文件的空間占用和文件碎片。圖4示出了又一種面向視頻監(jiān)控的流媒體緩存方法,包括S41 :將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;S42 :判斷所述服務(wù)器中是否包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù),當(dāng)判斷時(shí)所述服務(wù)器中包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù),則執(zhí)行S43,否則執(zhí)行S45 S43:接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);S44 :讀取并解碼所述視 頻錄像幀數(shù)據(jù)并進(jìn)行播放。S45 :提取與該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)。在所述服務(wù)器沒(méi)有存儲(chǔ)相應(yīng)的視頻錄像幀數(shù)據(jù)時(shí),服務(wù)器找到存儲(chǔ)有數(shù)據(jù)與該播放起始時(shí)間最近時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)發(fā)送至所述客戶端計(jì)算機(jī)中,舉例說(shuō)明服務(wù)器在某天的8:0(Tl 1:00,13:00^15:00,20:00^23:00有錄像數(shù)據(jù),用戶在客戶端計(jì)算機(jī)播放當(dāng)天的9:0(Γ19:00的錄像,播放過(guò)程中用戶操作跳轉(zhuǎn)到18:00 (或者用戶指定播放當(dāng)天18:0(Γ19:00的錄像),則服務(wù)器可能會(huì)跳轉(zhuǎn)到20:00,此時(shí)判斷播放已經(jīng)超出指定的時(shí)間段,則播放結(jié)束并返回播放失敗的信息。圖5示出了一種面向視頻監(jiān)控的流媒體緩存裝置,包括發(fā)送模塊51,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;緩存模塊52,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);播放模塊53,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。上述裝置,為與圖1圖示及實(shí)施例中方法各個(gè)步驟對(duì)應(yīng)一致的功能模塊,由這樣的功能模塊限定的裝置為實(shí)現(xiàn)本發(fā)明技術(shù)方案的功能模塊構(gòu)架。圖6示出了又一種面向視頻監(jiān)控的流媒體緩存裝置,在圖5圖示及其說(shuō)明的基礎(chǔ)上,還包括跳轉(zhuǎn)指令處理模塊61,用于當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù);當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。碎片處理模塊62,用于檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí);提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;刪除所述第二緩存文件。服務(wù)器文件檢查及處理模塊63,用于在所述服務(wù)器判斷得到未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),接收由服務(wù)器提取的該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)。結(jié)合本文中所公開(kāi)的圖2-圖4對(duì)應(yīng)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。圖7 —種面向視頻監(jiān)控的流媒體緩存控制器,包括處理器71和存儲(chǔ)器72,所述處理器71讀取并執(zhí)行所述存儲(chǔ)器72中的指令,所述存儲(chǔ)器72中的指令包括發(fā)送模塊,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間; 緩存模塊,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);播放模塊,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。以及跳轉(zhuǎn)指令處理模塊,用于當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù);當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。碎片處理模塊,用于檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí);提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;刪除所述第二緩存文件。服務(wù)器文件檢查及處理模塊,用于在所述服務(wù)器判斷得到未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),接收由服務(wù)器提取的該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。圖8示出了一種面向視頻監(jiān)控的流媒體緩存系統(tǒng),包括圖7對(duì)應(yīng)實(shí)施例所述的面向視頻監(jiān)控的流媒體緩存控制器。所述數(shù)據(jù)處理控制器的結(jié)構(gòu)參見(jiàn)圖7圖示及其對(duì)應(yīng)說(shuō)明,所述數(shù)據(jù)處理控制器的工作原理參見(jiàn)圖1-4的圖示及其對(duì)應(yīng)說(shuō)明,不再贅述。需要說(shuō)明的是,所述面向視頻監(jiān)控的流媒體緩存系統(tǒng)可包括視頻監(jiān)控系統(tǒng)中所包含的前端設(shè)備81、通訊網(wǎng)絡(luò)和服務(wù)器82等構(gòu)件。所述緩存控制器可裝設(shè)于客戶端計(jì)算機(jī)83中,所述緩存系統(tǒng)中可設(shè)置多臺(tái)客戶端計(jì)算機(jī),多臺(tái)客戶端計(jì)算機(jī)之間可進(jìn)行緩存文件的共享,即實(shí)現(xiàn)上文中所述視頻錄像幀數(shù)據(jù)的本地查找功能。綜上所述本發(fā)明實(shí)施例基于視頻監(jiān)控的流媒體遠(yuǎn)程回放場(chǎng)景,將視頻錄像按照按幀進(jìn)行發(fā)送,并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),在進(jìn)行視頻錄像遠(yuǎn)程回放時(shí),客戶端計(jì)算機(jī)將服務(wù)器發(fā)送的視頻錄像幀數(shù)據(jù)進(jìn)行緩存,所述視頻錄像幀數(shù)據(jù)具備與播放起始時(shí)間相應(yīng)的時(shí)間標(biāo)識(shí),所述視頻錄像幀數(shù)據(jù)由客戶端計(jì)算機(jī)讀取、解碼并播放。上述緩存方法在客戶端計(jì)算機(jī)接收跳轉(zhuǎn)指令時(shí),仍可以依上述方法按幀緩存視頻錄像,本發(fā)明實(shí)施例公開(kāi)的緩存方法將視頻錄像數(shù)據(jù)按幀劃分并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),節(jié)省了按照字節(jié)進(jìn)行存儲(chǔ)而無(wú)法進(jìn)行時(shí)間分割所造成的巨大存儲(chǔ)文件數(shù)據(jù)量,并實(shí)現(xiàn)了緩存后視頻錄像的流暢播放。并且,本發(fā)明實(shí)施例還公開(kāi)了在不同緩存文件中進(jìn)行攜帶相同時(shí)間標(biāo)識(shí)的幀數(shù)據(jù)檢查,通過(guò)對(duì)重復(fù)幀數(shù)據(jù)的刪除,時(shí)間標(biāo)識(shí)相接的幀數(shù)據(jù)進(jìn)行拼接,減少了緩存文件的空間占用和文件碎片。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相應(yīng)于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明實(shí)施例的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明實(shí)施例將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1.一種面向視頻監(jiān)控的流媒體緩存方法,其特征在于,包括將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。
2.如權(quán)利要求1所述的面向視頻監(jiān)控的流媒體緩存方法,其特征在于,還包括當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù);當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。
3.如權(quán)利要求1所述的面向視頻監(jiān)控的流媒體緩存方法,其特征在于,還包括檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí);提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;刪除所述第二緩存文件。
4.如權(quán)利要求1所述的面向視頻監(jiān)控的流媒體緩存方法,其特征在于,還包括判斷所述服務(wù)器中未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),提取與該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像巾貞數(shù)據(jù)。
5.一種面向視頻監(jiān)控的流媒體緩存裝置,其特征在于,包括發(fā)送模塊,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;緩存模塊,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);播放模塊,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。
6.如權(quán)利要求5所述的面向視頻監(jiān)控的流媒體緩存裝置,其特征在于,還包括跳轉(zhuǎn)指令處理模塊,用于當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí);搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù);當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放;否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。
7.如權(quán)利要求5所述的面向視頻監(jiān)控的流媒體緩存裝置,其特征在于,還包括碎片處理模塊,用于檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí); 提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中; 刪除所述第二緩存文件。
8.如權(quán)利要求5所述的面向視頻監(jiān)控的流媒體緩存裝置,其特征在于,還包括 服務(wù)器文件檢查及處理模塊,用于在所述服務(wù)器判斷得到未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),接收由服務(wù)器提取的該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)。
9.一種面向視頻監(jiān)控的流媒體緩存控制器,其特征在于,包括 處理器和存儲(chǔ)器,所述處理器讀取并執(zhí)行所述存儲(chǔ)器中的指令,所述存儲(chǔ)器中的指令包括 發(fā)送模塊,用于將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間; 緩存模塊,用于接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí); 播放模塊,用于讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。
10.如權(quán)利要求9所述的面向視頻監(jiān)控的流媒體緩存控制器,其特征在于,所述存儲(chǔ)器中的指令還包括 跳轉(zhuǎn)指令處理模塊,用于 當(dāng)接收到跳轉(zhuǎn)指令時(shí),解析所述跳轉(zhuǎn)指令并獲取其中的跳轉(zhuǎn)時(shí)間標(biāo)識(shí); 搜索本地文件中是否存在包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù); 當(dāng)搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),則讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放; 否則,當(dāng)未搜索到所述包括所述跳轉(zhuǎn)時(shí)間標(biāo)識(shí)的視頻錄像幀數(shù)據(jù),將接收的跳轉(zhuǎn)指令轉(zhuǎn)發(fā)至所述服務(wù)器。
11.如權(quán)利要求9所述的面向視頻監(jiān)控的流媒體緩存控制器,其特征在于,所述存儲(chǔ)器中的指令還包括 碎片處理模塊,用于檢查本地緩存所述視頻錄像幀數(shù)據(jù)的緩存文件中是否存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù);當(dāng)判斷得到第一緩存文件與第二緩存文件中存在時(shí)間標(biāo)識(shí)一致的視頻錄像幀數(shù)據(jù)時(shí); 提取第二緩存文件中與該時(shí)間標(biāo)識(shí)相接的時(shí)間標(biāo)識(shí)所對(duì)應(yīng)視頻錄像幀數(shù)據(jù),將所述對(duì)應(yīng)視頻錄像幀數(shù)據(jù)寫(xiě)入所述第一緩存文件中;刪除所述第二緩存文件。
12.如權(quán)利要求9所述的面向視頻監(jiān)控的流媒體緩存控制器,其特征在于,所述存儲(chǔ)器中的指令還包括 服務(wù)器文件檢查及處理模塊,用于在所述服務(wù)器判斷得到未包含與所述播放起始時(shí)間對(duì)應(yīng)視頻錄像幀數(shù)據(jù)時(shí),接收由服務(wù)器提取的該播放起始時(shí)間最近的時(shí)間點(diǎn)對(duì)應(yīng)的視頻錄像幀數(shù)據(jù)。
13.一種面向視頻監(jiān)控的流媒體緩存系統(tǒng),其特征在于,包括權(quán)利要求9-12所述的面向視頻監(jiān)控的流媒體緩存控制器。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種面向視頻監(jiān)控的流媒體緩存方法、裝置、控制器和系統(tǒng),其中方法包括將接收的播放指令轉(zhuǎn)發(fā)至服務(wù)器,所述播放指令包括播放起始時(shí)間;接收并緩存由服務(wù)器發(fā)送的針對(duì)播放指令的視頻錄像幀數(shù)據(jù),所述視頻錄像幀數(shù)據(jù)的每幀數(shù)據(jù)均包括時(shí)間標(biāo)識(shí);讀取并解碼所述視頻錄像幀數(shù)據(jù)并進(jìn)行播放。本發(fā)明實(shí)施例公開(kāi)的緩存方法將視頻錄像數(shù)據(jù)按幀劃分并對(duì)每幀數(shù)據(jù)附以時(shí)間標(biāo)識(shí),節(jié)省了按照字節(jié)進(jìn)行存儲(chǔ)而無(wú)法進(jìn)行時(shí)間分割所造成的巨大存儲(chǔ)文件數(shù)據(jù)量,并實(shí)現(xiàn)了緩存后視頻錄像的流暢播放。
文檔編號(hào)H04N21/232GK103067696SQ201310039929
公開(kāi)日2013年4月24日 申請(qǐng)日期2013年1月31日 優(yōu)先權(quán)日2013年1月31日
發(fā)明者蔡志勇 申請(qǐng)人:東方網(wǎng)力科技股份有限公司