VB環境下壓縮資料流播放技術(2) (轉)
VB環境下壓縮資料流播放技術(2) (轉)[@more@]
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資料流是中多媒體播放機播放的常用技術。VB中的Slr 控制元件是包含滑塊和可選擇性刻度標記的視窗,可以透過拖動滑塊,用滑鼠單擊滑塊的任意一側或者使用鍵盤移動滑塊。在選擇離散數值或某個範圍內的一組連續數值時,Slider 控制元件十分有用。透過將滑塊移動到刻度標記處,可以對MPEG資料流進行定位播放。在窗體上放置一個Slider 控制元件Slider 1,設定好游標移動的最大步長LargeChange=5,最小步長SmallChange=1,最大移動範圍Max=50,實現如下:
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資料流採集時間的獲取
VisualBasic裡提供了一個FileDateTime可用來獲取建立或是的日期與時間。定義一個區域性 pMP 為IMediaPosition的新例項,令pMP = pMC,給物件引用pMP賦值;再定義兩個Double型的變數curp、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資料流也能同樣播放。上述技術已在監控系統中使用,並效果良好。
放大或縮小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資料流是中多媒體播放機播放的常用技術。VB中的Slr 控制元件是包含滑塊和可選擇性刻度標記的視窗,可以透過拖動滑塊,用滑鼠單擊滑塊的任意一側或者使用鍵盤移動滑塊。在選擇離散數值或某個範圍內的一組連續數值時,Slider 控制元件十分有用。透過將滑塊移動到刻度標記處,可以對MPEG資料流進行定位播放。在窗體上放置一個Slider 控制元件Slider 1,設定好游標移動的最大步長LargeChange=5,最小步長SmallChange=1,最大移動範圍Max=50,實現如下:
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資料流採集時間的獲取
VisualBasic裡提供了一個FileDateTime可用來獲取建立或是的日期與時間。定義一個區域性 pMP 為IMediaPosition的新例項,令pMP = pMC,給物件引用pMP賦值;再定義兩個Double型的變數curp、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資料流也能同樣播放。上述技術已在監控系統中使用,並效果良好。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VB環境下壓縮資料流播放技術(1) (轉)
- 資料庫壓縮技術探索資料庫
- Delphi資料壓縮處理(2) (轉)
- 關於資料庫壓縮技術的Survey資料庫
- oracle壓縮技術Oracle
- 表壓縮技術
- HTTP/2 頭部壓縮技術介紹HTTP
- 大資料環境下計算機軟體技術分析大資料計算機
- 資料壓縮簡史 (轉)
- SQL SERVER資料壓縮技術引領資料庫新潮流SQLServer資料庫
- 解包 bzip2 壓縮的壓縮文件(轉)
- windows環境下利用重定向管道解壓tar.xz壓縮檔案Windows
- Linux下壓縮,解壓縮RAR包(轉)Linux
- linux 下壓縮與解壓資料夾Linux
- oracle 壓縮技術(compress)Oracle
- 影片壓縮技術簡介
- 詳解基於DB2 z/OS環境下的資料庫調優技術CCDB2資料庫
- Delphi資料壓縮處理(1) (轉)
- 用流(stream)技術做下載 (轉)
- .NET環境下Email的技術介紹AI
- Linux下常用壓縮格式的壓縮與解壓方法---轉載Linux
- Oracle下的資料分片技術(轉)Oracle
- Oracle資料壓縮Oracle
- aix 下壓縮與解壓縮AI
- unix和linux下常用壓縮格式的壓縮與解壓方法(轉)Linux
- C# 檔案流壓縮解壓C#
- Oracle壓縮黑科技(二)—壓縮資料的修改Oracle
- linux下壓縮解壓縮命令Linux
- Teradata資料壓縮
- 深度學習之圖片壓縮技術深度學習
- 深度學習影象視訊壓縮技術深度學習
- 原樣壓縮conda環境,並遷移環境至另一伺服器伺服器
- VC++環境下選單和工具欄的動態修改技術 (轉)C++
- VC環境下整型轉換為字串型(2)字串
- RAC環境中的資料庫部署技術——RAC部署和效能資料庫
- 電壓-電流轉換(一):4-20mA電流環
- iOS視訊邊下邊播–快取播放資料流iOS快取
- 【表壓縮】使用表壓縮技術將表所佔用空間降低到最小