一種多路音視頻同時同步播放的方法
【專利摘要】本發(fā)明一種多路音視頻同時同步播放的方法,采用音視頻流數(shù)據(jù)的交叉存儲,播放程序可以一邊讀取硬盤或光盤上的音視頻流數(shù)據(jù)一邊播放,這樣在播放音視頻流數(shù)據(jù)時,只需在指定的時間內(nèi)訪問少量的視頻圖像和部分音頻數(shù)據(jù),而無需預(yù)先把容量很大的音視頻流數(shù)據(jù)加載到內(nèi)存中,因此播放時只需占用有限的內(nèi)存空間,不僅可以提高系統(tǒng)的工作效率,同時也可以實現(xiàn)迅速地加載和快速地啟動播放程序,減少播放音視頻數(shù)據(jù)時用戶的等待時間,本發(fā)明僅依靠存儲順序能達到同步的效果。
【專利說明】—種多路音視頻同時同步播放的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種多路音視頻同時同步播放的方法。
【背景技術(shù)】
[0002]基于文件系統(tǒng)的DVR,對于長時間錄像產(chǎn)生的大數(shù)據(jù)包(幾G到數(shù)十G的數(shù)據(jù))無法管理,只能進行分包,將一段完整的錄像,分若干個小的文件包,如5、10、30分鐘自動形成一個文件,或者150M、200M作為一個文件。因此容易產(chǎn)生包與包之間丟幀現(xiàn)象,同時磁盤磁頭需要頻繁地讀寫數(shù)據(jù)與文件索引,磁頭頻繁跳動,對于每天十幾到二十四小時連續(xù)讀寫硬盤的DVR系統(tǒng),極容易造成硬盤故障。
[0003]由于新錄制的文件與舊的文件大小不同,當(dāng)硬盤錄滿后需要刪除整段文件時,會在硬盤上產(chǎn)生大量的碎片空間,影響硬盤的使用和系統(tǒng)效率。
[0004]另外,使用文件系統(tǒng)來進行錄像機錄像資料管理還存在兩個風(fēng)險,一是若文件分配表被損壞,則錄像資料大多會丟失,二是若系統(tǒng)突然斷電或遭到人為破壞,當(dāng)前正在錄制的錄像數(shù)據(jù)不能夠保存。
[0005]基于文件系統(tǒng)的DVR,每路攝像頭采集圖像一段時間就將數(shù)據(jù)保存成一個錄像文件,并且將音視頻數(shù)據(jù)都保存在同一文件里。比如說4路攝像頭,錄制I小時,產(chǎn)生4個文件,回放時,單個文件的音視頻可以同步播放,但4個通道的音視頻要都同時同步播放就比較困難了,因為他們之間是彼此相互獨立的,沒有關(guān)聯(lián)性,很難有同時同步播放的參考。因此,基于文件系統(tǒng)的DVR,傳統(tǒng)音視頻同步播放方法只適用于播放一路音視頻數(shù)據(jù),而無法用于多路音視頻同時同步播放。
【發(fā)明內(nèi)容】
[0006]針對以上的不足之處,本發(fā)明提供一種多路音視頻同時同步播放的方法,在多路音視頻播放時能達到嚴格同步的效果。
[0007]一種多路音視頻同時同步播放的方法,包括如下步驟:
步驟1、在錄像開始時選擇系統(tǒng)時間作為參考時鐘,生成音視頻數(shù)據(jù)流時依據(jù)參考時鐘上的時間給每個音視頻塊打上時間戳,包括開始時間和結(jié)束時間;
步驟2、從N路的音視頻信號采集裝置獲取到N路音視頻數(shù)據(jù),依照如下順序存儲在硬盤上:
1、每個音視頻塊由“信息頭”+ “音視頻流”組成,其中“信息頭”包含有數(shù)據(jù)流類型、通道號、時間戳的信息;
2、每一路的音視頻塊成對依次存儲,與另一路的音視頻塊形成交錯排列,即第一路所有的視頻塊存儲完畢后,接著存儲第一路所有的音頻塊,再然后是第二路所有的視頻塊、第二路所有的音頻塊,直至第N路所有的視頻塊、音頻塊;
步驟3、在播放時,讀取音視頻塊上的時間戳,同時參考當(dāng)前參考時鐘上的時間來安排播放順序,具體為:先算出第一個音視頻塊的時間戳和當(dāng)前參考時鐘的差值X,后續(xù)播放過程中,如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值大于X,則不急于播放該音視頻塊,直到參考時鐘達到;如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值小于X,則要盡快播放這數(shù)據(jù)塊或者將這數(shù)據(jù)塊丟棄。
[0008]本發(fā)明使用適合媒體數(shù)據(jù)流存儲方式的硬盤管理系統(tǒng):音視頻流存儲模式。采用音視頻流存儲模式,對硬盤持續(xù)的、無縫的逐幀循環(huán)覆蓋技術(shù)。沒有文件的概念,一段音視頻錄像不受制于文件大小,也不受制于時間段長度,只受制于硬盤容量。一段錄像,可以從幾秒到幾個月,可以從幾K到幾十T,只要硬盤足夠大。對硬盤的寫入是持續(xù)的、無縫的逐幀循環(huán)覆蓋,不存在丟幀現(xiàn)象。不存在分包錄像,硬盤錄滿后,采用逐幀覆蓋技術(shù),沒有刪除的動作,不存在硬盤碎片。磁頭的讀寫基本是順序的,無需頻繁跳動,能夠很好保護硬盤磁頭,減少硬盤故障率,延長硬盤壽命。硬盤任何地方的錯誤,不會影響前面或后面的錄像。在突然斷電的情況下,也能保存斷電前瞬間的圖像;同時,原始錄像資料數(shù)據(jù)與PC不兼容,無法在PC上直接修改,保證原始資料的保密性和可靠性。
【專利附圖】
【附圖說明】
[0009]圖1為本發(fā)明中音視頻塊的存儲結(jié)構(gòu)示意圖。
[0010]以下結(jié)合附圖和實施例對本發(fā)明作進一步詳述。
【具體實施方式】
[0011]本發(fā)明一種多路音視頻同時同步播放的方法,包括如下步驟:
步驟1、在錄像開始時選擇系統(tǒng)時間作為參考時鐘,生成音視頻數(shù)據(jù)流時依據(jù)參考時鐘上的時間給每個音視頻塊打上時間戳,包括開始時間和結(jié)束時間;
步驟2、從N路的音視頻信號采集裝置獲取到N路音視頻數(shù)據(jù),依照如下順序存儲在硬盤上,如圖1所示:
1、每個音視頻塊由“信息頭”+ “音視頻流”組成,其中“信息頭”包含有數(shù)據(jù)流類型、通道號、時間戳的信息;
2、每一路的音視頻塊成對依次存儲,與另一路的音視頻塊形成交錯排列,即第一路所有的視頻塊存儲完畢后,接著存儲第一路所有的音頻塊,再然后是第二路所有的視頻塊、第二路所有的音頻塊,直至第N路所有的視頻塊、音頻塊;
步驟3、在播放時,讀取音視頻塊上的時間戳,同時參考當(dāng)前參考時鐘上的時間來安排播放順序,具體為:先算出第一個音視頻塊的時間戳和當(dāng)前參考時鐘的差值X,后續(xù)播放過程中,如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值大于X,則說明播放太快,不急于播放該音視頻塊,直到參考時鐘達到;如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值小于X,則說明播放太慢,要盡快播放這數(shù)據(jù)塊或者將這數(shù)據(jù)塊丟棄,以使播放進度追上參考時鐘。同步是一個動態(tài)的過程,是一個有人等待、有人追趕的過程。同步只是暫時的,而不同步才是常態(tài)。音頻、視頻總是在同步的水平線上振蕩波動,但不會偏離這條基線太遠。
[0012]本發(fā)明中每路之間的音頻數(shù)據(jù)和視頻數(shù)據(jù)成對交錯排列。由于音視頻流數(shù)據(jù)成對同步存儲,所以播放時無需做同步處理,從硬盤上依次取出音視頻流數(shù)據(jù)后即可播放,一路的音視頻流數(shù)據(jù)可以同步播放,多路同時播放時也能同步播放。
[0013]本發(fā)明僅依靠存儲順序基本能達到同步的效果,但隨著播放時間的推進,播放I小時、5小時,甚至播放I天,誤差會隨著時間慢慢擴大,導(dǎo)致最終不同步。為了克服這個問題,引入N路音視頻統(tǒng)一的存于每路音視頻的“信息頭”中的參考時間戳,播放時,播放軟件根據(jù)這些時間戳來微調(diào)。
[0014]本發(fā)明中由于音視頻流數(shù)據(jù)的交叉存儲,播放程序可以一邊讀取硬盤或光盤上的音視頻流數(shù)據(jù)一邊播放,這樣在播放音視頻流數(shù)據(jù)時,只需在指定的時間內(nèi)訪問少量的視頻圖像和部分音頻數(shù)據(jù),而無需預(yù)先把容量很大的音視頻流數(shù)據(jù)加載到內(nèi)存中,因此播放時只需占用有限的內(nèi)存空間,不僅可以提高系統(tǒng)的工作效率,同時也可以實現(xiàn)迅速地加載和快速地啟動播放程序,減少播放音視頻數(shù)據(jù)時用戶的等待時間。
[0015]以上所述,僅是本發(fā)明較佳實施例而已,并非對本發(fā)明的技術(shù)范圍作任何限制,故凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何細微修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種多路音視頻同時同步播放的方法,其特征在于包括如下步驟: 步驟1、在錄像開始時選擇系統(tǒng)時間作為參考時鐘,生成音視頻數(shù)據(jù)流時依據(jù)參考時鐘上的時間給每個音視頻塊打上時間戳,包括開始時間和結(jié)束時間; 步驟2、從N路的音視頻信號采集裝置獲取到N路音視頻數(shù)據(jù),依照如下順序存儲在硬盤上: .1、每個音視頻塊由“信息頭”+ “音視頻流”組成,其中“信息頭”包含有數(shù)據(jù)流類型、通道號、時間戳的信息; .2、每一路的音視頻塊成對依次存儲,與另一路的音視頻塊形成交錯排列,即第一路所有的視頻塊存儲完畢后,接著存儲第一路所有的音頻塊,再然后是第二路所有的視頻塊、第二路所有的音頻塊,直至第N路所有的視頻塊、音頻塊; 步驟3、在播放時,讀取音視頻塊上的時間戳,同時參考當(dāng)前參考時鐘上的時間來安排播放順序,具體為:先算出第一個音視頻塊的時間戳和當(dāng)前參考時鐘的差值X,后續(xù)播放過程中,如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值大于X,則不急于播放該音視頻塊,直到參考時鐘達到;如果音視頻塊的時間戳和當(dāng)前參考時鐘的差值小于X,則要盡快播放這數(shù)據(jù)塊或者將這數(shù)據(jù)塊丟棄。
【文檔編號】H04N21/8547GK103731625SQ201310677256
【公開日】2014年4月16日 申請日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】許振坪, 郭亞松, 許寧, 黃鵬, 陳華云, 蔡珊 申請人:廈門雅迅網(wǎng)絡(luò)股份有限公司