VB環(huán)境下壓縮數(shù)據(jù)流播放技術(shù)(1)

字號:

1. 引言
    銀行的數(shù)字化監(jiān)視監(jiān)控系統(tǒng)是目前比較有市場及應(yīng)用前景的開發(fā)項目,基于不同的MPEG采集卡與硬件外圍設(shè)備開發(fā)的監(jiān)視監(jiān)控系統(tǒng)在國內(nèi)外都有比較成型的技術(shù)。為了滿足實時監(jiān)視、實時采集壓縮、隨時回放、壓縮數(shù)據(jù)流的傳播等具體要求,在該系統(tǒng)中使用了一種用于網(wǎng)絡(luò)視頻/音頻多點傳輸(視頻廣播)的視頻數(shù)據(jù)采集卡,提供AVI(MPEG I Frame壓縮編碼)采集、MPG采集。發(fā)送端廣播MPEG流,接受端接受MPEG流并顯示,網(wǎng)絡(luò)傳輸采用WinSock 2 IP-Multicast。如果本機為發(fā)送端,網(wǎng)絡(luò)上另外任何一臺PC可以作為接收端。只要指定不同端口號,同時可以有多臺PC機作為發(fā)送端,多臺PC機作為接收端接收不同發(fā)送端的視頻數(shù)據(jù),也可在傳送數(shù)據(jù)的同時在本機將數(shù)據(jù)存為MPEG文件。本文主要介紹在VB的環(huán)境下開發(fā)MPEG卡采集的Audio/Video數(shù)據(jù)播放的一些編程技巧。
    2. MPEG的內(nèi)容與發(fā)展簡介
    多媒體信息主要包括圖像、聲音和文本三大類。其中視頻、音頻等信號的信息量是非常大的,而且這些信息的表達方式、輸入、輸出的要求也各不同。對這些數(shù)據(jù)進行有效的表達和適當處理是很重要的,它使多媒體信息壓縮技術(shù)成為多媒體通信領(lǐng)域中的關(guān)鍵技術(shù)之一。ISO與IEC于1988年聯(lián)合成立的MPEG(Moving Picture Expert Group),致力于運動圖像及其伴音編碼的全球標準化工作。它包括MPEG系統(tǒng):MPEG視頻、MPEG音頻。為了推動社會由文本信息時代向多媒體信息時代過渡,ISO繼MPEG-1、2和4后又推出了MPEG-7。
    MPEG-1制定于1993年(ISO/IEC 11172),是針對1.5Mbit/s以下數(shù)據(jù)傳輸率的數(shù)字存儲媒質(zhì)運動圖像及其伴音編碼的國際標準。視頻壓縮率為26:1。MPEG-2制定于1995年(ISO/IEC 13818),是CCIR601建議的圖像質(zhì)量DVB、HDTV和DVD制定的3-10Mbit/s的運動圖像及其伴音編碼的國際標準。與前面基于信息論的波形編碼理論,針對一定比特率的視頻、音頻編碼的MPEG標準不同的是,于1998年11月公布的國際標準MPEG-4更加注重多媒體系統(tǒng)的交互性和靈活性。它引入AV對象(Audio/Visual Objects),使得更多的交互操作成為可能。1998年10月國際標準化組織又推出了MPEG-7的構(gòu)想,預(yù)計于2001年初最終完成并公布,其正式名稱為"多媒體內(nèi)容描述接口"(Multimedia Content Description Interface)。它提出了一種適用于現(xiàn)實生活中的各種多媒體內(nèi)容的標準化描述方案,以提取待描述對象的各方面特征為基礎(chǔ),方便人們對所需的多媒體材料進行快速、有效的檢索。
    3.VB開發(fā)MPEG -- Audio/Video數(shù)據(jù)流的播放技術(shù)
    3.1.VB中Multimedia MCI 控件,MediaPlayer控件播放MPEG數(shù)據(jù)流的缺點
    VB中常用的多媒體控件是Multimedia MCI 控件,它管理媒體控制接口 (MCI) 設(shè)備上的多媒體文件的記錄與回放。它被用來向諸如聲卡、MIDI 序列發(fā)生器、CD-ROM 驅(qū)動器、視頻 CD 播放器和視頻磁帶記錄器及播放器等設(shè)備發(fā)出 MCI 命令,還支持 Windows (*.avi) 視頻文件的回放。采用Multimedia MCI 控件播放采集的MPEG數(shù)據(jù)流,播放速度比實時監(jiān)控顯示要快,在測試時還發(fā)現(xiàn)MPEG文件長度縮短到500k-600k時,就無法看到播出的圖像了。改用VB中的MediaPlayer控件上敘缺點仍然存在。分析原因是:因為MPEG文件長度太短了,播放設(shè)備剛打開就已經(jīng)關(guān)閉了,這是編程無法控制的。而且,對于用戶要求獲取的某些有關(guān)壓縮數(shù)據(jù)流的信息和希望實現(xiàn)的某些功能,比如圖線尺寸、Copmression Rate、圖形的縮放顯示、界面的美觀等,上敘控件所提供的為方便程序開發(fā)人員使用的高層接口已不適用,要想在此基礎(chǔ)上實現(xiàn)對底層的一些操作,難度可想而知。在解決上敘實際性問題時,我們調(diào)用了動態(tài)鏈接庫Quatrz.dll。