彩票走势图

TVideoGrabber教程:混合视频源(1)

原创|使用教程|编辑:郝浩|2013-08-30 15:39:24.000|阅读 480 次

概述:一个或是几个作为普通的视频源使用的TVideoGrabber组件,可以进行混合来作为一个TVideoGrabber组件使用,这些普通的组件可以是视频捕捉设备或是视频剪辑。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

一个或是几个作为普通的视频源使用的TVideoGrabber组件,可以进行混合来作为一个TVideoGrabber组件使用,这些普通的组件可以是视频捕捉设备或是视频剪辑。

这个混合的组件独立于源组件,当第一组组件持续的发送给它视频帧时,它可以停止、预览、录制、暂停等······

源组件可被显示到混合器组件中:

——作为一个基本的“复制”:在混合模式中的第二个组成部分接收和显示从第一部分组件来的视频。

——在需要的时候,将几个视频源切换成一个单一的来源。

——最为一个镶嵌模式,比如说在同一时间用2x2布局显示4个摄像机。

——交替显示,比如4摄像机一个接一个的显示

——一个马赛克/交替布局,比如16个摄像机用4个交替的2 x2摄像机的马赛克布局显示。

结合马赛克/交替混合

结合马赛克和交替布局,比如通过打组交替成4 X 4的视频窗口显示的4个摄像机来显示16个摄像机。

Mixer_AddToMixer组件参数:

——第1个参数是源组件的UniqueId

——第2个参数在那个时候不使用,只是将它设置为0

——第3个参数是源将会显示在的镶嵌线(对于一个只是交替使用设置为0)

——第4个参数是源将会显示在的马赛克列(对于一个只是交替使用设置为0)

——第5个参数是显示组号(对于一个只是交替使用设置为0)

——第6个参数是显示组持续的毫秒时间(对于一个只有马赛克设置为0)

——第 7参数应设置为TRUE

—— 第8参数应设置为TRUE

基本混合(第二个组件从第一组件接收到视频帧)

在这个模式下,你有第二组组件,可以将第一个组件作为一个视频源使用。

比如第一个组件使用预览,第二组件独立的开始/停止/暂停/恢复录音的第一个组件,并进行连续的预览。

VideoGrabber1.VideoSource = vs_VideoCaptureDevice 
VideoGrabber1.StartPreview()
VideoGrabber2.VideoSource = vs_Mixer
VideoGrabber2.Mixer_AddToMixer (VideoGrabber1.UniqueID, 0, 0, 0, 0, 0, true, true);
VideoGrabber2.StartPreview()

VideoGrabber2将会作为视频源接收通过VideoGrabber1显示和发送的视频。

选择混合视频尺寸

默认情况下,混合组件将会使用以下视频大小:

——在开启混合组件之前,如果源已经开始,这个混合组件就会使用源尺寸。

——如果源尚未开始,混合组件会开始于320 x240。

在StartRecording StartPreview之前,在混合组件上调用UseNearestVideoSize来选择视频尺寸。

VideoGrabberMixer.VideoSource = vs_Mixer 
VideoGrabberMixer.UseNearestVideoSize (640, 480, true)
VideoGrabberMixer.StartPreview()

在需要的时候,将几个源转换为一个

类似于用多于一个视频源的基本混合,可以通过调用Mixer_Activation来转换源,比如:

1、开启第1个捕捉设备的预览:

VideoGrabber1.VideoSource = vs_VideoCaptureDevice 
VideoGrabber2.VideoDevice = 0
VideoGrabber1.StartPreview()
2、开启第2个捕捉设备的预览:
VideoGrabber2.VideoSource = vs_VideoCaptureDevice 
VideoGrabber2.VideoDevice = 1
VideoGrabber2.StartPreview()
3、开启将会使得预览或记录在混合模式中的第3个组件
VideoGrabber3.VideoSource = vs_Mixer 
int MixerId1 = VideoGrabber3.Mixer_AddToMixer (VideoGrabber1.UniqueID, 0, 0, 0, 0, 0, true, true)
int MixerId2 = VideoGrabber3.Mixer_AddToMixer (VideoGrabber2.UniqueID, 0, 0, 0, 0, 0, true, true)
VideoGrabber3.Mixer_Activation (MixerId2, false) // let' start with MixerId1 activated only
VideoGrabber3.StartPreview()
4、然后在输入、激活和停用以及其他之间进行切换:
VideoGrabber3.Mixer_Activation (MixerId1, false) 
VideoGrabber3.Mixer_Activation (MixerId2, true)
or 
VideoGrabber3.Mixer_Activation (MixerId2, false) 
VideoGrabber3.Mixer_Activation (MixerId1, true)

>>>TVideoGrabber 下载


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP