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 ...
随机推荐
- @SuppressWarnings
http://www.cnblogs.com/fsjohnhuang/p/4040785.html 一.前言 编码时我们总会发现如下变量未被使用的警告提示: 上述代码编译通过且可以运行,但每行前面的“ ...
- [代码片段]OSTU算法
用在片上系统上的 //OSTU求图像的阈值 u8 otsuThreshold(u8 **img, u16 height, u16 width) { // int width = frame->w ...
- t-sql中字符串前加N代表什么意思
比如 select @status = N'stopped' 那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N. N 在这里表 ...
- Android 使用FACE++架构包实现人脸识别
今天给大家带来一个通过使用Face++来实现人脸识别的功能. 我们先去这个Face++官网看看:http://www.faceplusplus.com.cn 我们点开案例可以看到众多我们熟知的软件都是 ...
- 5、JavaScript进阶篇②——函数、事件、内置对象
一.函数 1. 什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; a ...
- [转载]Oracle修改表空间大小
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...
- iOS - (调用系统本机发送短信功能)
今天处理一个订单详情的界面,在订单详情页面上有联系方式(电话号码),在电话号码的右边有两图片,一个是电话样式的,一个是短信样式的,做为一名程序员(号称攻城师)一眼看下去就应该是一个 button,而不 ...
- fpm来制作rpm包
转自 http://blog.halfss.com/blog/2013/02/26/fpmbao-guan-li/ 另查看 http://my.oschina.net/lxcong/blog/1438 ...
- leetcode95 Unique Binary Search Trees II
题目: Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. F ...
- G面经prepare: Sort String Based On Another
Given a sorting order string, sort the input string based on the given sorting order string. Ex sort ...