亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        視頻監(jiān)控中的DVD視頻碼流研究及實(shí)現(xiàn)

        2012-04-12 00:00:00吳冬梅等
        現(xiàn)代電子技術(shù) 2012年1期

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

        關(guān)鍵詞:視頻監(jiān)控; DVD視頻數(shù)據(jù); VOB; IFO

        中圖分類號:TN919.8-34

        文獻(xiàn)標(biāo)識碼: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

        基金項(xiàng)目:陜西省工業(yè)攻關(guān)計(jì)劃資助項(xiàng)目(2011K09-36)

        0 引 言

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

        DVD光盤也是一種普遍的存儲器,相對于硬盤而言,DVD光盤有著價(jià)格便宜,數(shù)據(jù)存儲穩(wěn)定可靠,使用壽命長等優(yōu)點(diǎn)。因此DVD光盤特別適用于儲存視頻、音頻等信息量特別巨大的數(shù)據(jù),在多媒體數(shù)據(jù)處理領(lǐng)域應(yīng)用前景十分廣泛。

        因此,在視頻監(jiān)控系統(tǒng)中用DVD光盤替代硬盤,符合市場發(fā)展的規(guī)律。如何將壓縮后的視頻數(shù)據(jù)生成DVD格式的視頻數(shù)據(jù),是其中的關(guān)鍵技術(shù),因此本文提出了將MPEG-2壓縮后的視頻數(shù)據(jù)生成DVD視頻數(shù)據(jù)的解決方案,并實(shí)現(xiàn)了視頻數(shù)據(jù)在DVD光盤上的存儲。

        1 系統(tǒng)框架

        在整個(gè)視頻監(jiān)控系統(tǒng)中,原始視頻流生成DVD視頻碼流的整個(gè)過程框架如圖1所示。

        圖1 方案系統(tǒng)框架

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

        2 DVD光盤文件及其結(jié)構(gòu)分析

        2.1 DVD光盤文件

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

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

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

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

        2.2 視頻對象集文件(VOB)的數(shù)據(jù)結(jié)構(gòu)

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

        2.3 DVD視頻配置文件數(shù)據(jù)結(jié)構(gòu)

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

        圖2 VOB文件的結(jié)構(gòu)圖

        3 DVD視頻文件實(shí)時(shí)生成設(shè)計(jì)

        3.1 ES流生成VOB

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

        每個(gè)VOBU是以一個(gè)導(dǎo)航包開始的,所以必須先生成一個(gè)導(dǎo)航包[4],導(dǎo)航包的結(jié)構(gòu)定義如下:

        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];

        };

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

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

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

        圖3 生成VOB的流程圖

        3.2 VTS IFO的生成

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

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

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

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

        3.3.1 視頻PES時(shí)間信息重建

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

        由于MPEG-2標(biāo)準(zhǔn)中給出的PTS和DTS的計(jì)算公式非常復(fù)雜,而且不易理解,本文提出了一種計(jì)算PTS和DTS的新方法。

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

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

        PTS=PtsIni

        DTS=PtsIni-(temporal_reference+1)*frame_time

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

        DTS=PtsIni+frame_counter*frame_time

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

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

        3.3.2 PS時(shí)間信息重建

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

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

        令i=0,即可以得到當(dāng)前i′字節(jié)編碼的SCR值。

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

        SCR_Base=SCR/300

        SCR_Ext=SCR%300

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

        4 測試結(jié)果及分析

        本文是在VC++6.0平臺上,用C語言進(jìn)行開發(fā)的,由于C語言具有很好的移值性,因此程序也可以移植在嵌入式Linux系統(tǒng)中運(yùn)行。

        4.1 VOB文件測試

        服務(wù)器端將生成的VOB及相應(yīng)的IFO刻錄在DVD光盤中,或者通過網(wǎng)絡(luò)傳輸?shù)娇蛻舳诉M(jìn)行刻錄。首先測試一下VOB文件,將其用播放軟件或者DVD播放機(jī)進(jìn)行播放,本文是用暴風(fēng)影音播放,播放畫面如圖4所示。

        圖4 VOB文件的播放畫面

        從播放效果來看視頻播放流暢,質(zhì)量良好,沒有馬賽克效應(yīng)。再用VobEdit軟件分析一下VOB文件結(jié)構(gòu),其結(jié)構(gòu)正確,符合DVD論壇的規(guī)定[10]。

        4.2 IFO文件測試

        由于IFO不是視頻文件,不能直接播放驗(yàn)證其是否正確,但可以通過DVD播放機(jī)播放VOB文件,看IFO文件是否能正確引導(dǎo)播放機(jī)播放VOB文件,通過

        驗(yàn)證,生成的IFO是可以的。也可以由IfoEdit軟件對生成的VTS IFO進(jìn)行分析,其結(jié)構(gòu)正確,符合DVD論壇的規(guī)定。測試結(jié)果如圖5所示。

        圖5 分析生成VTS IFO文件測試結(jié)果

        5 結(jié) 論

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

        參 考 文 獻(xiàn)

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

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

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

        [4]何韶?zé)?音/視頻實(shí)時(shí)DVD錄影系統(tǒng)的軟件實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2005.

        [5]張莉,王保保.DVD光盤刻錄機(jī)的軟件系統(tǒng)實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2005,28(6):55-56.

        [6]李宏.MPEG Ⅱ壓縮標(biāo)準(zhǔn)及其在DVD/DVB視頻信號處理中的應(yīng)用[D].西安:西北工業(yè)大學(xué),2007.

        [7]洪波,鄒志永,王匡.數(shù)字電視廣播中的編解碼器的同步機(jī)制[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年出生,浙江義烏人,碩士,教授。主要研究方向?yàn)樾〔ǚ治?、圖像壓縮及圖像識別等。

        何 策 男,1985年出生,陜西咸陽人,在讀碩士研究生。主要研究方向?yàn)閳D像處理。

        

        久久道精品一区二区三区| 国产美女精品一区二区三区| 99久久精品费精品国产一区二区 | 亚洲无码观看a| 日本女优久久精品久久| 日本久久久久亚洲中字幕| 国产乱人伦av在线a| 极品诱惑一区二区三区| 色噜噜亚洲精品中文字幕| 久久99精品久久久久久琪琪| 欧美黑人又粗又硬xxxxx喷水| 无遮挡中文毛片免费观看| 蜜臀精品一区二区三区| 亚洲午夜无码毛片av久久| 丰满少妇人妻无码专区| 粉嫩虎白女毛片人体| 最新国产乱视频伦在线| 视频一区二区三区中文字幕狠狠| 日本在线无乱码中文字幕| 夜夜爽夜夜叫夜夜高潮| 成人免费毛片aaaaaa片| 老色鬼永久精品网站| 国产一区二区三区蜜桃| 欧美性受xxxx黑人猛交| 亚洲欧美日韩精品久久亚洲区| 久久这里有精品国产电影网| 久久综合激情的五月天| 蜜桃一区二区三区| 国产成人综合亚洲精品| 亚洲午夜久久久久中文字幕久| av在线一区二区精品| 国产成人av一区二区三区不卡| 亚洲人成电影在线观看天堂色| 亚洲综合五月天欧美| 日本精品av中文字幕| 性做久久久久久免费观看| 波多野吉衣av无码| 麻豆av一区二区天堂| 亚洲av日韩一区二区| 东京热加勒比无码少妇| 亚洲区精选网址|