亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

VB環境下壓縮數據流播放技術

2019-11-18 17:36:48
字體:
來源:轉載
供稿:網友
1.引言

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

  2.MPEG的內容與發展簡介

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

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

  3.VB開發MPEG--Audio/Video數據流的播放技術

  3.1.VB中MultimediaMCI控件,MediaPlayer控件播放MPEG數據流的缺點

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

  3.2.提供對MPEG流方便的底層操作和高層接口的動態鏈接庫Quartz.dll

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

  3.3.用PictureBox控件顯示MPEG數據流

  VisualBasic中PictureBox控件可以顯示來自位圖、圖標或者元文件,以及來自增強的元文件、JPEG或GIF文件的圖形。亦可在代碼中操作圖形屬性和方法,以創建動畫或進行仿真。在窗體上放置了一個PictureBox控件picTV,在調用了Windows/System下動態鏈接庫Quatrz.dll的基礎上,定義一個全局的Object對象pMC,令pMC指向FilgraphManager的一個新實例,打開壓播放的MPEG文件;再定義一個局部對象pVW為IVideoWindow的新實例,打開一個播放Video的窗口;令pVW=pMC,給對象引用pVW賦值,將picTV的屬性值hWnd賦給pVW的Owner,這樣picTV就能顯示接收的MPEG數據流了。具體操作如下:

SetpMC=NewFilgraphManager

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

SetpVW=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

  可以單獨定義一個函數包括這些代碼,也可將其放到CommandButton控件的Click事件中。

3.4.MPEG數據流的縮放顯示

  放大或縮小MPEG圖像是各種多媒體播放軟件中常用的圖像顯示處理手段。VisualBasic中對于靜態圖片進行縮放處理可以使用Image控件,將控件的Stretch屬性設為True,則裝入的圖片會改變比例適應Image控件的范圍,因此對圖片的縮放處理變成對Image控件的Height、Width屬性值的大小變化。由于控件的尺寸發生變化,顯示的點距不能改變,造成顯示點的像素點與圖片不能完全一一對應,顯示質量明顯變差。只有Image控件才能對圖片進行縮放,如果PictureBox控件不足以顯示整幅圖象,則裁剪圖象以適應控件的大小。要想實現用PictureBox控件實現對輸出MPEG圖像的縮放,必須改變MPEG數據流的輸出比例,在調節PictureBox控件的尺寸去適應輸出的MPEG圖像。實際上,在上面的第3小節里,為了顯示輸出MPEG圖像已經這樣做了。只不過用的是讀取出的MPEG圖像OldWidth、OldHeight,下面給出一個以原來的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圖像的尺寸時要注意保持Width、Height的比例一致,以免輸出的圖像變形。

  3.5.鼠標拖動播放MPEG數據流

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

PRivateSubSlider1_Scroll()

DimpMPAsIMediaPosition

DimvAsDouble

IfNotbOpenThenExitSub

bSeeking=True

pMC.Pause

SetpMP=pMC

v=Slider1.Value-Slider1.Min

v=v/Slider1.Max*pMP.Duration

pMP.CurrentPosition=v

SetpMP=Nothing

pMC.Run

EndSub

  3.6.MPEG數據流采集時間的獲取

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

  在整個MPEG的播放過程中,都要求實時顯示MPEG數據流的采集時間,可定義一個獲取采集時間的函數,采用Timer控件的Timer事件來驅動。通過引發Timer事件,Timer控件可以有規律地隔一段時間執行一次函數獲取到MPEG數據流的采集時間。

  4.結束語

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久久久久久久| 久久久之久亚州精品露出| 91国产视频在线播放| 国产精品综合久久久| 久久免费在线观看| 国产成人激情视频| 在线精品视频视频中文字幕| 色噜噜亚洲精品中文字幕| 热久久免费视频精品| 激情成人在线视频| 精品无人区太爽高潮在线播放| 国产精品视频久久久| 免费97视频在线精品国自产拍| 2019中文字幕全在线观看| 欧美一区二区三区艳史| 永久免费毛片在线播放不卡| 国产精品96久久久久久又黄又硬| 国产原创欧美精品| 欧美成人激情视频免费观看| 国产98色在线| 亚洲女人天堂色在线7777| 欧美高跟鞋交xxxxxhd| 国产精品草莓在线免费观看| 中文字幕精品在线视频| 国产97在线播放| 国产一区二区三区在线看| 欧美激情第99页| 色七七影院综合| 中文字幕精品一区二区精品| 欧美激情一区二区三区高清视频| 国产z一区二区三区| 亚洲精品720p| 日韩av免费看| 欧美三级xxx| 欧美电影免费观看网站| 91精品国产乱码久久久久久蜜臀| 日韩视频在线免费| 精品久久久久久久久久ntr影视| 日韩电影免费在线观看| 成人网在线免费看| 欧美性猛交xxxx黑人| 中文字幕欧美日韩精品| 国产精品观看在线亚洲人成网| 亚洲欧美成人一区二区在线电影| 亚洲福利小视频| 中文字幕一区二区精品| 亚洲精品www久久久| 九九久久久久久久久激情| 亚洲精品资源美女情侣酒店| 亚洲激情国产精品| 国产精品免费一区二区三区都可以| 中文字幕国产亚洲| 2019av中文字幕| 日韩在线观看免费网站| 中文字幕亚洲欧美日韩在线不卡| 欧美性猛交xxxx富婆弯腰| 亚洲第一天堂无码专区| 亚洲黄色成人网| 国产成一区二区| 亚洲激情电影中文字幕| 欧美最近摘花xxxx摘花| 国产精品三级久久久久久电影| 欧美一区二区三区免费视| 久久久久久久影视| 亚洲有声小说3d| 欧美激情精品久久久久久蜜臀| 日韩精品视频在线观看网址| 久久久精品视频在线观看| 国语自产精品视频在线看| 日本久久中文字幕| 欧美日本中文字幕| 亚洲欧美日韩精品久久奇米色影视| 97视频人免费观看| 成人免费看片视频| 亚洲一品av免费观看| 亚洲欧美综合图区| 日韩av在线免费播放| 国产精品青青在线观看爽香蕉| 青青久久av北条麻妃海外网| 性夜试看影院91社区| 91tv亚洲精品香蕉国产一区7ujn| 日韩精品视频在线播放| 国产盗摄xxxx视频xxx69| 欧美最近摘花xxxx摘花| 亚洲影视中文字幕| 日韩有码在线观看| 亚洲高清久久久久久| 91麻豆桃色免费看| 国产免费一区二区三区在线观看| 国产一区二区三区在线看| 九九热精品在线| 欧美xxxx做受欧美.88| 欧美高清视频在线观看| 国产欧美日韩精品丝袜高跟鞋| 在线看国产精品| 亚洲国产成人一区| 久久影视电视剧凤归四时歌| 亚洲高清不卡av| 国产精品91久久| 国产精品高清在线| 久色乳综合思思在线视频| 久久久精品一区| 中文字幕精品网| 7777精品视频| 日韩毛片在线观看| 久久亚洲欧美日韩精品专区| 久久香蕉国产线看观看网| 久久久精品在线观看| 国内精品视频在线| 欧美另类极品videosbestfree| 日av在线播放中文不卡| 国产精品专区h在线观看| 狠狠色狠狠色综合日日五| 中文字幕久久久| 国产91在线播放九色快色| 久久精品视频中文字幕| 亚洲精品电影在线观看| 日韩精品中文字幕久久臀| 精品国产一区二区三区久久| 九九九久久国产免费| 亚洲精品wwww| 国产精品丝袜一区二区三区| 成人福利在线视频| 亚洲最大的成人网| 亚洲国产成人久久| 精品国产欧美一区二区三区成人| 欧美中文字幕视频在线观看| 国产精品999| 久久久久久久999| 日韩成人在线免费观看| 亚洲自拍欧美色图| 亚洲丝袜在线视频| 国产精品99蜜臀久久不卡二区| 91成人在线视频| 亚洲人a成www在线影院| 欧美疯狂做受xxxx高潮| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品极品美女粉嫩高清在线| 国内精品一区二区三区| 日韩精品在线观看一区二区| 精品中文字幕在线观看| 亚洲国产精品一区二区三区| 久久久黄色av| 97热精品视频官网| 国产精品久久久久高潮| 国产精品久久久久久久久久久新郎| 国产成人精品亚洲精品| 欧美极品在线视频| 亚洲电影免费观看高清完整版在线| 欧美亚洲激情视频| 一区二区三区美女xx视频| 亚洲另类欧美自拍| 久久中文字幕在线视频| 26uuu久久噜噜噜噜| 欧美一区第一页| 国产福利视频一区二区| 狠狠色狠色综合曰曰| 欧美一级bbbbb性bbbb喷潮片| 久久国产精品久久国产精品| 日韩免费av在线| 国产精品视频一| 亚洲精品一区二区在线| 亚洲片在线观看| 97在线视频免费播放|