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