本申請(qǐng)涉及視頻拍攝領(lǐng)域,特別涉及一種視頻預(yù)拍攝的方法和拍攝設(shè)備。
背景技術(shù):
視頻(video)泛指將一系列靜態(tài)影像以電信號(hào)的方式加以捕捉、紀(jì)錄、處理、儲(chǔ)存、傳送與重現(xiàn)的各種技術(shù)。連續(xù)的圖像變化每秒超過(guò)24幀(frame)畫面以上時(shí),根據(jù)視覺暫留原理,人眼無(wú)法辨別單幅的靜態(tài)畫面;看上去是平滑連續(xù)的視覺效果,這樣連續(xù)的畫面叫做視頻。
視頻技術(shù)最早是為了電視系統(tǒng)而發(fā)展,但現(xiàn)在已經(jīng)發(fā)展為各種不同的格式以利操作者將視頻記錄下來(lái)。網(wǎng)絡(luò)技術(shù)的發(fā)達(dá)也促使視頻的紀(jì)錄片段以串流媒體的形式存在于因特網(wǎng)之上并可被電腦接收與播放。
隨著攝像設(shè)備的普及和操作簡(jiǎn)便化,普通使用者和專業(yè)操作者都可以快速、便捷、隨時(shí)隨地的進(jìn)行視頻拍攝,以記錄面前發(fā)生的各種情況和信息。
無(wú)論是在專業(yè)領(lǐng)域(例如:執(zhí)法取證等),還是在日常生活中(例如對(duì)于生活中有趣的,或者有特殊意義的畫面記錄),都需要人為啟動(dòng)拍攝才會(huì)開始視頻記錄,但是,人為判定開始拍攝需要反應(yīng)時(shí)間,一般都是在事件發(fā)生后才會(huì)意識(shí)到需要開始拍攝,尤其是一些突發(fā)事件的拍攝,更是無(wú)從預(yù)判。因此,現(xiàn)有技術(shù)方案中對(duì)于視頻的拍攝啟動(dòng),實(shí)際上都是在事件發(fā)生后開始,也就是說(shuō),對(duì)于事件最開始的部分,由于操作者的反應(yīng)時(shí)間或者設(shè)備的操作時(shí)間而無(wú)法記錄,導(dǎo)致了完整事件的內(nèi)容損失。
例如:對(duì)于專業(yè)領(lǐng)域,交警,城管等執(zhí)法人員,在執(zhí)法過(guò)程中,需要錄像取證。當(dāng)需要取證時(shí),可能已經(jīng)錯(cuò)過(guò)了錄像時(shí)間。而對(duì)于生活場(chǎng)景,一個(gè)突然的絢麗自然現(xiàn)象,孩子短暫的一個(gè)有趣表情,愛人一個(gè)突然的浪漫舉動(dòng)等等,都會(huì)因?yàn)榘l(fā)生的突然而沒有預(yù)判拍攝的時(shí)間,從而錯(cuò)過(guò)了寶貴畫面的記錄。
現(xiàn)有技術(shù)為了克服上述的問(wèn)題,通過(guò)預(yù)拍攝的方式進(jìn)行視頻信息的獲取,在正常拍攝之前,將預(yù)拍攝的數(shù)據(jù)進(jìn)行存儲(chǔ),并在正常拍攝開始后,直接將預(yù)拍攝的視頻轉(zhuǎn)化為正式的視頻數(shù)據(jù),避免預(yù)拍攝畫面的缺失。
申請(qǐng)人在實(shí)現(xiàn)本申請(qǐng)的過(guò)程中發(fā)現(xiàn),上述現(xiàn)有的處理方案至少存在如下的問(wèn)題:
現(xiàn)有的預(yù)拍攝方案是在緩存或其他臨時(shí)存儲(chǔ)空間中進(jìn)行預(yù)拍攝的視頻數(shù)據(jù)的存儲(chǔ),在正常拍攝開始后,直接將預(yù)拍攝的視頻轉(zhuǎn)化為正式的視頻數(shù)據(jù)。這樣處理的問(wèn)題就在于會(huì)導(dǎo)致預(yù)拍攝的視頻數(shù)據(jù)量受到緩存或其他臨時(shí)存儲(chǔ)空間大小的限制,導(dǎo)致預(yù)拍攝視頻數(shù)據(jù)量的限制,限制預(yù)拍攝視頻的時(shí)長(zhǎng)和效果,影響了通過(guò)視頻進(jìn)行事件記錄的內(nèi)容完整性。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例提供一種視頻預(yù)拍攝的方法和拍攝設(shè)備,以實(shí)現(xiàn)預(yù)拍攝視頻量的自由控制,提升視頻事件內(nèi)容記錄完整性。
為了達(dá)到上述技術(shù)目的,本申請(qǐng)?zhí)峁┝艘环N視頻預(yù)拍攝的方法,所述方法具體包括:
在預(yù)拍攝模式下,若預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值,則將最新接收到的編碼完成的視頻數(shù)據(jù)塊覆蓋當(dāng)前已存儲(chǔ)的存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊;
當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),在當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊之后,存儲(chǔ)視頻拍攝啟動(dòng)后所獲取的正常拍攝視頻數(shù)據(jù);
當(dāng)接收到視頻拍攝結(jié)束指示時(shí),將當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊按照存儲(chǔ)時(shí)間順序進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù),并在所述預(yù)拍攝視頻數(shù)據(jù)之后添加所述正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
優(yōu)選的,所述預(yù)拍攝模式的啟動(dòng)方式,具體包括以下模式中的一種或多種組合:
設(shè)備開機(jī)即進(jìn)入預(yù)拍攝模式;
預(yù)設(shè)時(shí)間觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)位置坐標(biāo)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)設(shè)備狀態(tài)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
優(yōu)選的,所述預(yù)拍攝模式啟動(dòng)后,還包括:
創(chuàng)建視頻文件的文件頭信息;
其中,在接收到視頻拍攝結(jié)束指示時(shí),將所述文件頭信息添加到所述當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件之前,生成當(dāng)前結(jié)束的視頻拍攝過(guò)程所拍攝的視頻文件。
優(yōu)選的,當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),還包括:
在預(yù)設(shè)了視頻文件的文件頭信息更新規(guī)則的情況下,對(duì)預(yù)拍攝模式所創(chuàng)建的視頻文件的文件頭信息的內(nèi)容進(jìn)行更新。
優(yōu)選的,所述將當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊按照存儲(chǔ)時(shí)間順序進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù),具體包括:
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的存儲(chǔ)時(shí)間戳信息的先后順序,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù);或,
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的排位順序信息,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù)。
另一方面,本申請(qǐng)實(shí)施例還提出了一種拍攝設(shè)備,具體包括:
模式管理模塊,用于啟動(dòng)預(yù)拍攝模式,以及當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),啟動(dòng)正常拍攝模式,或當(dāng)接收到視頻拍攝結(jié)束指示時(shí),結(jié)束正常拍攝模式;
第一存儲(chǔ)模塊,用于在所述模式管理模塊啟動(dòng)預(yù)拍攝模式時(shí),若預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值,則將最新接收到的編碼完成的視頻數(shù)據(jù)塊覆蓋當(dāng)前已存儲(chǔ)的存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊;
第二存儲(chǔ)模塊,用于在所述模式管理模塊啟動(dòng)正常拍攝模式時(shí),在所述第一存儲(chǔ)模塊當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊之后,存儲(chǔ)視頻拍攝啟動(dòng)后所獲取的正常拍攝視頻數(shù)據(jù);
生成模塊,用于在所述模式管理模塊結(jié)束正常拍攝模式時(shí),將所述第一存儲(chǔ)模塊當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊按照存儲(chǔ)時(shí)間順序進(jìn)行排列,
生成預(yù)拍攝視頻數(shù)據(jù),并在所述預(yù)拍攝視頻數(shù)據(jù)之后添加所述第二存儲(chǔ)模塊所存儲(chǔ)的正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
優(yōu)選的,所述模式管理模塊,具體用于:
通過(guò)以下模式中的一種或多種組合啟動(dòng)預(yù)拍攝模式:
設(shè)備開機(jī)即進(jìn)入預(yù)拍攝模式;
預(yù)設(shè)時(shí)間觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)位置坐標(biāo)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)設(shè)備狀態(tài)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
優(yōu)選的,所述拍攝設(shè)備,還包括:
文件頭管理模塊,用于在所述模式管理模塊啟動(dòng)預(yù)拍攝模式后,創(chuàng)建視頻文件的文件頭信息;
所述生成模塊,還用于在所述模式管理模塊結(jié)束正常拍攝模式時(shí),將所述文件頭管理模塊所創(chuàng)建的文件頭信息添加到所述當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件之前,生成當(dāng)前結(jié)束的視頻拍攝過(guò)程所拍攝的視頻文件。
優(yōu)選的,所述文件頭管理模塊,還用于:
在所述模式管理模塊啟動(dòng)正常拍攝模式時(shí),在預(yù)設(shè)了視頻文件的文件頭信息更新規(guī)則的情況下,對(duì)預(yù)拍攝模式所創(chuàng)建的視頻文件的文件頭信息的內(nèi)容進(jìn)行更新。
優(yōu)選的,所述生成模塊,具體用于:
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的存儲(chǔ)時(shí)間戳信息的先后順序,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù);或,
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的排位順序信息,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請(qǐng)實(shí)施例公開了一種視頻預(yù)拍攝的方法和拍攝設(shè)備,該方法在預(yù)拍攝模式,且預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值的情況下,按照存儲(chǔ)時(shí)間順序,用最新的視頻數(shù)據(jù)塊覆蓋最早存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊,在正常拍攝開始后,在所有存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊之后存儲(chǔ)正常拍攝視頻數(shù)據(jù),并在正常拍攝結(jié)束后,按照存儲(chǔ)時(shí)間順序排列預(yù)拍攝視頻數(shù)據(jù)塊,生成預(yù)拍攝視頻數(shù)據(jù),并在預(yù)拍攝視頻數(shù)據(jù)之后,添加正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
通過(guò)應(yīng)用本申請(qǐng)實(shí)施例所提出的技術(shù)方案,可以實(shí)現(xiàn)預(yù)拍攝視頻量的自由控制,提升視頻事件內(nèi)容記錄完整性,而且,在正常拍攝結(jié)束后才進(jìn)行預(yù)拍攝視頻數(shù)據(jù)到正常拍攝數(shù)據(jù)的轉(zhuǎn)換,避免了在預(yù)拍攝視頻數(shù)據(jù)存儲(chǔ)量提升的情況下,在正常拍攝開始時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)換而對(duì)系統(tǒng)正常運(yùn)行和視頻正常拍攝所造成的影響。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例所提出的一種視頻預(yù)拍攝的方法的流程示意圖;
圖2為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的視頻預(yù)拍攝的方法的流程示意圖;
圖3為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間初始情況下的標(biāo)識(shí)設(shè)置情況示意圖;
圖4為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第2秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖;
圖5為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第60秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖;
圖6為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第61秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖;
圖7為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第62秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖;
圖8為本申請(qǐng)實(shí)施例所提出的一種拍攝設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
正如本申請(qǐng)背景技術(shù)所陳述的,對(duì)于現(xiàn)有的視頻拍攝方案,緩存或其他臨時(shí)存儲(chǔ)空間的空間都是有限的,在這些空間中進(jìn)行預(yù)拍攝的視頻數(shù)據(jù)的存儲(chǔ),導(dǎo)致了預(yù)拍攝視頻的總數(shù)據(jù)量受限,在一些需要大幅提前進(jìn)行預(yù)拍攝的場(chǎng)景下,預(yù)拍攝視頻的總數(shù)據(jù)量無(wú)法適應(yīng)性的調(diào)整,不能完整記錄需要的視頻信息。
而且,由于是在緩存或其他臨時(shí)存儲(chǔ)空間進(jìn)行臨時(shí)存儲(chǔ),所以,在正式的視頻拍攝開始時(shí),需要立即將預(yù)拍攝視頻轉(zhuǎn)換為正式的視頻,以便清空緩存或其他臨時(shí)存儲(chǔ)空間,進(jìn)行后續(xù)其他信息的緩存。這樣的處理機(jī)制導(dǎo)致了即使對(duì)緩存或其他臨時(shí)存儲(chǔ)空間進(jìn)行空間上的擴(kuò)大,也不能存儲(chǔ)過(guò)多的預(yù)拍攝視頻數(shù)據(jù),因?yàn)橐坏┐鎯?chǔ)量過(guò)大,在正式的視頻拍攝開始后,預(yù)拍攝視頻到正式視頻的轉(zhuǎn)換需要耗費(fèi)一定的系統(tǒng)資源,容易造成錄制過(guò)程的卡頓或者影響系統(tǒng)的平穩(wěn)運(yùn)行,導(dǎo)致錄制內(nèi)容的缺失,影響通過(guò)視頻進(jìn)行事件記錄的內(nèi)容完整性。
本申請(qǐng)的發(fā)明人希望通過(guò)本申請(qǐng)所提供的方法,可以實(shí)現(xiàn)預(yù)拍攝視頻量的自由控制,提升視頻事件內(nèi)容記錄完整性,避免由于預(yù)拍攝視頻量不足而導(dǎo)致的內(nèi)容記錄缺失問(wèn)題。
如圖1所示,為本申請(qǐng)實(shí)施例所提出的一種視頻預(yù)拍攝的方法的流程示意圖,具體包括:
步驟s101、在預(yù)拍攝模式下,若預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值,則將最新接收到的編碼完成的視頻數(shù)據(jù)塊覆蓋當(dāng)前已存儲(chǔ)的存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊。
具體的,預(yù)拍攝模式下,當(dāng)接收到編碼完成的視頻數(shù)據(jù)塊時(shí),首先,判斷當(dāng)前已存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊的總量是否達(dá)到預(yù)設(shè)的預(yù)拍攝視頻數(shù)據(jù)閾值。
在具體的應(yīng)用場(chǎng)景中,此處說(shuō)明的預(yù)拍攝視頻數(shù)據(jù)閾值的具體形式,可以是數(shù)據(jù)塊總數(shù)量、數(shù)據(jù)大小總值、數(shù)據(jù)所對(duì)應(yīng)的視頻持續(xù)時(shí)間總值等多種形式,具體形式的變化并不會(huì)影響本申請(qǐng)的保護(hù)范圍。
如果達(dá)到,則按照存儲(chǔ)時(shí)間順序,用最新接收到的編碼完成的視頻數(shù)據(jù)塊覆蓋當(dāng)前已存儲(chǔ)的存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊;
如果沒有達(dá)到,則繼續(xù)按順序?qū)⒔邮盏降木幋a完成的視頻數(shù)據(jù)塊存儲(chǔ)為預(yù)拍攝視頻數(shù)據(jù)塊。
通過(guò)上述的處理,可以通過(guò)預(yù)設(shè)閾值對(duì)預(yù)拍攝視頻的總數(shù)據(jù)量進(jìn)行控制,而且,在具體的應(yīng)用場(chǎng)景中,由于存在預(yù)設(shè)閾值的控制,可以在固定存儲(chǔ)空間中劃定預(yù)拍攝視頻數(shù)據(jù)的存儲(chǔ)位置,從而,能夠更多的保存預(yù)拍攝視頻數(shù)據(jù),根據(jù)實(shí)際應(yīng)用的需要調(diào)整相應(yīng)預(yù)設(shè)閾值的數(shù)值,調(diào)整相應(yīng)的存儲(chǔ)空間的大小,不再局限于緩存或其他臨時(shí)存儲(chǔ)空間的限制。
在具體的應(yīng)用場(chǎng)景中,預(yù)拍攝模式的啟動(dòng)方式具體包括以下模式中的一種或多種組合:
模式一、設(shè)備開機(jī)即進(jìn)入預(yù)拍攝模式。
此種模式的優(yōu)勢(shì)在于對(duì)于設(shè)備拍攝功能的無(wú)縫應(yīng)用,只要設(shè)備運(yùn)行,即可實(shí)現(xiàn)預(yù)拍攝的應(yīng)用。
模式二、預(yù)設(shè)時(shí)間觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
此種模式對(duì)于確定需要預(yù)拍攝或者確定不需要預(yù)拍攝的時(shí)間段相對(duì)固定的情況較為適用,例如,對(duì)于睡眠之后的時(shí)間,需要預(yù)拍攝的可能性較低,因此,可以設(shè)置晚上十一點(diǎn)之后關(guān)閉預(yù)拍攝模式,相反,早上八點(diǎn)后進(jìn)入工作時(shí)間,可以設(shè)置在此時(shí)間之后開啟預(yù)拍攝模式。當(dāng)然,上述兩個(gè)時(shí)間只是優(yōu)選的示例,可以根據(jù)需要進(jìn)行調(diào)整和設(shè)置。
模式三、預(yù)設(shè)位置坐標(biāo)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
對(duì)于一些在指定場(chǎng)合需要應(yīng)用或者不需要應(yīng)用預(yù)拍攝功能的情況,此種模式可以結(jié)合位置信息進(jìn)行識(shí)別,例如,針對(duì)執(zhí)法記錄儀,在外出執(zhí)法的時(shí)候才會(huì)需要進(jìn)行記錄,因此,如果當(dāng)前位置是執(zhí)法者家中,或者,是執(zhí)法記錄儀存放庫(kù)房,則可以關(guān)閉預(yù)拍攝模式,相反,如果離開這些區(qū)域,則會(huì)開啟預(yù)拍攝模式。實(shí)際的應(yīng)用場(chǎng)景中,可以根據(jù)位置需要進(jìn)行相應(yīng)的設(shè)置。
模式四、預(yù)設(shè)設(shè)備狀態(tài)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
此種模式適用于預(yù)設(shè)操作動(dòng)作或者狀態(tài)參數(shù)的情況,例如現(xiàn)在廣泛應(yīng)用的搖一搖,就可以用于開啟預(yù)拍攝模式,在設(shè)備被晃動(dòng)時(shí),開啟預(yù)拍攝模式,而如果設(shè)備電量偏低,為了保證設(shè)備持久運(yùn)行,可以設(shè)置在電量低于預(yù)設(shè)閾值的情況下,關(guān)閉預(yù)拍攝模式。
在具體的應(yīng)用場(chǎng)景中,上述幾種模式可以單獨(dú)應(yīng)用,也可以組合應(yīng)用,實(shí)現(xiàn)預(yù)拍攝模式的便捷開啟或關(guān)閉,上述的各種示例均是為了方便理解而給出的優(yōu)選示例,具體應(yīng)用場(chǎng)景中可以根據(jù)實(shí)際需要進(jìn)行調(diào)整,這樣的變化并不會(huì)影響本申請(qǐng)的保護(hù)范圍。
另一方面,需要說(shuō)明的是,所述預(yù)拍攝模式啟動(dòng)后,還包括創(chuàng)建視頻文件的文件頭信息的處理過(guò)程。其中,在接收到視頻拍攝關(guān)閉指示時(shí),該文件頭信息將被添加到當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件之前,生成當(dāng)前結(jié)束的視頻拍攝過(guò)程所拍攝的視頻文件。相應(yīng)的文件頭信息是最終視頻文件的重要內(nèi)容,其中還可以進(jìn)一步攜帶相關(guān)的屬性信息,用于完善視頻文件,例如文件創(chuàng)建時(shí)間,位置等屬性信息。此處建立文件頭信息是為了避免在最終生成視頻文件時(shí),或者在視頻拍攝開始時(shí)臨時(shí)創(chuàng)建文件頭信息所帶來(lái)的不必要時(shí)間消耗,影響視頻拍攝的效率和穩(wěn)定性。
當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),執(zhí)行步驟s102。
步驟s102、在當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊之后,存儲(chǔ)視頻拍攝啟動(dòng)后所獲取的視頻數(shù)據(jù)信息,作為正常拍攝視頻數(shù)據(jù)。
當(dāng)接收到視頻拍攝結(jié)束指示時(shí),執(zhí)行步驟s103。
需要說(shuō)明的是,由于本申請(qǐng)實(shí)施例所提出的技術(shù)方案中對(duì)預(yù)拍攝視頻的存儲(chǔ)量進(jìn)行了擴(kuò)大,并且可以在固定存儲(chǔ)空間中進(jìn)行預(yù)拍攝視頻數(shù)據(jù)的存儲(chǔ),所以,相應(yīng)的預(yù)拍攝視頻數(shù)據(jù)總量也會(huì)相比于現(xiàn)有技術(shù)產(chǎn)生大幅的提升,如果按照現(xiàn)有技術(shù)方案,在正式視頻拍攝開始時(shí)就進(jìn)行預(yù)拍攝視頻數(shù)據(jù)到正式視頻數(shù)據(jù)的轉(zhuǎn)換,則必然需要耗費(fèi)更多的系統(tǒng)資源進(jìn)行相應(yīng)的處理,而且轉(zhuǎn)換時(shí)間也會(huì)延長(zhǎng),從而影響正式視頻拍攝過(guò)程的實(shí)現(xiàn)?;谝陨蠁?wèn)題,本申請(qǐng)實(shí)施例所提出的技術(shù)方案在接收到視頻拍攝啟動(dòng)指示時(shí),并不會(huì)進(jìn)行預(yù)拍攝視頻數(shù)據(jù)的轉(zhuǎn)換,而是保持預(yù)拍攝視頻數(shù)據(jù)的現(xiàn)狀,直接開始正式視頻的拍攝過(guò)程,從而避免出現(xiàn)上述的問(wèn)題。
需要進(jìn)一步指出的是,當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),如果在步驟s101中創(chuàng)建了相應(yīng)的文件頭信息,則還需要執(zhí)行以下的更新過(guò)程。
在預(yù)設(shè)了視頻文件的文件頭信息更新規(guī)則的情況下,對(duì)預(yù)拍攝模式所創(chuàng)建的視頻文件的文件頭信息的內(nèi)容進(jìn)行更新。以此保證最終生成的視頻文件可以對(duì)應(yīng)最準(zhǔn)確的視頻拍攝屬性信息。
步驟s103、將當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊按照存儲(chǔ)時(shí)間順序進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù),并在所述預(yù)拍攝視頻數(shù)據(jù)之后添加所述正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
在具體的應(yīng)用場(chǎng)景中,根據(jù)存儲(chǔ)順序標(biāo)記方式的差異,本步驟中預(yù)拍攝視頻數(shù)據(jù)的生成處理包括以下兩種處理方案:
方案一、根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的存儲(chǔ)時(shí)間戳信息的先后順序,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù)。
此種方案中,每存儲(chǔ)一個(gè)預(yù)拍攝視頻數(shù)據(jù)塊,都會(huì)添加對(duì)應(yīng)的存儲(chǔ)時(shí)間戳信息,因此,這直接表明了存儲(chǔ)時(shí)間的先后關(guān)系,按照相應(yīng)的存儲(chǔ)時(shí)間戳信息的先后順序,可以直接完成預(yù)拍攝視頻數(shù)據(jù)塊的順序排列。
方案二、根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的排位順序信息,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù)。
此種方案需要提前對(duì)各存儲(chǔ)空間區(qū)塊進(jìn)行序號(hào)排列,各預(yù)拍攝視頻數(shù)據(jù)塊在各存儲(chǔ)空間區(qū)塊中順序存儲(chǔ),且在總量達(dá)到預(yù)設(shè)的預(yù)拍攝視頻數(shù)據(jù)閾值時(shí),從最小序號(hào)的存儲(chǔ)空間區(qū)塊開始進(jìn)行預(yù)拍攝視頻數(shù)據(jù)塊的內(nèi)容覆蓋,往復(fù)循環(huán)。并且在每次覆蓋后更新一次首序號(hào),首序號(hào)即為當(dāng)前存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊所在的存儲(chǔ)空間區(qū)塊的序號(hào),例如,如果當(dāng)前的首序號(hào)為7,則當(dāng)序號(hào)7的預(yù)拍攝視頻數(shù)據(jù)被更新覆蓋后,首序號(hào)變更為8,以此類推。在需要生成預(yù)拍攝視頻數(shù)據(jù)時(shí),只要找到當(dāng)前的首序號(hào),即可按照順序,從首序號(hào)向后從小到大的順次獲取預(yù)拍攝視頻數(shù)據(jù),在末尾的最大序號(hào)獲取完成后,返回最小序號(hào),再?gòu)男〉酱蟮捻槾潍@取預(yù)拍攝視頻數(shù)據(jù),直到所有的存儲(chǔ)空間區(qū)塊中的預(yù)拍攝視頻數(shù)據(jù)都獲取完畢,并按照獲取的先后順序排列所有的預(yù)拍攝視頻數(shù)據(jù),即實(shí)現(xiàn)了按照存儲(chǔ)時(shí)間順序進(jìn)行預(yù)拍攝視頻數(shù)據(jù)的排列。
需要說(shuō)明的是,上述的兩種方案差別在于標(biāo)識(shí)存儲(chǔ)時(shí)間順序的方式不同,在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際需要進(jìn)行選擇,這樣的變化并不會(huì)影響本申請(qǐng)的保護(hù)范圍。
與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請(qǐng)實(shí)施例公開了一種視頻預(yù)拍攝的方法和拍攝設(shè)備,該方法在預(yù)拍攝模式,且預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值的情況下,按照存儲(chǔ)時(shí)間順序,用最新的視頻數(shù)據(jù)塊覆蓋最早存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊,在正常拍攝開始后,在所有存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊之后存儲(chǔ)正常拍攝視頻數(shù)據(jù),并在正常拍攝結(jié)束后,按照存儲(chǔ)時(shí)間順序排列預(yù)拍攝視頻數(shù)據(jù)塊,生成預(yù)拍攝視頻數(shù)據(jù),并在預(yù)拍攝視頻數(shù)據(jù)之后,添加正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
通過(guò)應(yīng)用本申請(qǐng)實(shí)施例所提出的技術(shù)方案,可以實(shí)現(xiàn)預(yù)拍攝視頻量的自由控制,提升視頻事件內(nèi)容記錄完整性,避免由于預(yù)拍攝視頻量不足而導(dǎo)致的內(nèi)容記錄缺失問(wèn)題,而且,在正常拍攝結(jié)束后才進(jìn)行預(yù)拍攝視頻數(shù)據(jù)到正常拍攝數(shù)據(jù)的轉(zhuǎn)換,避免了在預(yù)拍攝視頻數(shù)據(jù)存儲(chǔ)量提升的情況下,在正常拍攝開始時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)換而對(duì)系統(tǒng)正常運(yùn)行和視頻正常拍攝所造成的影響。
下面將結(jié)合本申請(qǐng)中的附圖,對(duì)本申請(qǐng)中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例是本申請(qǐng)的一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
如圖2所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的視頻預(yù)拍攝的方法的流程示意圖,該方法設(shè)置預(yù)拍攝60秒的視頻數(shù)據(jù),具體包括以下步驟:
步驟s201、啟動(dòng)錄像設(shè)備,進(jìn)入預(yù)拍攝模式。
在現(xiàn)有的技術(shù)方案中,在啟動(dòng)錄像設(shè)備之后,一般進(jìn)入預(yù)覽狀態(tài)。但在本申請(qǐng)實(shí)施例所提出的技術(shù)方案中,錄像設(shè)備啟動(dòng)之后,采用步驟s101中的模式一,直接進(jìn)入預(yù)拍攝模式。
步驟s202、建立視頻文件頭信息。
此處的視頻文件頭信息將作為最終生成的視頻文件的文件頭信息,是為了視頻文件完整性而創(chuàng)建的。
在具體的應(yīng)用場(chǎng)景中,本步驟的實(shí)現(xiàn)過(guò)程可以為,在tf卡(或者閃存、硬盤等存儲(chǔ)介質(zhì))上創(chuàng)建一個(gè)視頻文件,寫入需要的視頻文件頭信息。
此處需要說(shuō)明的是,現(xiàn)有技術(shù)中很多時(shí)候會(huì)將緩存文件寫入緩存之中,但是,這樣的處理方案嚴(yán)重影響了緩存文件的存儲(chǔ)總量,因此,考慮到拍攝數(shù)據(jù)的大小一般較大,本申請(qǐng)實(shí)施例所提出的技術(shù)方案是將預(yù)拍攝視頻數(shù)據(jù)存入存儲(chǔ)介質(zhì)之中,以此來(lái)保證預(yù)拍攝視頻數(shù)據(jù)總量的大小。
步驟s203、在接收到編碼完成的音視頻幀數(shù)據(jù)時(shí),判斷緩沖區(qū)域所存儲(chǔ)的視頻數(shù)據(jù)是否達(dá)到了60秒的預(yù)拍攝時(shí)長(zhǎng)。
本步驟中采用預(yù)拍攝視頻數(shù)據(jù)的持續(xù)時(shí)間的總長(zhǎng)度作為前述的預(yù)拍攝視頻數(shù)據(jù)閾值的具體內(nèi)容,可以設(shè)置具體的預(yù)拍攝視頻數(shù)據(jù)的持續(xù)時(shí)間的總長(zhǎng)度為1分鐘、5分鐘或者其他數(shù)值,這樣數(shù)值的變化并不會(huì)影響本申請(qǐng)的保護(hù)范圍,如前所述,本實(shí)施例中以60秒(1分鐘)為例進(jìn)行說(shuō)明。
在前述的存儲(chǔ)介質(zhì)中,視頻文件頭之后,即為預(yù)拍攝視頻緩沖區(qū),在本實(shí)施例中,預(yù)拍攝視頻數(shù)據(jù)閾值為預(yù)拍攝視頻數(shù)據(jù)的持續(xù)時(shí)間總長(zhǎng)度為1分鐘(60秒),在此基礎(chǔ)上,為了方便判斷和存儲(chǔ),可以將緩沖區(qū)域的總空間虛擬的分配為60份,每份能夠滿足1秒預(yù)拍攝視頻數(shù)據(jù)的存儲(chǔ)空間需求,并相應(yīng)的設(shè)置每次更新預(yù)拍攝視頻數(shù)據(jù)的長(zhǎng)度為1秒。
為了實(shí)現(xiàn)前述步驟s104所提及的排序問(wèn)題,本實(shí)施例中需要對(duì)所劃分的60份緩沖區(qū)域空間進(jìn)行序號(hào)標(biāo)識(shí),即1~60的序號(hào)設(shè)置。初始情況下,序號(hào)1的緩沖區(qū)域空間同時(shí)為預(yù)拍攝視頻數(shù)據(jù)隊(duì)列頭部和尾部,并添加頭部標(biāo)識(shí)和尾部標(biāo)識(shí)。隨著相應(yīng)空間對(duì)預(yù)拍攝數(shù)據(jù)信息的存儲(chǔ),頭部和尾部標(biāo)識(shí)進(jìn)行相應(yīng)的移動(dòng)。
根據(jù)本步驟的判斷結(jié)果,在當(dāng)前已存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)持續(xù)的總時(shí)間長(zhǎng)度沒有達(dá)到預(yù)拍攝時(shí)長(zhǎng)時(shí),即序號(hào)60的緩沖區(qū)域空間還未存儲(chǔ)數(shù)據(jù)時(shí),執(zhí)行步驟s204。
相反,根據(jù)本步驟的判斷結(jié)果,在當(dāng)前已存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)持續(xù)的總時(shí)間長(zhǎng)度達(dá)到預(yù)拍攝時(shí)長(zhǎng)時(shí),即序號(hào)60的緩沖區(qū)域空間已經(jīng)存儲(chǔ)有預(yù)拍攝數(shù)據(jù)時(shí),執(zhí)行步驟s205。
步驟s204、將所接收到的編碼完成的音視頻幀數(shù)據(jù)直接在當(dāng)前尾部標(biāo)識(shí)之后的緩沖區(qū)域空間進(jìn)行存儲(chǔ),并更新尾部標(biāo)識(shí)。
即將所接收到的編碼完成的音視頻幀數(shù)據(jù)直接存入到當(dāng)前未存儲(chǔ)預(yù)拍攝數(shù)據(jù)的序號(hào)最小的緩沖區(qū)域空間之中。
通過(guò)上述存儲(chǔ)60秒預(yù)拍攝視頻數(shù)據(jù)的具體示例,對(duì)本步驟中相應(yīng)的頭部和尾部標(biāo)識(shí)的更新規(guī)則進(jìn)行說(shuō)明如下:
如圖3所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間初始情況下的標(biāo)識(shí)設(shè)置情況示意圖。在初始情況下,沒有預(yù)拍攝視頻數(shù)據(jù)隊(duì)列,頭部標(biāo)識(shí)和尾部標(biāo)識(shí)都設(shè)置在1號(hào)空間(即為前述的序號(hào)1的緩沖區(qū)域空間,此處為簡(jiǎn)寫,以下類似,不再一一說(shuō)明)。
當(dāng)接收到第1秒的預(yù)拍攝視頻數(shù)據(jù)后,1號(hào)空間存儲(chǔ)了預(yù)拍攝視頻數(shù)據(jù),創(chuàng)建了預(yù)拍攝視頻數(shù)據(jù)隊(duì)列,但只是涉及1號(hào)空間,所以,頭部標(biāo)識(shí)和尾部標(biāo)識(shí)均保持不動(dòng),與圖3所示的初始情況相類似。
當(dāng)接收到第2秒的預(yù)拍攝視頻數(shù)據(jù)后,2號(hào)空間存儲(chǔ)了預(yù)拍攝視頻數(shù)據(jù),預(yù)拍攝視頻數(shù)據(jù)隊(duì)列涉及1號(hào)空間和2號(hào)空間,所以,頭部標(biāo)識(shí)保持在1號(hào)空間不動(dòng),尾部標(biāo)識(shí)移動(dòng)到了2號(hào)空間。如圖4所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第2秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖。
對(duì)于第3秒到第60秒的預(yù)拍攝視頻的處理過(guò)程,均與上述第2秒的處理過(guò)程相類似,例如,如果當(dāng)前1~48號(hào)空間都存儲(chǔ)有預(yù)拍攝數(shù)據(jù),而當(dāng)前序號(hào)為49~60的緩沖區(qū)域空間未存儲(chǔ)預(yù)拍攝數(shù)據(jù),則頭部標(biāo)識(shí)保持在1號(hào)空間不動(dòng),尾部標(biāo)識(shí)移動(dòng)到了48號(hào)空間,相應(yīng)的,本步驟中所提及的當(dāng)前已存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)的尾部之后即為49號(hào)空間。如圖5所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第60秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖。
存儲(chǔ)完成后,直接返回步驟s203,繼續(xù)下一份預(yù)拍攝視頻數(shù)據(jù)的判斷。
步驟s205、用所接收到的編碼完成的音視頻幀數(shù)據(jù)覆蓋當(dāng)前頭部標(biāo)識(shí)的緩沖區(qū)域空間中的數(shù)據(jù),并對(duì)頭部標(biāo)識(shí)和尾部標(biāo)識(shí)進(jìn)行更新。
即用所接收到的編碼完成的音視頻幀數(shù)據(jù)對(duì)當(dāng)前存儲(chǔ)時(shí)間最早的緩沖區(qū)域空間之中。
通過(guò)上述存儲(chǔ)60秒預(yù)拍攝視頻數(shù)據(jù)的具體示例,對(duì)本步驟中相應(yīng)的頭部和尾部標(biāo)識(shí)的更新規(guī)則進(jìn)行說(shuō)明如下:
當(dāng)接收到第61秒的預(yù)拍攝視頻數(shù)據(jù)后,由于1~60號(hào)空間都已經(jīng)存儲(chǔ)了預(yù)拍攝視頻數(shù)據(jù),所以,需要返回當(dāng)前存儲(chǔ)時(shí)間最早的緩沖區(qū)域空間去進(jìn)行數(shù)據(jù)覆蓋,由于1號(hào)空間是存儲(chǔ)的第1秒的預(yù)拍攝視頻數(shù)據(jù),所以,當(dāng)前存儲(chǔ)時(shí)間最早的緩沖區(qū)域空間即為1號(hào)空間,將第61秒的預(yù)拍攝視頻數(shù)據(jù)存儲(chǔ)到1號(hào)空間,對(duì)第1秒的預(yù)拍攝視頻數(shù)據(jù)進(jìn)行覆蓋,從而,將預(yù)拍攝視頻數(shù)據(jù)隊(duì)列的順序調(diào)整為2~60號(hào)空間,然后是1號(hào)空間,所以,頭部標(biāo)識(shí)由1號(hào)空間移動(dòng)到2號(hào)空間,尾部標(biāo)識(shí)則從60號(hào)空間移動(dòng)到了1號(hào)空間。如圖6所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第61秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖。
以此類推,當(dāng)接收到第62秒的預(yù)拍攝視頻數(shù)據(jù)后,將第62秒的預(yù)拍攝視頻數(shù)據(jù)存儲(chǔ)到2號(hào)空間,對(duì)第2秒的預(yù)拍攝視頻數(shù)據(jù)進(jìn)行覆蓋,從而,將預(yù)拍攝視頻數(shù)據(jù)隊(duì)列的順序調(diào)整為3~60號(hào)空間,然后是1~2號(hào)空間,所以,頭部標(biāo)識(shí)由2號(hào)空間移動(dòng)到3號(hào)空間,尾部標(biāo)識(shí)則從1號(hào)空間移動(dòng)到了2號(hào)空間。如圖7所示,為本申請(qǐng)實(shí)施例所提出的一種具體應(yīng)用場(chǎng)景下的緩沖區(qū)域空間存儲(chǔ)第62秒的預(yù)拍攝視頻數(shù)據(jù)后的標(biāo)識(shí)設(shè)置情況示意圖。
如此往復(fù)進(jìn)行調(diào)整,每60秒一循環(huán),當(dāng)接收到第121或181秒的預(yù)拍攝視頻數(shù)據(jù)時(shí),又會(huì)重復(fù)接收到第61秒的預(yù)拍攝視頻數(shù)據(jù)的處理,在此不再贅述。
存儲(chǔ)完成后,直接返回步驟s203,繼續(xù)下一份預(yù)拍攝視頻數(shù)據(jù)的判斷。
需要說(shuō)明的是,無(wú)論是步驟s204還是步驟s205,如果在其完成后,接收到了視頻拍攝啟動(dòng)指示,即用戶開始正式的拍攝之時(shí),直接開始步驟s206的處理。
步驟s206、停止預(yù)拍攝視頻數(shù)據(jù)的緩沖,在預(yù)拍攝視頻緩沖區(qū)之后的正式視頻存儲(chǔ)區(qū)中繼續(xù)寫入新接收到的音視頻幀。
在前述的存儲(chǔ)介質(zhì)中,視頻文件頭之后,是預(yù)拍攝視頻緩沖區(qū),而在預(yù)拍攝視頻緩沖區(qū)之后,為正式視頻存儲(chǔ)區(qū)。在正式視頻存儲(chǔ)區(qū)中,直接對(duì)新接收到的音視頻幀進(jìn)行存儲(chǔ),生成正常拍攝視頻數(shù)據(jù),
此處的存儲(chǔ)過(guò)程與現(xiàn)有技術(shù)相類似,不再另行贅述。
需要指出的是,為了保證視頻記錄的屬性信息的正確,當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),如果本實(shí)施例中預(yù)設(shè)了視頻文件的文件頭信息更新規(guī)則,則需要對(duì)預(yù)拍攝模式所創(chuàng)建的視頻文件的文件頭信息的內(nèi)容進(jìn)行更新(例如,更新當(dāng)前拍攝視頻的時(shí)間、位置等信息)。以此保證最終生成的視頻文件可以對(duì)應(yīng)最準(zhǔn)確的視頻拍攝屬性信息。
當(dāng)接收到視頻拍攝結(jié)束指示,即用戶停止了正式的拍攝之時(shí),執(zhí)行步驟s207的處理。
步驟s207、按照預(yù)拍攝視頻隊(duì)列的順序,生成預(yù)拍攝視頻數(shù)據(jù)。
即根據(jù)之前的頭部標(biāo)識(shí)和尾部標(biāo)識(shí)進(jìn)行預(yù)拍攝視頻數(shù)據(jù)塊的順序調(diào)整,按照從頭部標(biāo)識(shí)到尾部標(biāo)識(shí)的順序排列相應(yīng)的預(yù)拍攝視頻數(shù)據(jù)塊,生成預(yù)拍攝視頻數(shù)據(jù)。
例如,如果當(dāng)前的頭部標(biāo)識(shí)在45號(hào)空間,尾部標(biāo)識(shí)在44號(hào)空間,則最終調(diào)整順序后的預(yù)拍攝視頻數(shù)據(jù)塊的排列順序?yàn)椋?/p>
45~60號(hào)空間的預(yù)拍攝視頻數(shù)據(jù)塊,然后是1~44號(hào)空間的預(yù)拍攝視頻數(shù)據(jù)塊。
步驟s208、按照視頻文件頭、預(yù)拍攝視頻數(shù)據(jù)和正常拍攝視頻數(shù)據(jù)的順序,生成正式的視頻文件。
文件頭的加入,預(yù)拍攝視頻數(shù)據(jù)塊的順序排列,保證了最終視頻文件可以正常播放。
與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例所提出的技術(shù)方案的有益技術(shù)效果包括:
本申請(qǐng)實(shí)施例公開了一種視頻預(yù)拍攝的方法和拍攝設(shè)備,該方法在預(yù)拍攝模式,且預(yù)拍攝視頻數(shù)據(jù)塊的存儲(chǔ)量達(dá)到預(yù)設(shè)閾值的情況下,按照存儲(chǔ)時(shí)間順序,用最新的視頻數(shù)據(jù)塊將最早存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行覆蓋,在正常拍攝開始后,在所有存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊之后存儲(chǔ)正常拍攝視頻數(shù)據(jù),并在正常拍攝結(jié)束后,按照存儲(chǔ)時(shí)間順序排列預(yù)拍攝視頻數(shù)據(jù)塊,生成預(yù)拍攝視頻數(shù)據(jù),并在預(yù)拍攝視頻數(shù)據(jù)之后,添加正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
通過(guò)應(yīng)用本申請(qǐng)實(shí)施例所提出的技術(shù)方案,可以實(shí)現(xiàn)預(yù)拍攝視頻量的自由控制,提升視頻事件內(nèi)容記錄完整性,避免由于預(yù)拍攝視頻量不足而導(dǎo)致的內(nèi)容記錄缺失問(wèn)題,而且,在正常拍攝結(jié)束后才進(jìn)行預(yù)拍攝視頻數(shù)據(jù)到正常拍攝數(shù)據(jù)的轉(zhuǎn)換,避免了在預(yù)拍攝視頻數(shù)據(jù)存儲(chǔ)量提升的情況下,在正常拍攝開始時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)換而對(duì)系統(tǒng)正常運(yùn)行和視頻正常拍攝所造成的影響。
為更清楚地說(shuō)明本申請(qǐng)前述實(shí)施例提供的方案,基于與上述方法同樣的發(fā)明構(gòu)思,本申請(qǐng)實(shí)施例還提出了一種拍攝設(shè)備,其結(jié)構(gòu)示意圖如圖8所示,具體包括:
模式管理模塊81,用于啟動(dòng)預(yù)拍攝模式,以及當(dāng)接收到視頻拍攝啟動(dòng)指示時(shí),啟動(dòng)正常拍攝模式,或當(dāng)接收到視頻拍攝結(jié)束指示時(shí),結(jié)束正常拍攝模式;
獲取模塊82,用于接收視頻數(shù)據(jù)信息;
判斷模塊83,用于在所述模式管理模塊81啟動(dòng)預(yù)拍攝模式,且所述獲取模塊82接收到編碼完成的視頻數(shù)據(jù)塊時(shí),判斷當(dāng)前已存儲(chǔ)的預(yù)拍攝視頻數(shù)據(jù)塊的總量是否達(dá)到預(yù)設(shè)的預(yù)拍攝視頻數(shù)據(jù)閾值;
第一存儲(chǔ)模塊84,用于在所述判斷模塊83的判斷結(jié)果為達(dá)到時(shí),按照存儲(chǔ)時(shí)間順序,用獲取模塊82接收到的所述編碼完成的視頻數(shù)據(jù)塊覆蓋當(dāng)前已存儲(chǔ)的存儲(chǔ)時(shí)間最早的預(yù)拍攝視頻數(shù)據(jù)塊;
第二存儲(chǔ)模塊85,用于在所述模式管理模塊81啟動(dòng)正常拍攝模式時(shí),在所述第一存儲(chǔ)模塊84當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊之后,存儲(chǔ)視頻拍攝啟動(dòng)后獲取模塊82所獲取的視頻數(shù)據(jù)信息,作為正常拍攝視頻數(shù)據(jù);
生成模塊86,用于在所述模式管理模塊81結(jié)束正常拍攝模式時(shí),將所述第一存儲(chǔ)模塊84當(dāng)前已存儲(chǔ)的全部預(yù)拍攝視頻數(shù)據(jù)塊按照存儲(chǔ)時(shí)間順序進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù),并在所述預(yù)拍攝視頻數(shù)據(jù)之后添加所述第二存儲(chǔ)模塊85所存儲(chǔ)的正常拍攝視頻數(shù)據(jù),組成當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件。
優(yōu)選的,所述模式管理模塊81,具體用于:
通過(guò)以下模式中的一種或多種組合啟動(dòng)預(yù)拍攝模式:
設(shè)備開機(jī)即進(jìn)入預(yù)拍攝模式;
預(yù)設(shè)時(shí)間觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)位置坐標(biāo)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉;
預(yù)設(shè)設(shè)備狀態(tài)觸發(fā)預(yù)拍攝模式的開啟或關(guān)閉。
優(yōu)選的,所述拍攝設(shè)備,還包括:
文件頭管理模塊87,用于在所述模式管理模塊81啟動(dòng)預(yù)拍攝模式后,創(chuàng)建視頻文件的文件頭信息;
所述生成模塊86,還用于在所述模式管理模塊81結(jié)束正常拍攝模式時(shí),將所述文件頭管理模塊87所創(chuàng)建的文件頭信息添加到所述當(dāng)前結(jié)束的視頻拍攝過(guò)程的視頻文件之前,生成當(dāng)前結(jié)束的視頻拍攝過(guò)程所拍攝的視頻文件。
優(yōu)選的,所述文件頭管理模塊87,還用于:
在所述模式管理模塊81啟動(dòng)正常拍攝模式時(shí),在預(yù)設(shè)了視頻文件的文件頭信息更新規(guī)則的情況下,對(duì)預(yù)拍攝模式所創(chuàng)建的視頻文件的文件頭信息的內(nèi)容進(jìn)行更新。
優(yōu)選的,所述生成模塊86,具體用于:
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的存儲(chǔ)時(shí)間戳信息的先后順序,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù);或,
根據(jù)各預(yù)拍攝視頻數(shù)據(jù)塊所對(duì)應(yīng)的排位順序信息,對(duì)所述各預(yù)拍攝視頻數(shù)據(jù)塊進(jìn)行排列,生成預(yù)拍攝視頻數(shù)據(jù)。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例可以通過(guò)硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是cd-rom,u盤,移動(dòng)硬盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或網(wǎng)絡(luò)側(cè)設(shè)備等)執(zhí)行本發(fā)明實(shí)施例各個(gè)實(shí)施場(chǎng)景所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施場(chǎng)景的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明實(shí)施例所必須的。
本領(lǐng)域技術(shù)人員可以理解實(shí)施場(chǎng)景中的裝置中的模塊可以按照實(shí)施場(chǎng)景描述進(jìn)行分布于實(shí)施場(chǎng)景的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施場(chǎng)景的一個(gè)或多個(gè)裝置中。上述實(shí)施場(chǎng)景的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施場(chǎng)景的優(yōu)劣。
以上公開的僅為本發(fā)明實(shí)施例的幾個(gè)具體實(shí)施場(chǎng)景,但是,本發(fā)明實(shí)施例并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明實(shí)施例的業(yè)務(wù)限制范圍。