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

来源:互联网 发布:变性人有快感吗 知乎 编辑:程序博客网 时间:2024/05/14 15:40

其实一个或是几个作为普通的视频源使用的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

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

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

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

>>>示例代码

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

选择混合视频尺寸

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

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

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

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

>>>示例代码

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

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

>>>示例代码

今天就先说到这里,有兴趣的自己去研究一下啊,这里留个TVideoGrabber 下载