`
幽灵猫
  • 浏览: 14683 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

视频处理控件TVideoGrabber中混合多个视频源(1)

阅读更多

其实一个或是几个作为普通的视频源使用的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.v6.7.5.For.Delphi7.BCB456的破解补丁我试过了,并用之写过硬盘录像的软件,很好用。

    视频处理控件TVideoGrabber.v6.7.5.For.Delphi7.BCB456

    【TVideoGrabber.v6.7.5】是一款专为Delphi7和BCB456设计的视频处理控件,它集视频捕捉、压缩、录制、回放等多种功能于一体,是开发多媒体应用的有力工具。这个控件以其强大的功能和易用性,受到了开发者们的广泛...

    TVideoGrabber控件视频捕捉和媒体播放功能

    本视频演示了TVideoGrabber强大的视频捕捉和媒体播放功能,主要通过示例详细演示了视频源选择、自动转换视频文件格式、视频显示设置、视频照相及播放等实现方法和效果。

    TVideoGrabber_9.1.1.2官方demo,使用我资源中的lincese可以直接使用,用于图像解码功能强大,可支持各种摄像头和图像格式

    可以捕获帧,在预览,录制或播放过程中执行文本/图形叠加,从另一TVideoGrabber组件执行PIP视频,应用视频处理(如旋转,裁剪等)。 TVideoGrabber可以将多个剪辑合并为一个剪辑,将剪辑分割成更小的剪辑,并将其...

    视频播放OCX 控件

    分屏播放是该控件的一大亮点,它可以同时显示多个视频源,这对于监控系统或者多视图的应用场景非常实用。分屏模式的实现通常需要对视频流进行拆分和同步处理,确保不同视图的播放效果一致。 视频解码是播放控件的...

    最新海康视频ocx控件支持浏览器访问视频

    这个控件利用了OCX(Object Control eXtension)技术,这是一种在Internet Explorer中运行的控件,可以方便地集成到Web页面中,为用户提供实时视频浏览功能。 海康视频OCX控件的核心功能包括: 1. **实时视频播放*...

    WPF视频播放控件

    这是一个内置的控件,能够处理音频和视频内容。以下是对`MediaElement`控件的一些关键特性和用法的详细解释: 1. **基本使用**:`MediaElement`是通过XAML或代码-behind添加到WPF布局中的。在XAML中,可以通过`...

    C# Winform 视频流添加透明控件

    在Winform中处理视频流通常需要用到第三方库,如AForge.NET或DirectShow。这些库提供了捕获、解码和显示视频流的功能。你需要创建一个播放器控件,它能够接收视频流并将其渲染到窗体上。为了替换视频源,你需要提供...

    海康大华视频控件(亲测用于Intouch/ifix视频嵌入有效)

    在工控领域,将视频监控集成到上位机系统中是一项重要的需求,它能帮助操作员实时监控生产过程,及时发现并处理问题。海康和大华作为知名的安防设备提供商,提供了专门的视频控件来满足这一需求。本文将详细探讨如何...

    用于网络会议系统,聊天系统的视频语音控件

    “可用于网络视频聊天系统,网络视频会议系统”表明这个控件适用于两种常见的应用场景:一是个人间的视频聊天,二是多用户的视频会议。在网络视频聊天系统中,它可能提供一对一的视频通话服务;在网络视频会议系统中...

    ezVidCap.ocx控件,用于VB的视频

    ezVidCap.ocx也提供了多个事件,如OnFrameCaptured,当捕获到新的视频帧时触发,开发者可以在此事件中处理每一帧的数据,例如保存为图片或进行实时处理。OnRecordingFinished事件则在录制完成后触发,可以在此处理...

    TVideoGrabber 8.6.2.10

    总的来说,TVideoGrabber 8.6.2.10是一个全面的视频处理工具,它为开发者提供了强大的功能集,使得在多种编程环境下开发视频应用变得简单高效。无论是视频采集、编码、处理还是播放,TVideoGrabber都能提供稳定且...

    海康威视视频监控控件的使用和实现

    海康威视视频监控控件的使用和实现 海康威视视频监控控件是一种OCX控件,用于实现视频监控系统的开发。该控件提供了多种接口,用于注册、注销、解析IP地址、获取硬盘录像机信息、预览等功能。 1. 注册接口 注册...

    用于(海康、大华等)录像机的WPF视频播放控件

    在名为"VideoPlayerDemo"的压缩包文件中,很可能是包含了一个示例项目或库,演示了如何在WPF应用程序中集成和使用这个视频播放控件。开发者可以通过研究这个示例,了解控件的用法、API调用方式以及如何自定义用户...

    vb视频控件-usb摄像头视频采集

    总的来说,“vb视频控件-usb摄像头视频采集”涵盖了VB编程、硬件驱动接口、多媒体处理等多个方面的知识,开发者需要具备一定的VB基础,同时理解如何与硬件交互,才能成功地实现这一功能。通过学习和实践,开发者不仅...

    视频控件for delphi

    在Delphi编程环境中,开发与视频相关的应用程序时,"视频控件for Delphi"是一个重要的工具,它允许开发者轻松地集成视频播放、处理和显示功能。这个控件通常提供了丰富的API和事件,使得开发者可以方便地实现视频...

    USB视频控件

    “支持本地多个视频捕捉”意味着该控件能够同时处理来自多个视频源的数据,比如两个或更多的USB摄像头。这对于需要多角度拍摄或者同时监控多个位置的应用来说是非常有用的。这种特性通常需要高效的资源管理和同步...

    DSPack——视频开发控件包

    这个工具集提供了一系列的组件和类库,使得在编程过程中处理视频流、音频处理以及多媒体播放变得更加便捷。在深入探讨其功能之前,我们先来了解一下该压缩包中包含的文件及其作用。 1. Clean.bat 和 CreateDoc.bat...

    winform 图片和视频混合播放方法1

    "winform 图片和视频混合播放方法1"这个项目就提供了这样的功能,让我们来深入探讨一下实现这些功能的关键知识点。 首先,我们要了解Windows Forms中的图像处理。在Winform中,我们通常使用PictureBox控件来显示...

    JS日历控件(可以选择多个日期)

    总结来说,创建一个JS日历控件并支持选择多个日期,需要对JavaScript的DOM操作、事件处理、日期对象有深入的理解,以及一定的前端设计和用户体验知识。实践中,我们可以结合现有的库和框架来简化开发流程,提高效率...

Global site tag (gtag.js) - Google Analytics