TVideoGrabber如何并行处理多摄像头
大家都知道 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如何并行处理多摄像头的更多相关文章
- TVideoGrabber如何将网络摄像头影像实时发布到网络
在TVideoGrabber中如何将网络摄像头影像实时发布到网络?如何设置正在运行TVideoGrabber的一台电脑,同时通过另一台电脑在网络中实时的观看在线视频呢? 在这里称发送视频流的电脑为“m ...
- TVideoGrabber的使用(一)捕捉摄像头
使用TVideoGrabber捕捉摄像头,相当容易,只需几句代码即可解决问题,首先我们新建一个工程,然后从控件面板上拉取一个 TVideoGrabber控件到窗体中,然后再在窗体上放置四个Button ...
- 在DevExpress中使用CameraControl控件进行摄像头图像采集
在我们以前的项目了,做摄像头的图片采集,我们一般还是需要做一个封装处理的,在较新版本的DevExpress控件里面,增加了一个CameraControl控件,可以直接调用摄像头显示的,因此也可以做头像 ...
- ubuntu-Linux系统读取USB摄像头数据(gspca)
将摄像头图像保存为jpg格式.摄像头需要是gspca免驱的.uvc若用uvc格式的需要在图像中插入Huffman表.否则无法正常显示. 程序代码: #include <stdio.h> # ...
- ubuntu-Linux系统读取USB摄像头数据(uvc)
这几天在做小车的过程中,需要用到图像采集.我想现在用的摄像头是UVC免驱的.根据国嵌的教程中有一个gspca摄像头的程序.我发现把gspca的采集程序用到uvc上时,在显示图像的时候提示没有huffm ...
- C# 使用AForge调用笔记本摄像头拍照
vs2012 winform 连接摄像头设备,这里需要引入 代码: using AForge; using AForge.Controls; using AForge.Imaging; using ...
- Opencv摄像头实时人脸识别
Introduction 网上存在很多人脸识别的文章,这篇文章是我的一个作业,重在通过摄像头实时采集人脸信息,进行人脸检测和人脸识别,并将识别结果显示在左上角. 利用 OpenCV 实现一个实时的人脸 ...
- Opencv VideoCapture实时捕捉摄像头信息
#include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using ...
- Unity打开摄像头占满全屏
Unity打开摄像头占满全屏 AR项目需求,Unity打开摄像头作为背景渲染占满全屏~ Unity对设备硬件操作的API并不是太友好~打开一个摄像头,渲染到屏幕上也都得自己写,虽然步骤少,提取摄像头t ...
随机推荐
- busybox sz rz命令
之前板子和电脑之间传送文件的时候都是通过tftp网络下载.所以找了一下在文件系统中使用串口上传文件的方法. rz和sz命令使用zmoderm协议,SecureCRT也用提供这个命令的支持.由于是串口, ...
- CentOS6.5Minimal安装Gitlab7.5
文章出处:http://www.restran.net/2015/04/09/gilab-centos-installation-note/ 在 CentOS 6.5 Minimal 系统环境下,用源 ...
- Java之Ajax技术
ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...
- 第十篇 Integration Services:高级事件行为
本篇文章是Integration Services系列的第十篇,详细内容请参考原文. 简介在前一篇, we introduced fault tolerance by examining method ...
- [ROS] slam_gmapping
slam_gmapping节点 1)slam_gmapping 节点在sensor_msgs/LaserScan消息内获取数据并建立地图 map(nav_msgs/OccupancyGrid).该地图 ...
- 七参数计算正确性验证——Coord软件使用
我计算了一套七参数,但是别人说计算结果不正确,我只好验证一下. 最后知道为啥算错了,原来是尺度K的单位问题,我计算七参数的单位是PPM,而下面软件的单位是m所以需要除以1000000进行计算. 下面是 ...
- windows 64位 dll文件 位置及python包rtree shapely安装
位置 \Windows\System32 python包依赖包安装 rtree 依赖 spatialindex(spatialindex.dll spatialindex_c.dll) shape ...
- Oracle SQLserver数据库创建表ID字段的自动递增_序列
Oracle 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id ),userid ),loginpasswo ...
- 使用NSData处理数据
// // main.m // 06-使用NSData处理数据 // // Created by apple on 14-3-21. // Copyright (c) 2014年 apple. ...
- python加密模块学习
1. md5模块 md5.new([arg]) 返回一个md5对象,如果给出参数,则相当于调用了update(arg) md5.update(arg) 用string参数arg更新md5对 ...