六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

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

[摘要]1. 引言    銀行的數(shù)字化監(jiān)視監(jiān)控系統(tǒng)是目前比較有市場及應(yīng)用前景的開發(fā)項(xiàng)目,基于不同的MPEG采集卡與硬件外圍設(shè)備開發(fā)的監(jiān)視監(jiān)控系統(tǒng)在國內(nèi)外都有比較成型的技術(shù)。為了滿足實(shí)時(shí)監(jiān)視、實(shí)時(shí)采集壓縮、隨時(shí)回放、壓縮數(shù)據(jù)流的傳播等具體要求,在該系統(tǒng)中使用了一種用于網(wǎng)絡(luò)視頻/音頻多點(diǎn)傳輸(視頻廣播)的視頻...

1. 引言

   銀行的數(shù)字化監(jiān)視監(jiān)控系統(tǒng)是目前比較有市場及應(yīng)用前景的開發(fā)項(xiàng)目,基于不同的MPEG采集卡與硬件外圍設(shè)備開發(fā)的監(jiān)視監(jiān)控系統(tǒng)在國內(nèi)外都有比較成型的技術(shù)。為了滿足實(shí)時(shí)監(jiān)視、實(shí)時(shí)采集壓縮、隨時(shí)回放、壓縮數(shù)據(jù)流的傳播等具體要求,在該系統(tǒng)中使用了一種用于網(wǎng)絡(luò)視頻/音頻多點(diǎn)傳輸(視頻廣播)的視頻數(shù)據(jù)采集卡,提供AVI(MPEG I Frame壓縮編碼)采集、MPG采集。發(fā)送端廣播MPEG流,接受端接受MPEG流并顯示,網(wǎng)絡(luò)傳輸采用WinSock 2 IP-Multicast。如果本機(jī)為發(fā)送端,網(wǎng)絡(luò)上另外任何一臺(tái)PC可以作為接收端。只要指定不同端口號(hào),同時(shí)可以有多臺(tái)PC機(jī)作為發(fā)送端,多臺(tái)PC機(jī)作為接收端接收不同發(fā)送端的視頻數(shù)據(jù),也可在傳送數(shù)據(jù)的同時(shí)在本機(jī)將數(shù)據(jù)存為MPEG文件。本文主要介紹在VB的環(huán)境下開發(fā)MPEG卡采集的Audio/Video數(shù)據(jù)播放的一些編程技巧。

   2. MPEG的內(nèi)容與發(fā)展簡介

   多媒體信息主要包括圖像、聲音和文本三大類。其中視頻、音頻等信號(hào)的信息量是非常大的,而且這些信息的表達(dá)方式、輸入、輸出的要求也各不同。對這些數(shù)據(jù)進(jìn)行有效的表達(dá)和適當(dāng)處理是很重要的,它使多媒體信息壓縮技術(shù)成為多媒體通信領(lǐng)域中的關(guān)鍵技術(shù)之一。ISO與IEC于1988年聯(lián)合成立的MPEG(Moving Picture Expert Group),致力于運(yùn)動(dòng)圖像及其伴音編碼的全球標(biāo)準(zhǔn)化工作。它包括MPEG系統(tǒng):MPEG視頻、MPEG音頻。為了推動(dòng)社會(huì)由文本信息時(shí)代向多媒體信息時(shí)代過渡,ISO繼MPEG-1、2和4后又推出了MPEG-7。

   MPEG-1制定于1993年(ISO/IEC 11172),是針對1.5Mbit/s以下數(shù)據(jù)傳輸率的數(shù)字存儲(chǔ)媒質(zhì)運(yùn)動(dòng)圖像及其伴音編碼的國際標(biāo)準(zhǔn)。視頻壓縮率為26:1。MPEG-2制定于1995年(ISO/IEC 13818),是CCIR601建議的圖像質(zhì)量DVB、HDTV和DVD制定的3-10Mbit/s的運(yùn)動(dòng)圖像及其伴音編碼的國際標(biāo)準(zhǔn)。與前面基于信息論的波形編碼理論,針對一定比特率的視頻、音頻編碼的MPEG標(biāo)準(zhǔn)不同的是,于1998年11月公布的國際標(biāo)準(zhǔn)MPEG-4更加注重多媒體系統(tǒng)的交互性和靈活性。它引入AV對象(Audio/Visual Objects),使得更多的交互操作成為可能。1998年10月國際標(biāo)準(zhǔn)化組織又推出了MPEG-7的構(gòu)想,預(yù)計(jì)于2001年初最終完成并公布,其正式名稱為"多媒體內(nèi)容描述接口"(Multimedia Content Description Interface)。它提出了一種適用于現(xiàn)實(shí)生活中的各種多媒體內(nèi)容的標(biāo)準(zhǔn)化描述方案,以提取待描述對象的各方面特征為基礎(chǔ),方便人們對所需的多媒體材料進(jìn)行快速、有效的檢索。

   3.VB開發(fā)MPEG -- Audio/Video數(shù)據(jù)流的播放技術(shù)

   3.1.VB中Multimedia MCI 控件,MediaPlayer控件播放MPEG數(shù)據(jù)流的缺點(diǎn)

   VB中常用的多媒體控件是Multimedia MCI 控件,它管理媒體控制接口 (MCI) 設(shè)備上的多媒體文件的記錄與回放。它被用來向諸如聲卡、MIDI 序列發(fā)生器、CD-ROM 驅(qū)動(dòng)器、視頻 CD 播放器和視頻磁帶記錄器及播放器等設(shè)備發(fā)出 MCI 命令,還支持 Windows (*.avi) 視頻文件的回放。采用Multimedia MCI 控件播放采集的MPEG數(shù)據(jù)流,播放速度比實(shí)時(shí)監(jiān)控顯示要快,在測試時(shí)還發(fā)現(xiàn)MPEG文件長度縮短到500k-600k時(shí),就無法看到播出的圖像了。改用VB中的MediaPlayer控件上敘缺點(diǎn)仍然存在。分析原因是:因?yàn)镸PEG文件長度太短了,播放設(shè)備剛打開就已經(jīng)關(guān)閉了,這是編程無法控制的。而且,對于用戶要求獲取的某些有關(guān)壓縮數(shù)據(jù)流的信息和希望實(shí)現(xiàn)的某些功能,比如圖線尺寸、Copmression Rate、圖形的縮放顯示、界面的美觀等,上敘控件所提供的為方便程序開發(fā)人員使用的高層接口已不適用,要想在此基礎(chǔ)上實(shí)現(xiàn)對底層的一些操作,難度可想而知。在解決上敘實(shí)際性問題時(shí),我們調(diào)用了動(dòng)態(tài)鏈接庫Quatrz.dll。

   3.2.提供對MPEG流方便的底層操作和高層接口的動(dòng)態(tài)鏈接庫Quatrz.dll

   在Windows\System下可找到一個(gè)動(dòng)態(tài)鏈接庫Quatrz.dll,這是Windows中帶的用于控制運(yùn)動(dòng)圖像的播放的一個(gè)類型庫,只要在VB的"引用"菜單中將它添加進(jìn)來即可使用。該庫中定義了IBasicAudio,IBasicVideo和IBasicVideo2,IMediaEvent 、IMediaEventEx、IMediaPosition等類,可方便地在CommandButton控件的Click等事件中添加代碼設(shè)置和讀取Audio的相關(guān)值,設(shè)置或讀取Video的輸入輸出源的相關(guān)參數(shù),直接調(diào)用無參函數(shù)Run、Pause、Stop等控制播放事件進(jìn)程,利用IMediaPosition類對具體播放細(xì)節(jié)進(jìn)行操作。對于壓縮的MPEG數(shù)據(jù)流的輸出顯示并不需要特別的控件,在VisualBasic中你可以選擇一個(gè)窗體作為容器或窗體上的PictureBox控件作為容器。為了界面的美觀和用戶查取相關(guān)信息的方便,我們采用了PictureBox控件作為容器顯示播放的MPEG數(shù)據(jù)流。

   3.3.用PictureBox控件顯示MPEG數(shù)據(jù)流

   Visual Basic中PictureBox 控件可以顯示來自位圖、圖標(biāo)或者元文件,以及來自增強(qiáng)的元文件、JPEG 或 GIF 文件的圖形。亦可在代碼中操作圖形屬性和方法,以創(chuàng)建動(dòng)畫或進(jìn)行仿真。在窗體上放置了一個(gè)PictureBox控件picTV,在調(diào)用了Windows\System下動(dòng)態(tài)鏈接庫Quatrz.dll的基礎(chǔ)上,定義一個(gè)全局的Object對象pMC,令 pMC指向 FilgraphManager的一個(gè)新實(shí)例,打開壓播放的MPEG文件;再定義一個(gè)局部對象 pVW 為 IVideoWindow的新實(shí)例,打開一個(gè)播放Video的窗口;令pVW = pMC,給對象引用pVW賦值,將picTV的屬性值hWnd賦給pVW的Owner ,這樣picTV就能顯示接收的MPEG數(shù)據(jù)流了。具體操作如下:

Set pMC = New FilgraphManager

pMC.RenderFile "C:\Bank\Montior\Example.MPG"

Set pVW = pMC

pVW.WindowStyle = CLng(&H6000000)

pVW.Left = 0

pVW.Top = 0

OldWidth = pVW.width

OldHeight = pVW.Height

picTV.width = pVW.width * 15

picTV.Height = pVW.Height * 15

pVW.Owner = picTV.hWnd

   可以單獨(dú)定義一個(gè)函數(shù)包括這些代碼,也可將其放到CommandButton控件的Click事件中。

3.4.MPEG數(shù)據(jù)流的縮放顯示

  放大或縮小MPEG圖像是各種多媒體播放軟件中常用的圖像顯示處理手段。VisualBasic中對于靜態(tài)圖片進(jìn)行縮放處理可以使用Image控件,將控件的Stretch屬性設(shè)為True,則裝入的圖片會(huì)改變比例適應(yīng)Image控件的范圍,因此對圖片的縮放處理變成對Image控件的Height、Width屬性值的大小變化。由于控件的尺寸發(fā)生變化,顯示的點(diǎn)距不能改變,造成顯示點(diǎn)的像素點(diǎn)與圖片不能完全一一對應(yīng),顯示質(zhì)量明顯變差。只有Image控件才能對圖片進(jìn)行縮放,如果PictureBox控件不足以顯示整幅圖象,則裁剪圖象以適應(yīng)控件的大小。要想實(shí)現(xiàn)用PictureBox控件實(shí)現(xiàn)對輸出MPEG圖像的縮放,必須改變MPEG數(shù)據(jù)流的輸出比例,在調(diào)節(jié)PictureBox控件的尺寸去適應(yīng)輸出的MPEG圖像。實(shí)際上,在上面的第3小節(jié)里,為了顯示輸出MPEG圖像已經(jīng)這樣做了。只不過用的是讀取出的MPEG圖像OldWidth、 OldHeight,下面給出一個(gè)以原來的1/2大小輸出MPEG圖像的例子。

pVW.width = OldWidth / 2

pVW.Height = OldHeight / 2

picTV.Left = 135

picTV.Top = 135

picTV.width = pVW.width * 15

picTV.Height = pVW.Height * 15

pVW.Owner = picTV.hWnd

   在放大或縮小MPEG圖像的尺寸時(shí)要注意保持Width、Height的比例一致,以免輸出的圖像變形。

   3.5.鼠標(biāo)拖動(dòng)播放MPEG數(shù)據(jù)流

   用鼠標(biāo)拖動(dòng)滾動(dòng)條隨意播放MPEG數(shù)據(jù)流是Windows中多媒體播放機(jī)播放VCD的常用技術(shù)。VB中的Slider 控件是包含滑塊和可選擇性刻度標(biāo)記的窗口,可以通過拖動(dòng)滑塊,用鼠標(biāo)單擊滑塊的任意一側(cè)或者使用鍵盤移動(dòng)滑塊。在選擇離散數(shù)值或某個(gè)范圍內(nèi)的一組連續(xù)數(shù)值時(shí),Slider 控件十分有用。通過將滑塊移動(dòng)到刻度標(biāo)記處,可以對MPEG數(shù)據(jù)流進(jìn)行定位播放。在窗體上放置一個(gè)Slider 控件Slider 1,設(shè)置好光標(biāo)移動(dòng)的最大步長LargeChange=5,最小步長SmallChange=1,最大移動(dòng)范圍Max=50,實(shí)現(xiàn)程序如下:

Private Sub Slider1_Scroll()

Dim pMP As IMediaPosition

Dim v As Double

If Not bOpen Then Exit Sub

bSeeking = True

pMC.Pause

Set pMP = pMC

v = Slider1.Value - Slider1.Min

v = v / Slider1.Max * pMP.Duration

pMP.CurrentPosition = v

Set pMP = Nothing

pMC.Run

End Sub

   3.6.MPEG數(shù)據(jù)流采集時(shí)間的獲取

   VisualBasic里提供了一個(gè)函數(shù)FileDateTime可用來獲取文件建立或是更新的日期與時(shí)間。定義一個(gè)局部對象 pMP 為IMediaPosition的新實(shí)例,令pMP = pMC,給對象引用pMP賦值;再定義兩個(gè)Double型的變量curpos 、length,將pMP.CurrentPosition賦給curpos,取得MPEG數(shù)據(jù)流的當(dāng)前相對位置時(shí)間,將pMP.Duration 賦給length,取得MPEG數(shù)據(jù)流的時(shí)間長度值;就能獲取MPEG數(shù)據(jù)流相對的采集時(shí)間。根據(jù)MPEG采集文件建立的特性將兩個(gè)日期時(shí)間作加法或減法則可以得到MPEG數(shù)據(jù)流的采集時(shí)間。

   在整個(gè)MPEG的播放過程中,都要求實(shí)時(shí)顯示MPEG數(shù)據(jù)流的采集時(shí)間,可定義一個(gè)獲取采集時(shí)間的函數(shù),采用Timer控件的Timer事件來驅(qū)動(dòng)。通過引發(fā) Timer 事件,Timer 控件可以有規(guī)律地隔一段時(shí)間執(zhí)行一次函數(shù)獲取到MPEG數(shù)據(jù)流的采集時(shí)間。

   4.結(jié)束語

   將成熟的圖像壓縮技術(shù)用于電視監(jiān)視監(jiān)控領(lǐng)域具有十分重要的意義。例如:在銀行的監(jiān)視監(jiān)控系統(tǒng)中,由于客戶(銀行)身份的特殊性,在對冒領(lǐng)他人存款、銀行失竊或被搶劫等擾亂銀行正常工作秩序的事件的調(diào)查及其處理中,采集的壓縮數(shù)據(jù)流是很重要的辦案線索與證據(jù)。在該系統(tǒng)中不僅要求監(jiān)視畫面清晰,采集的數(shù)據(jù)冗余度低,MPEG數(shù)據(jù)流的播放技術(shù)也是很重要的。本文介紹了在Windows環(huán)境下,利用VisualBasic自身?xiàng)l件和原有控件開發(fā)MPEG卡采集的Audio/Video數(shù)據(jù)的播放技術(shù)。充分利用了VB的優(yōu)越條件,靈活地與VB中各種現(xiàn)有控件結(jié)合,開發(fā)出來的MPEG媒體播放器功能完善,回放的MPEG畫面能清晰地重現(xiàn)數(shù)據(jù)采集時(shí)場景、做到了"聞其聲,見其人"、并能準(zhǔn)確確定事件發(fā)生的時(shí)間時(shí)刻。對只記錄了單幀的Audio/Video數(shù)據(jù)流也能同樣播放。上述技術(shù)已在監(jiān)控系統(tǒng)中使用,并效果良好。


主站蜘蛛池模板: 青青草原免费在线视频 | 深夜视频在线观看免费 | 天天做日日干 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片人呢 | 图片区亚洲 | 一二三四免费观看高清观看在线 | 午夜精品aaa国产福利 | 欧美视频一区在线 | 日本污全彩肉肉无遮挡彩色 | 中文字幕视频免费在线观看 | 四虎精品影院4hutv四虎 | 亚洲人影院 | 婷婷综合在线观看丁香 | 天天干天天干天天色 | 野外三级国产在线观看 | 在线亚洲精品国产成人二区 | 在线视频一二三区 | 天天做天天欢天天爽 | 亚洲成在人线久久综合 | 情侣视频精品免费的国产 | 亚洲最新在线观看 | 青青青青爽极品在线视频 | 亚洲精品福利在线观看 | 亚洲综合色网站 | 婷婷免费在线 | 亚洲免费网站在线观看 | 午夜激情影视 | 中文精品久久久久国产网站 | 青娱乐最新地址 | 青青视频在线播放 | 亚洲男人在线 | 亚洲欧洲一区二区三区在线观看 | 中文字幕在线观看不卡视频 | 亚洲国产成人久久综合区 | 亚洲免费在线视频观看 | 一二三四日本高清观看视频 | 四虎影院免费网址 | 日韩国产精品99久久久久久 | 亚洲 欧美 日韩中文字幕一区二区 | 亚洲欧美在线视频观看 | 永久免费看的啪啪网站 |