大家都知道 TVideoGrabber是一款支持包括C#、.NET、VB.NET、C++、Delphi、C++Builder和ActiveX平台在内的视频处理控件,可以捕捉视频,也可以作为多媒体播放器。个人比较觉得不错的是视频源的选择还真挺丰富,能捕捉和记录多种视频捕捉设备上的视频和音频流,包括USB摄像头、USB模拟捕捉设备、网络摄像机、台式机以及用作视频源的各种位图。

要在在TVideoGrabber中如果要并行处理多摄像头以及执行多摄像头网络流,需要执行下面的步骤:

1、通过视频输入的一个TVideoGrabber组件:

如果你有一个“true inputs”卡(one input = one video chip),比如说IEI IVC200G,就有4个输入,4个输出。

只需要放4个TVideoGrabber组件在窗体上,并分配每个“VideoDevice”属性给每一个输出(0、1、2、3)。

在这种情况下你要为TVideoGrabber组件的每个“ASFNetworkPort”属性分配唯一的一个网络端口,所以你将会有有着4个不同接口的4个网络流URL。如果可以的话,你需要在路由器或是防火墙上打开每个网络接口。

2、一个TVideoGrabber组件控制着一个有着4或16个多路复用输入:

通过TVideoGrabber,这个多路复用输入会定期的自动切换,这样就可以将它们显示在一个“mosaic layout”模式中,在这里TVideoGrabber显示了整个的4或16输入到同一个大的视频窗口中。

通过简单地设置“MultiplexedRole”属性到mr_MultiplexedMosaic4或mr_MultiplexedMosaic16可以激活这个模式。

这种情况下,在一个的视频窗口和一个的网络流中,你可以同时流4或16输入(在这种情况下,你只需要一个网络端口和 4个或16个通道)。

3、一个主TVideoGrabber处理一张有4或16多用复路输入的卡,同时每个输入被分配到一个TVideoGrabber从组件。

这是一个主/从模式,其中这个主TVideoGrabber组件分配每个这4或16的输入到4或16TVideoGrabber的从组件上。每个从属组件可以用来作为一个正常的TVideoGrabber组件,并从主组件的每个输入接收视频帧。

这里留个地址,有兴趣的自己去研究一下 ,下载

TVideoGrabber如何并行处理多摄像头的更多相关文章

  1. TVideoGrabber如何将网络摄像头影像实时发布到网络

    在TVideoGrabber中如何将网络摄像头影像实时发布到网络?如何设置正在运行TVideoGrabber的一台电脑,同时通过另一台电脑在网络中实时的观看在线视频呢? 在这里称发送视频流的电脑为“m ...

  2. TVideoGrabber的使用(一)捕捉摄像头

    使用TVideoGrabber捕捉摄像头,相当容易,只需几句代码即可解决问题,首先我们新建一个工程,然后从控件面板上拉取一个 TVideoGrabber控件到窗体中,然后再在窗体上放置四个Button ...

  3. 在DevExpress中使用CameraControl控件进行摄像头图像采集

    在我们以前的项目了,做摄像头的图片采集,我们一般还是需要做一个封装处理的,在较新版本的DevExpress控件里面,增加了一个CameraControl控件,可以直接调用摄像头显示的,因此也可以做头像 ...

  4. ubuntu-Linux系统读取USB摄像头数据(gspca)

    将摄像头图像保存为jpg格式.摄像头需要是gspca免驱的.uvc若用uvc格式的需要在图像中插入Huffman表.否则无法正常显示. 程序代码: #include <stdio.h> # ...

  5. ubuntu-Linux系统读取USB摄像头数据(uvc)

    这几天在做小车的过程中,需要用到图像采集.我想现在用的摄像头是UVC免驱的.根据国嵌的教程中有一个gspca摄像头的程序.我发现把gspca的采集程序用到uvc上时,在显示图像的时候提示没有huffm ...

  6. C# 使用AForge调用笔记本摄像头拍照

    vs2012  winform 连接摄像头设备,这里需要引入 代码: using AForge; using AForge.Controls; using AForge.Imaging; using ...

  7. Opencv摄像头实时人脸识别

    Introduction 网上存在很多人脸识别的文章,这篇文章是我的一个作业,重在通过摄像头实时采集人脸信息,进行人脸检测和人脸识别,并将识别结果显示在左上角. 利用 OpenCV 实现一个实时的人脸 ...

  8. Opencv VideoCapture实时捕捉摄像头信息

    #include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using ...

  9. Unity打开摄像头占满全屏

    Unity打开摄像头占满全屏 AR项目需求,Unity打开摄像头作为背景渲染占满全屏~ Unity对设备硬件操作的API并不是太友好~打开一个摄像头,渲染到屏幕上也都得自己写,虽然步骤少,提取摄像头t ...

随机推荐

  1. @MyBatis中的if...else...

    <select id="selectSelective" resultMap="xxx" parameterType="xxx"> ...

  2. LeetCode Shortest Palindrome

    原题链接在这里:https://leetcode.com/problems/shortest-palindrome/ 题目: Given a string S, you are allowed to ...

  3. sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法

    这个问题的原因在于有用户连接了当前要做还原的数据库,这里的用户甚至包括当前要做还原的用户.解决办法就是关闭与要还原数据库的所有连接. 脚本之家小编推荐的一个方法:到服务里面重启下sqlserver服务 ...

  4. python_类

    1. 对象的概念 对象包括特性和方法.特性只是作为对象的一部分的变量,方法则是存储在对象内的函数.对象中的方法和其他函数的区别在于方法总是将对象作为自己的第一个参数,这个参数一般称为self. 2. ...

  5. set方法内存分析

    // //  main.m //  04-set方法的内存管理分析 // //  Created by apple on 14-3-17. // // #import <Foundation/F ...

  6. 导出iPhone中安装的APP的iPA文件

    1.让iPhone连接电脑,打开iTunes,选择本电脑,然后点立即备份. 2.完成上一步的操作之后,选择应用,在iTunes中就会列出你从App Store中下载的应用,自己连接真机调试的应用是没有 ...

  7. 移动端<head>头部 常用<meta>标签

    <!DOCTYPE html><html lang = ""><head> <title></title> <me ...

  8. JDK里的设计模式

    一.Creational patterns 创建模式 Abstract factory (recognizeable by creational methods returning the facto ...

  9. 有关于break,continue,return的区别和代码分析

    今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...

  10. Lintcode: Singleton && Summary: Synchronization and OOD

    Singleton is a most widely used design pattern. If a class has and only has one instance at every mo ...