其实一个或是几个作为普通的视频源使用的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.v6.7.5.For.Delphi7.BCB456的破解补丁我试过了,并用之写过硬盘录像的软件,很好用。
是一个视频捕捉、压缩、录制、回放的巨好的东东,详细功能不能一一而述,请自已看示例程序。控件破解随后奉上。
本视频演示了TVideoGrabber强大的视频捕捉和媒体播放功能,主要通过示例详细演示了视频源选择、自动转换视频文件格式、视频显示设置、视频照相及播放等实现方法和效果。
Visual C++源代码 122 如何使用导航控件浏览多个图像Visual C++源代码 122 如何使用导航控件浏览多个图像Visual C++源代码 122 如何使用导航控件浏览多个图像Visual C++源代码 122 如何使用导航控件浏览多个图像...
使用 Vlc.DotNet.Forms,实现自动循环播放多个视频文件
VB6调用视频控件及源码,OCX封装
C# WPF 视频播放控件,支持播放、暂停、拖拽进度、调节音量大小等功能;
C# DataGridView单元格中动态添加多个控件。开发环境VS2012。
组态王程式内添加海康监控视频必须的控件:海康内部ocx视频控件
TvideoGrabber是一款多用途的视频捕捉控件和媒体播放工具,它可以为您的视频应用程序开发节省大量的时间、金钱和人力。TVideoGrabber支持从DV摄像机、USB网络摄像头、PCI视频采集卡、电视卡、USB捕捉设备和数码摄像...
页面视频播放控件-java
ASP.NET中SQL Server视频存储及播放控件源代码
Visual C++源代码 8 如何在控件中实现拖放功能Visual C++源代码 8 如何在控件中实现拖放功能Visual C++源代码 8 如何在控件中实现拖放功能Visual C++源代码 8 如何在控件中实现拖放功能Visual C++源代码 8 如何在...
视频控件for delphi
海康威视视频监控控件的使用和实现,接口文档
海康威视,组态王HKDVR.ocx控件DLL文件集,组态王6.55版本测试过,好用,还有使用说明
海康威视的OCX控件,通过控件可以实现视频预览、抓拍、录像、云台控制、对讲、声音控制、亮度等设置。
能够让我们很好的了解数据源的绑定和关于数据源的控件
最新海康视频ocx控件,海康内部ocx视频 可以直接在页面上查看视频
C#161演示将图片和文字混合显示在RichTextBox控件中 源代码