一種視頻錄制斷電保護(hù)方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種視頻錄制斷電保護(hù)方法及裝置,所述方法包括:視頻錄制,創(chuàng)建mp4文件,將文件頭ftyp寫入新創(chuàng)建的mp4文件;創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大??;固定mdat盒子的大小,將視頻數(shù)據(jù)寫入mdat盒子中;每隔一定時間交替寫入 Amoov盒子和Bmoov盒子,向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù);所述裝置包括:MP4文件創(chuàng)建單元;索引信息文件創(chuàng)建單元;媒體數(shù)據(jù)寫入單元;循環(huán)單元。本發(fā)明通過交替保存moov的信息,保存多個mdat信息,使得在視頻錄制的時候出現(xiàn)突然斷電或卡機(jī),仍然能保證mp4文件的完整性,使得錄像能正常播放。本發(fā)明作為一種視頻錄制斷電保護(hù)方法及裝置,廣泛適用于視頻錄制領(lǐng)域。
【專利說明】
一種視頻錄制斷電保護(hù)方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及視頻錄制技術(shù)領(lǐng)域,尤其涉及一種視頻錄制斷電保護(hù)方法及裝置。
【背景技術(shù)】
[0002]MP4文件由若干個box(Box = BoxHeader+BoxData; BoxHeader = BoxSize +BoxType;)組成。
[0003]視頻錄制是指錄制來自于計算機(jī)硬件終端、計算機(jī)視窗環(huán)境的視頻,常見的錄制模式包括捕捉攝像頭、攝像機(jī)、數(shù)碼相機(jī)、電視卡、DVR等硬件視頻,錄制計算機(jī)視窗的游戲視頻、QQ視頻、錄制電影等。運(yùn)動型攝像機(jī)是集高清動態(tài)拍照、廣角度錄像、防抖防水防摔于一身的多功能攝像機(jī)。使用人群一般愛好戶外運(yùn)動、攝影、極限運(yùn)動,主要用于航拍、賽車、滑雪、蹦極、跳傘、潛水、旅游、成長記錄等各項運(yùn)動中,由于在戶外使用,當(dāng)電池電量低的時候得不到及時充電,所以在視頻錄制的時候很容易出現(xiàn)突然斷電或卡機(jī),導(dǎo)致視頻文件錄制出錯,錄像文件不完整,不能正常播放。目前的視頻錄制,一般采用備用電池或者上電恢復(fù)方式保存錄像文件來防止突然斷電或卡機(jī)的情況,不能做到斷電和當(dāng)機(jī)等情況下的及時保存。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明的目的是提供一種當(dāng)設(shè)備意外斷電,當(dāng)機(jī),卡錯誤等狀況時保證錄像文件的完整性,保證錄像能正常播放的視頻錄制斷電保護(hù)方法及裝置。
[0005]本發(fā)明所采用的技術(shù)方案是:一種視頻錄制斷電保護(hù)方法,包括MP4文件錄制,所述MP4文件包括:f typ盒子、free盒子、moov盒子以及mdat盒子,其包括:
步驟A:視頻錄制,創(chuàng)建mp4文件,將文件頭f typ寫入新創(chuàng)建的mp4文件;
步驟B:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmo盒子都占一個moov盒子空間大小,其盒子類型分別為moov和free ;
步驟C:固定mdat盒子的大小,將錄像文件寫入mdat盒子中;
步驟D:每隔一定時間交替寫入創(chuàng)建的Amoov盒子和Bmoov盒子:向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù);步驟C和步驟D同時進(jìn)行。
[0006]進(jìn)一步,所述的moov盒子用于存放媒體索引信息。
[0007]進(jìn)一步,所述的mdat盒子由于存放媒體數(shù)據(jù)。
[0008]進(jìn)一步,所述步驟C具體包括子步驟:
Cl:固定mdat盒子的大小,將該大小寫入mdat盒子的BoxSize處,同時開始寫入視頻數(shù)據(jù);
C2:當(dāng)寫入mdat盒子的視頻數(shù)據(jù)大小超過mdat盒子的BoxSize,則寫入新的mdat盒子,重復(fù)步驟Cl。
[0009]進(jìn)一步,所述的mdat盒子大小為根據(jù)當(dāng)前錄像碼流的大小來估算一定時間錄像的視頻數(shù)據(jù)大小。[00?0]進(jìn)一步,所述的一定時間為5分鐘。
[0011]—種視頻錄制斷電保護(hù)裝置,其包括:
MP4文件創(chuàng)建單元:用于視頻錄制,創(chuàng)建mp4文件,將文件頭ftyp寫入新創(chuàng)建的mp4文件;索引信息文件創(chuàng)建單元:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大小,其盒子類型分別為moov和free ;
媒體數(shù)據(jù)寫入單元:固定mdat盒子的大小,將視頻數(shù)據(jù)寫入mdat盒子中;
循環(huán)單元:每隔一定時間交替寫創(chuàng)建的Amoov盒子和Bmoov盒子,向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù)。
[0012]進(jìn)一步,其包括:
第二媒體數(shù)據(jù)寫入單元:當(dāng)寫入mdat盒子的視頻文件大小超過mdat盒子的BoxSize,則寫入新的mdat盒子。
[0013]本發(fā)明的有益效果是:本發(fā)明通過交替保存moov的信息,保存多個mdat信息,使得在視頻錄制的時候出現(xiàn)突然斷電或卡機(jī),仍然能保證mp4文件的完整性,使得錄像能正常播放。
【附圖說明】
[0014]下面結(jié)合附圖對本發(fā)明的【具體實施方式】作進(jìn)一步說明:
圖1是本發(fā)明具體實施例的流程圖。
【具體實施方式】
[0015]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[00? 6] 一種視頻錄制斷電保護(hù)方法,包括MP4文件錄制,所述MP4文件包括:f typ盒子、free盒子、moov盒子以及mdat盒子,
如圖1所示,其包括:
步驟A:視頻錄制,創(chuàng)建mp4文件,將文件頭f typ寫入新創(chuàng)建的mp4文件;
步驟B:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大小,其盒子類型分別為moov和free;
步驟C:固定mdat盒子的大小,將視頻數(shù)據(jù)寫入mdat盒子中;
步驟D:每隔一定時間交替寫創(chuàng)建的Amoov盒子和Bmoov盒子,向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù);步驟C和步驟D同時進(jìn)行。
[0017]ftyp作為MP4格式的標(biāo)志并包含關(guān)于文件的一些信息。若正常停止錄像,則確保Amoo V和Bmoo V中一個為moov,另外一個更名為free,先修改Amoov的BoxData,然后修改Amoov 的BoxType 為moov,最后修改 Bmoov 的BoxType 為free,或先修改 Bmoov 的BoxData,然后修改Bmoov的BoxType為moov,最后修改Amoov的BoxType為free。同時改寫mdat盒子的BoxSize,從而對正常錄像文件不會產(chǎn)生影響;若因意外原因斷電,貝Ij一定會有一個正確的moov盒子,從而能保證錄像文件的完整性,保證錄像能正常播放。
[0018]進(jìn)一步作為優(yōu)選的實施方式,所述的moov盒子用于存放媒體索引信息。
[0019]進(jìn)一步作為優(yōu)選的實施方式,所述的mdat盒子由于存放媒體數(shù)據(jù)。
[0020]進(jìn)一步作為優(yōu)選的實施方式,所述步驟C具體包括子步驟:
Cl:固定mdat盒子的大小,將該大小寫入mdat盒子的BoxSize處,同時開始寫入視頻數(shù)據(jù);
C2:當(dāng)寫入mdat盒子的視頻文件大小超過mdat盒子的BoxSize,則寫入新的mdat盒子,重復(fù)步驟Cl。
[0021 ]同時可能一個MP4文件中可能出現(xiàn)多個mdat盒子,若因意外原因斷電,則一定會有一個正確的mdat盒子,從而能保證錄像文件的完整性,保證錄像能正常播放。
[0022]進(jìn)一步作為優(yōu)選的實施方式,所述的mdat盒子大小為根據(jù)當(dāng)前錄像幀率的大小來估算一定時間錄像的視頻文件大小。
[0023]進(jìn)一步作為優(yōu)選的實施方式,所述的一定時間為5分鐘。此時間可根據(jù)用戶喜好調(diào)節(jié),通過調(diào)節(jié)此時間可控制mdat盒子的大小,mdat盒子越小,斷電保護(hù)遺失去的視頻越少。
[0024]若正常停止錄像,則確保Amoo V和Bmoov中最新的更名為moo V,另外一個更名為free,同時改寫mdat盒子的BoxSize,從而對正常錄像文件不會產(chǎn)生影響;若因意外原因斷電,貝lJ一定會有一個正確的moov盒子,從而能保證錄像文件的完整性,保證錄像能正常播放。
[0025]—種視頻錄制斷電保護(hù)裝置,其包括:
MP4文件創(chuàng)建單元:用于視頻錄制,創(chuàng)建mp4文件,將文件頭ftyp寫入新創(chuàng)建的mp4文件;索引信息文件創(chuàng)建單元:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大小;
媒體數(shù)據(jù)寫入單元:固定mdat盒子的大小,將視頻數(shù)據(jù)寫入mdat盒子中;
循環(huán)單元:每隔一定時間交替寫創(chuàng)建的Amoov盒子和Bmoov盒子,向其中一個寫入moov類型文件,另一個寫入free類型文件。
[0026]進(jìn)一步作為優(yōu)選的實施方式,其包括:
第二媒體數(shù)據(jù)寫入單元:當(dāng)寫入mdat盒子的視頻數(shù)據(jù)大小超過mdat盒子的BoxSize,則寫入新的mdat盒子。
[0027]以上是對本發(fā)明的較佳實施進(jìn)行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項】
1.一種視頻錄制斷電保護(hù)方法,包括MP4文件錄制,所述MP4文件包括:f typ盒子、free盒子、moov盒子以及mdat盒子,其特征在于,其包括: 步驟A:視頻錄制,創(chuàng)建mp4文件,將文件頭f typ寫入新創(chuàng)建的mp4文件; 步驟B:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大??; 步驟C:固定mdat盒子的大小,將錄像文件寫入mdat盒子中; 步驟D:每隔一定時間交替寫入AmooV盒子和BmooV盒子:向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù); 步驟C和步驟D并行運(yùn)行。2.根據(jù)權(quán)利要求1所述的視頻錄制斷電保護(hù)方法,其特征在于:所述步驟C具體包括子步驟: Cl:固定mdat盒子的大小,將該大小寫入mdat盒子的BoxSize處,同時開始寫入視頻數(shù)據(jù); C2:當(dāng)寫入mdat盒子的視頻文件大小超過mdat盒子的BoxSize,則寫入新的mdat盒子,重復(fù)步驟Cl。3.根據(jù)權(quán)利要求1或2所述的視頻錄制斷電保護(hù)方法,其特征在于:所述的mdat盒子大小為根據(jù)當(dāng)前錄像幀率的大小來估算一定時間錄像的視頻文件大小。4.根據(jù)權(quán)利要求3所述的視頻錄制斷電保護(hù)方法,其特征在于:所述的一定時間為5分鐘。5.一種視頻錄制斷電保護(hù)裝置,其特征在于,其包括: MP4文件創(chuàng)建單元:用于視頻錄制,創(chuàng)建mp4文件,將文件頭ftyp寫入新創(chuàng)建的mp4文件;索引信息文件創(chuàng)建單元:創(chuàng)建Amoov盒子和Bmoov盒子,所述Amoov盒子和Bmoov盒子都占一個moov盒子空間大小,其盒子類型分別為moov和free ; 媒體數(shù)據(jù)寫入單元:固定mdat盒子的大小,將視頻數(shù)據(jù)寫入mdat盒子中; 循環(huán)單元:每隔一定時間交替寫創(chuàng)建的Amoov盒子和Bmoov盒子,向其中一個寫入moov類型及數(shù)據(jù),另一個寫入free類型及數(shù)據(jù)。6.根據(jù)權(quán)利要求5所述的視頻錄制斷電保護(hù)裝置,其特征在于,其包括: 第二媒體數(shù)據(jù)寫入單元:當(dāng)寫入mdat盒子的視頻數(shù)據(jù)大小超過mdat盒子的BoxSizeJlJ寫入新的mdat盒子。
【文檔編號】H04N5/76GK105847724SQ201610225402
【公開日】2016年8月10日
【申請日】2016年4月12日
【發(fā)明人】唐耿紅, 楊自和
【申請人】深圳市極酷威視科技有限公司