999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

視頻監控中的DVD視頻碼流研究及實現

2012-04-12 00:00:00吳冬梅等
現代電子技術 2012年1期

摘 要:傳統的視頻監控系統是將數據存儲在硬盤上,存在價格高、壽命短等缺點。為了用DVD光盤代替硬盤存儲數據,提出了將MPEG-2壓縮后的視頻數據生成DVD視頻數據的解決方案,并用C語言實現。分析所生成的文件數據,符合DVD Forum標準,使用該方法生成的文件在DVD播放機上播放,畫面質量良好,播放流暢。表明用該方法生成的DVD視頻碼流是成功的。

關鍵詞:視頻監控; DVD視頻數據; VOB; IFO

中圖分類號:TN919.8-34

文獻標識碼:A

文章編號:1004-373X(2012)01-0139-04

Research and realization of DVD video streaming for video monitoring system

WU Dong-mei1, HE Ce1, SHEN Yan2

(1.Department of Communication, Xi’an University of Science and Technology, Xi’an 710054, China;

2.Jiangsu Environmental Monitoring Center, Nanjing 210004, China)

Abstract:

The traditional video monitoring system stores data on hard disk, which has high price and short life span. In order to use DVD disk to replace hard disk storing data, a solution is presented which makes video data compressed by MPEG-2 generate DVD video data and is implemented by C language. By analyzing the data of the generated document and conforming to DVD Forum standard, using the method to generate document is played in DVD player, the video picture quality is good and fluency. It indicates that the DVD video stream generated by the method is successful.

Keywords: video monitoring; DVD video data; VOB; IFO

收稿日期:2011-08-01

基金項目:陜西省工業攻關計劃資助項目(2011K09-36)

0 引 言

當今視頻監控系統被廣泛應用于各個領域,成為金融、交通、住宅和社區等安全監控的重要手段。但是視頻監控系統數據量大,為了解決巨大的存儲開銷問題,需要開發存儲容量較大且價格便宜的存儲器。目前國內的視頻監控系統主要以嵌入式硬盤錄像機(DVR)為主,實現了數字化高保真存儲,并且存儲容量較大,但硬盤怕震動,散熱性差,保存數據缺乏穩定和可靠性,并且硬盤壽命短、價格較高。

DVD光盤也是一種普遍的存儲器,相對于硬盤而言,DVD光盤有著價格便宜,數據存儲穩定可靠,使用壽命長等優點。因此DVD光盤特別適用于儲存視頻、音頻等信息量特別巨大的數據,在多媒體數據處理領域應用前景十分廣泛。

因此,在視頻監控系統中用DVD光盤替代硬盤,符合市場發展的規律。如何將壓縮后的視頻數據生成DVD格式的視頻數據,是其中的關鍵技術,因此本文提出了將MPEG-2壓縮后的視頻數據生成DVD視頻數據的解決方案,并實現了視頻數據在DVD光盤上的存儲。

1 系統框架

在整個視頻監控系統中,原始視頻流生成DVD視頻碼流的整個過程框架如圖1所示。

圖1 方案系統框架

首先視頻監控系統中的攝像頭將采集到的視頻傳送給編碼器進行編碼,經過MPEG-2編碼后生成的碼流是基本流(ES流),ES流在服務器上進行打包生成基本流包(PES),然后將PES生成VOB文件,再根據VOB里面的信息生成相應的IFO文件,然后將VOB和IFO刻錄在光盤上。這樣就將監控到的視頻數據生成標準的DVD數據流存儲在DVD光盤中。如果將視頻數據在客戶端進行刻錄,則將壓縮后的視頻數據首先轉化為DVD數據,然后由服務器端通過網絡傳送到客戶端,就可以刻錄了。

2 DVD光盤文件及其結構分析

2.1 DVD光盤文件

在DVD視頻光盤中有兩個文件夾,分別是“AUDIO_TS”和“VIDEO_TS”,“AUDIO_TS”文件是為了DVD音頻光盤準備的;“VIDEO_TS”文件存儲DVD-VIDEO所有數據。一個標準的VIDEO-TS目錄中包含有3種類型的文件IFO,VOB,BUP[1]。

(1) IFO(InFOrmation):存放的導引信息可以讓DVD播放器通過這些信息找到相應的播放內容。該文件包含怎樣以及何時播放VOB文件中數據的控制信息,比如電影的一個章節在哪里開始,如何匹配音頻流、視頻流與字幕流等。

(2) VOB(Video OBject):存放的是影片播放數據。VOB主要包含播放數據和導航數據,其中導航數據包含播放控制信息(PCI)與數據索引信息(DSI)兩部分。

(3) BUP(BackUP):由于IFO文件對于光盤的正常播放起到非常重要的作用,因此對IFO文件建立一個副本,保存在BUP文件中,其內部數據與IFO文件完全一致。

2.2 視頻對象集文件(VOB)的數據結構

VOB文件存儲的是一個MPEG-2 PS流。由于DVD扇區存儲數據是以2 048個字節為一包,所以每個PS包大小是固定的2 048 B。VOB文件可由一個或多個VOB組成。一個VOB由一個或多個節目單元(Cell)組成,Cell可以包含任意數目的VOBU。VOBU是比Cell更小的一個邏輯結構,VOBU包含視頻數據、音頻數據、字幕及導航數據。每個VOBU開始首先是導航包,緊跟著是視頻包、音頻包或者字幕包。視頻只能包含1個視頻流,音頻最多是8個音頻流,字幕最多是32個字幕流。一個VOBU其實包含的視頻數據是一個圖像組(GOP),圖像組以I幀開始,其次是P幀,最后是B幀。一個圖像組結束后,就是一個新的VOBU開始,一般來說一個圖像組包含12幀圖像[2]。VOB文件結構如圖2所示。

2.3 DVD視頻配置文件數據結構

IFO文件包含視頻管理信息(VMG IFO)和視頻標題集信息(VTS IFO)兩種文件,由于VMG IFO和VTS IFO結構類似,本文就只介紹視頻標題集信息。VMGI描述整張光盤中卷集的相關信息,而VTSI則描述卷內的多個或一個視頻標題和視頻標題集菜單(VTSM)的相關信息。每一個VTS都有與之對應的VTSI[3]。VTSI共9個表,分別是視頻標題集信息管理表、視頻標題集章節搜索指針表、視頻標題集節目鏈信息表、視頻標題集菜單節目鏈單元表、視頻標題集時間映射表、視頻標題集菜單節目單元地址表、視頻標題集菜單VOBU地址映射表、視頻標題集節目單元地址表、視頻標題集VOBU地址映射表。

圖2 VOB文件的結構圖

3 DVD視頻文件實時生成設計

3.1 ES流生成VOB

從MPEG-2的ES流中提取一幀圖像數據,從序列頭和圖像頭中判斷所獲得的幀類型,如果是I幀,則首先生成導航包,在DVD中,每包數據是2 048 B,接著在I幀數據上封裝PS頭和PES頭,組成一個視頻數據包。然后判斷剩余的I幀數據是否能夠和PS頭及PES頭組成一個視頻數據包,如果夠用,則再生成一個視頻數據包,再次判斷I幀數據,依次循環下去,如果最后剩余I幀不夠用,則可以后面用P幀的數據補上,這樣就可以生成一包完整的視頻文件了。如果是P幀或B幀,則不用生成導航包,直接在P幀或B幀數據上封裝上PS頭和PES頭,組成一個視頻數據包,P幀或B幀判斷剩余字節和I幀的方法一樣,惟一不同的地方是,在一個GOP中的最后一個P幀或B幀的剩余字節不夠時,用填充數據0xFF填充,組成一個視頻數據包。這樣就生成一個VOBU,其結構是導航包+I幀+P幀+B幀+B幀+…+音頻幀+P幀+B幀。生成VOB的流程如圖3所示。

每個VOBU是以一個導航包開始的,所以必須先生成一個導航包[4],導航包的結構定義如下:

struct NAVPACK

{ uint8_t PACK_HEADER[14];

uint8_t SYSTEM_HEADER[24];

uint8_t PCI_PACKET_HEADER[6];

uint8_t PCI_SUBSTREAMID;

uint8_t PCI_DATA[979];

uint8_t DSI_PACKET_HEADER[6];

uint8_t DSI_SUBSTREAMID;

uint8_t DSI_DATA[546];

uint8_t reserved[471];

};

生成導航包后,則開始封裝視頻數據,具體的封包函數是MakePSStream,其返回是一個整形,如果封包成功,則返回0,否則返回1。函數原型如下:

Static int MakePSStream(char*ESbuffer,int ESlenght,int FreameType, _int64 Pts, _int64 Dts, MAKEPACKETOOL*Mpt)

每當一個GOP封裝成一個VOBU后,在開始封裝下一個VOBU時,須將打包管理器Mpt中VOBU的起始地址設置為Mpt->StartAddress=Mpt->EndAddress,這樣生成的VOBU地址才連續,即后一個VOBU緊跟著前一個VOBU。

圖3 生成VOB的流程圖

3.2 VTS IFO的生成

根據生成的VOB,可以生成對應的VTS IFO文件。首先定義一個結構體workset,用來存儲VOB文件有關信息,為 workset結構體中的各個成員變量分配空間并初始化,打開一個VOB文件,從VOB文件中每次讀取2 048 B的數據存儲在buffer中,判斷前4個字節是否等于0x000001BA,如果是,則獲取MPEG-2頭中時間信息SCR。接著判斷buffer[14],buffer[15],buffer[16],buffer[17]是否等于0x000001E0,如果是,則獲取PES包頭中視頻時間信息PTS和DTS。如果buffer[14],buffer[15],buffer[16],buffer[17]等于0x000001BD,獲取PES包頭中的音頻時間信息PTS和DTS[5]。如果等于0x000001BB,表明讀取的數據是導航包,循環從VOB文件中讀取2 048 B數據,直到指針指到文件結尾,循環結束,即可知一個VOB文件中的VOBU數和每個VOBU的開始地址和結束地址等信息,具體實現函數是FindsVobus()。然后通過函數MarkChapters()獲得的PGC數和Cell ID 等信息,將這些信息存儲在結構體workset。

根據前面的VOB信息,生成IFO中的各個表,并將各表的數據寫入VTS IFO文件。首先創建一個VTS IFO文件并以讀寫方式打開,然后調用函數WriteIFO()生成VIS IFO。函數原型是WriteIFO(FILE *h,struct workset*ws)。

VMG IFO生成的方法和VTS IFO類似,本文不再詳細介紹。

3.3 音視頻同步算法的研究

3.3.1 視頻PES時間信息重建

在MPEG-2標準中,圖像解碼的幀順序和顯示的幀順序是不相同的。在PES分組中的時間同步信息是顯示時間(PTS)和解碼時間(DTS)。

由于MPEG-2標準中給出的PTS和DTS的計算公式非常復雜,而且不易理解,本文提出了一種計算PTS和DTS的新方法。

在圖像經過編碼后,編碼器已經在生成后的ES流中標上了與同步信息相關的幀速率、幀參考和幀類型等字段[6],因此可以通過這些信息計算出PTS和DTS。根據MPEG-2的時序模型,知道視頻的DTS值始終具有逐幀遞增的特點,而PTS和DTS之間具有恒定的差值關系[7],因此根據DTS確定PTS的值。對于一個GOP中每一幀的PTS/DTS值計算如下:

(1) 如果當前幀是I幀,并且是整個碼流的第一幀。

PTS=PtsIni

DTS=PtsIni-(temporal_reference+1)*frame_time

(2) 如果當前幀是I幀、P幀或者B幀,但不是第一幀。

DTS=PtsIni+frame_counter*frame_time

PTS=DTS+(temporal_reference+1-GopFrameOrder)*frame_time

其中,PtsIni是編碼時設定的PTS初始值;temporal_reference是解碼后的顯示順序;frame_time是一幀圖像的持續時間;frame_counter為從整個碼流的第一幀到當前幀之間的幀數;GopFrameOrder為在當前GOP中的視頻幀序號。

3.3.2 PS時間信息重建

在PS流中,SCR是指時間同步信息。SCR表示了系統的時間基準,其頻率是27 MHz。SCR編碼的時候被分成兩個部分,一部分以系統時鐘的1/300為單位,稱為SCR_Base;另一部分以系統時鐘為單位,稱為SCR_Ext[8]。SCR的計算方法如下:

t(i)=SCR(i′)sys_clock_frequency+i-i′propram_mux_rate*50

令i=0,即可以得到當前i′字節編碼的SCR值。

在DVD文件中,每包數據大小是2 048 B,因此將i′設置為2 048, program_mux_rate是固定值25 200[9],即可得SCR(i′),從而得到:

SCR_Base=SCR/300

SCR_Ext=SCR%300

將第一個PS包即導航包的SCR設為初值0,以后每個PS包的SCR值按SCR(i′)遞增。

4 測試結果及分析

本文是在VC++6.0平臺上,用C語言進行開發的,由于C語言具有很好的移值性,因此程序也可以移植在嵌入式Linux系統中運行。

4.1 VOB文件測試

服務器端將生成的VOB及相應的IFO刻錄在DVD光盤中,或者通過網絡傳輸到客戶端進行刻錄。首先測試一下VOB文件,將其用播放軟件或者DVD播放機進行播放,本文是用暴風影音播放,播放畫面如圖4所示。

圖4 VOB文件的播放畫面

從播放效果來看視頻播放流暢,質量良好,沒有馬賽克效應。再用VobEdit軟件分析一下VOB文件結構,其結構正確,符合DVD論壇的規定[10]。

4.2 IFO文件測試

由于IFO不是視頻文件,不能直接播放驗證其是否正確,但可以通過DVD播放機播放VOB文件,看IFO文件是否能正確引導播放機播放VOB文件,通過

驗證,生成的IFO是可以的。也可以由IfoEdit軟件對生成的VTS IFO進行分析,其結構正確,符合DVD論壇的規定。測試結果如圖5所示。

圖5 分析生成VTS IFO文件測試結果

5 結 論

本文研究了DVD光盤中的文件結構,然后在VC++6.0平臺上用C語言編寫程序,成功將視頻監控的MPEG-2壓縮碼流封裝成VOB和IFO文件,并在電腦上用播放軟件播放和DVD播放機中播放,畫面質量良好,播放流暢。同時提出一種新的音視頻同步的算法。本文研究的成果已經應用在視頻監控系統中,用DVD光盤替代了硬盤存儲數據,為用戶節省了成本。

參 考 文 獻

[1]王復春.DVD視頻光盤的文件系統[J].記錄媒體技術,2008(5):32-34.

[2]張曉民,劉黎明,王水.DVD私有流分析及其應用研究[J].現代電子技術,2009,32(6):81-85.

[3]DVD Forum. DVD specification for read-only disc, version1.1 [R]. [S.l.]: DVD Forum, 1997.

[4]何韶煒.音/視頻實時DVD錄影系統的軟件實現[D].廣州:華南理工大學,2005.

[5]張莉,王保保.DVD光盤刻錄機的軟件系統實現[J].現代電子技術,2005,28(6):55-56.

[6]李宏.MPEG Ⅱ壓縮標準及其在DVD/DVB視頻信號處理中的應用[D].西安:西北工業大學,2007.

[7]洪波,鄒志永,王匡.數字電視廣播中的編解碼器的同步機制[J].中國有線電視,2003(11):27-30.

[8]ISO. ISO/IEC 13818-1 coding of moving pictures and associated audio Part1:system [S]. [S.l.]: ISO, 1996.

[9]ISO. ISO/IEC 13818-2 coding of moving pictures and associated audio Part2:video [S]. [S.l.]: ISO, 1996.

[10]DVD Forum. DVD-video recording for rewritable and recordable discs-part 3 video recording1.0 [R]. [S.l.]: DVD Forum, 1999.

作者簡介:

吳冬梅 女,1964年出生,浙江義烏人,碩士,教授。主要研究方向為小波分析、圖像壓縮及圖像識別等。

何 策 男,1985年出生,陜西咸陽人,在讀碩士研究生。主要研究方向為圖像處理。



主站蜘蛛池模板: 国产精品30p| 国产丝袜第一页| 中文字幕在线观| 人妻无码中文字幕第一区| 成人福利在线视频免费观看| 欧洲熟妇精品视频| 黄色网页在线观看| 久久大香香蕉国产免费网站| 国产噜噜在线视频观看| 狠狠亚洲五月天| 成人韩免费网站| 国产高清在线精品一区二区三区 | 日本91视频| 国产区福利小视频在线观看尤物| 在线看片中文字幕| 丝袜美女被出水视频一区| 亚洲最大看欧美片网站地址| 国产一级精品毛片基地| 亚洲视频无码| 伊人色婷婷| 99无码中文字幕视频| 极品私人尤物在线精品首页 | 日韩在线视频网| 久久伊伊香蕉综合精品| 九九久久精品免费观看| 91毛片网| 国产无码性爱一区二区三区| 嫩草国产在线| 91视频国产高清| 狼友视频一区二区三区| 久久综合久久鬼| 日韩中文精品亚洲第三区| 免费人成视频在线观看网站| 色成人综合| 久久国语对白| 国产在线观看一区二区三区| 久久网欧美| 国产日韩欧美中文| 国产自在自线午夜精品视频| 亚洲一区二区黄色| 欧美一区二区三区国产精品| 国产毛片不卡| 天堂在线视频精品| 国产波多野结衣中文在线播放 | 国产资源免费观看| 中文无码毛片又爽又刺激| 国产黑丝视频在线观看| 国产理论精品| 全部毛片免费看| 99视频在线看| 久久婷婷五月综合97色| 亚洲天堂网视频| 久久特级毛片| 色网站在线免费观看| 欧美区一区二区三| 亚洲av无码久久无遮挡| jizz在线免费播放| 2021精品国产自在现线看| 国产手机在线小视频免费观看| 亚洲第一视频区| 国产成人高精品免费视频| 亚洲国产欧美国产综合久久 | 特级做a爰片毛片免费69| 99草精品视频| 亚洲综合中文字幕国产精品欧美| 国产精品尤物铁牛tv | 精品国产香蕉伊思人在线| 宅男噜噜噜66国产在线观看| 成人一区专区在线观看| 日韩欧美视频第一区在线观看| 2020亚洲精品无码| 国产精品亚洲一区二区三区在线观看| 18禁影院亚洲专区| 久久久久中文字幕精品视频| 在线观看国产黄色| 天天躁夜夜躁狠狠躁躁88| 91精品国产情侣高潮露脸| 久久久国产精品免费视频| 在线观看亚洲天堂| 极品国产一区二区三区| 国产欧美日韩免费| 欧美精品一二三区|