VB环境下压缩数据流播放技术(2)

原创 2000年12月14日 20:26:00
 
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 控件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型的变量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数据流也能同样播放。上述技术已在监控系统中使用,并效果良好。

VB环境下压缩数据流播放技术(2)

2000年12月14日 20:26:00 3.4.MPEG数据流的缩放显示    放大或缩小MPEG图像是各种多媒体播放软件中常用的图像显示处理手段。VisualBasic中对于静态图片进行...
  • softart
  • softart
  • 2007年10月27日 07:44
  • 181

VB环境下压缩数据流播放技术(1)

    1. 引言    银行的数字化监视监控系统是目前比较有市场及应用前景的开发项目,基于不同的MPEG采集卡与硬件外围设备开发的监视监控系统在国内外都有比较成型的技术。为了满足实时监视、实时采集压...
  • ghj1976
  • ghj1976
  • 2000年12月14日 20:19
  • 1973

VB环境下Video/Audio压缩数据流播放技术

---- 1. 引言 ---- 银行的数字化监视监控系统是目前比较有市场及应用前景的开发项目,基于不同的MPEG采集卡与硬件外围设备开发的监视监控系统在国内外都有比较成型的技术。为了满足实时监视、实时...
  • ejay
  • ejay
  • 2006年01月16日 15:59
  • 883

VB环境下压缩数据流播放技术(1)

2000年12月14日 20:19:00    1. 引言    银行的数字化监视监控系统是目前比较有市场及应用前景的开发项目,基于不同的MPEG采集卡与硬件外围设备开发的监视监控系统在国内...
  • softart
  • softart
  • 2007年10月27日 07:44
  • 153

Visual Basic环境下Video/ Audio压缩数据流播放技术

国防科技大学 张汉华 计科峰 ---- 1. 引言 ---- 银行的数字化监视监控系统是目前比较有市场及应用前景的开发项目,基于不同的MPEG采集卡与硬件外围设备开发的监视监控系统在国内外都有比较成型...
  • zcsor
  • zcsor
  • 2007年08月12日 22:12
  • 31478

Visual Basic环境下Video/ Audio压缩数据流播放技术

张汉华 计科峰国防科技大学------------------------------------------------------------------------------------ 1....
  • zdg
  • zdg
  • 2000年08月06日 16:39
  • 2847

C#之数据流和字符串压缩

.Net自带的类库,System.IO.Compress中自带GZip压缩。 using System; using System.IO; using System.IO.Compressi...
  • qq563129582
  • qq563129582
  • 2017年05月17日 21:52
  • 905

内存压缩是什么?有什么用?

知识重点:请问...和那个内存清理有什么不同?回答列表1 内存压缩技术介绍为节省存储空间或传输带宽,人们已经在计算机系统中广泛地使用了数据压缩技术。在磁介质存储数据或网络传输数据时,人们使用基于硬.....
  • abc470337944
  • abc470337944
  • 2011年10月13日 17:00
  • 6476

VB压缩技术

这几天正研究文件压缩解压缩,这是在Homezj的专栏看到的代码,奉为至宝,现转载如下:  这是一个在CSDN论坛中讨论过的压缩算法代码。与WinRAR以最快方式压缩ZIP比较,255M的文件Level...
  • godwiser
  • godwiser
  • 2007年04月24日 22:28
  • 974

Java流编程实例之七--压缩流

8. 压缩流压缩流可以将输入的数据变为压缩格式后进行输出,或者读取压缩格式的数据后,解压为正常数据。8.1 将一个文件压缩为一个压缩文件注意ZipEntry的使用,一个ZipEntry代表压缩文件...
  • LogicTeamLeader
  • LogicTeamLeader
  • 2016年10月02日 19:55
  • 565
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB环境下压缩数据流播放技术(2)
举报原因:
原因补充:

(最多只允许输入30个字)