Directshow 捕捉视频入门篇

Directshow中的视频捕捉 本篇文档主要描述关于用Directshow进行视频开发的一些技术主要包括下面内容1关于视频捕捉(About Video Capture in Dshow) 2选择一个视频捕捉设备(Select capture device) 3预览视频(Previewing Video) 4如何捕捉视频流并保存到文件(Capture video to File) 5将设备从系统中移走时的事件通知(Device r 阅读详情
一、关于视频捕捉(About Video Capture in Dshow)

1) 视频捕捉Graph的构建

这里要重点了解捕捉Graph图和一般回放Graph图的定义。

一个能够捕捉音频或者视频的graph图都称之为捕捉graph图。捕捉graph图比一般的文件回放graph图要复杂许多,Directshow提供了一个Capture Graph Builder COM组件使得捕捉graph图的生成更加简单。Capture Graph Builder提供了一个ICaptureGraphBuilder2接口,这个接口提供了一些方法用来构建和控制捕捉graph图。

首先创建一个Capture Graph Builder对象和一个graph manger对象(图对象的管理器),然后用filter graph manager 作参数,调用ICaptureGraphBuilder2::SetFiltergraph来初始化Capture Graph Builder。看下面的代码吧:

HRESULT InitCaptureGraphBuilder(IGraphBuilder **ppGraph,			//Receives the pointer
								ICaptureGraphBuilder2 **ppBuilder)						//Receives the pointer
{
	if(!ppGraph || !ppBuilder)
	{
		return E_POINTER;
	}

	IGraphBuilder *pGraph = NULL;
	ICaptureGraphBuilder2 *pBuild = NULL;
	//Create the Capture Graph Builder
	HRESULT hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, 
										CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, 
										(void**)&pBuild );

	if(SECCEEDED(hr))
	{
		//Create the Filter Graph Manager
		hr = CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, 
										IID_IGraphBuilder, (void**)&pGraph);
		if(SECCEEDED(hr))
		{
			//Initialize the Capture Graph Builder
			pBuild->SetFiltergraph(pGraph);
			//Return both interface pointers to the caller
			*ppBuild = pBuild;
			*ppGraph = pGraph;		//The caller must release both interface
			return S_OK;
		}
		else 
		{
			pBuild->Release();
		}
	}
	return hr;			//Failed
}

未完,待续。。。。。哈哈,如有问题可以联系我:QQ:1906733710,我是从事电子签到软件、电子白板、互动投影软件、查询软件开发的,现在要开发视频录制的功能,在对Directshow 研究的过程当中。希望一起研究提高。有需要软件的也可以联系我。


windows下视频捕捉VFW和DirectShow 说起视频捕捉问题,先来看一下视频捕捉卡。根据使用的驱动程序的不同来分类,目前市场上大致有两种捕捉卡:VFW (Video for Windows)卡和WDM (Windows Driver Model)卡。前者是一种趋于废弃的驱动模型,而后者是前者的替代模型;WDM还支持更多新的 阅读详情

相关推荐

Directshow(SDK)学习笔记九_视频捕捉

摘要:本篇文档主要描述关于用Directshow进行视频开发的一些技术主要包括下面内容1关于视频捕捉(About Video Capture in Dshow) 2选择一个视频捕捉设备(Select capture device) 3预览视频(Previewing Video) 4如何捕捉视频流并保存到文件(Capture video to File) 5将设备从系统中移走时的事件通知(Devic

dankes 2938

windows下directShow音视频采集

简单介绍windows下directShow视频采集的过程和主要API

u010140427的博客 2468

基于MFC和DirectShow实现简易视频捕捉

本文还有配套的精品资源,点击获取 简介:MFC (Microsoft Foundation Classes) 是用于构建Windows应用程序的C++类库。本项目介绍如何通过DirectShow技术在MFC中实现视频捕捉,包括DirectShow Filter Graph的构建、设备捕获、样本抓取以及用户界面交互等方面。提供了一个可以直接运行的示例程序,并阐述了关键知识点,...

weixin_35756624的博客 1462

DirectShow中的视频捕捉之一

关于视频捕捉(About Video Capture in Dshow)1) 视频捕捉Graph的构建一个能够捕捉音频或者视频的graph图都称之为捕捉graph图。捕捉graph图比一般的文件回放graph图要复杂许多,dshow提供了一个Capture Graph Builder COM组件使得捕捉graph图的生成更加简单。Capture Graph Builder提供了一个ICapture...

镜花水月 415

directshow播放视频源代码PPlay.rar

directshow播放视频源代码PPlay.rar

directshow教程

介绍directshow,是一份比较好的介绍directshow的资料

DirectShow体系结构 之 Filter Graph Manager

    Filter GraphManager是一个用以控制Filter Graph中的Filter的COM对象。它提供了许多功能,包括:协调Filter之间的状态变化;建立参考时钟;将事件返回给应用程序;提供建立Filter Graph的方法共应用程序调用。    1)状态变化:Filter的状态变化必须遵循一个特定的次序。因此,应用程序不能将状态变化的命令直接发给Filter,而是将一个单独...

冷月醉雪的博客 527

strmiids.lib

在DirectShow编程时,直接将其复制到X:\Program Files\Microsoft Visual Studio 9.0\VC\lib(就是你的安装目录里

DirectShow实现USB相机预览和抓图例子(使用ICaptureGraphBuilder2)

关键概念: filter filter graph filter graph manager filter interface (COM interface) filter Pin(输入输出端子)Pin Property及Pin MediaType 系统设备枚举用于选择设备 GraphEdit工具使用 Video Capture及ICaptureGraphBuilder2使用 视频采集设备、VFW和WDM及KsProxy 使用驱动自带的设置窗口控制设备及视频设置 IAMStreamConfig:设置帧率、

David 3217

播放一个视频显示两个相同画面播放器源码(使用Directshow的 Infeenite Tee Filter)

播放一个视频显示两个相同画面播放器源码(请先注册inftee.ax)

DirectShow 视频捕获源码示例,C 技术实现.rar

采用C 的DirectShow技术编写的视频捕获源码示例,测试电脑没有摄像头,可能程序还有些小错误,不过对于了解视频捕获原理及编写方法应该有帮助,有这方面需要的朋友可以下载参考一下。

Directshow 视频捕捉入门篇 二

下面的代码来结束如何选择一个视频捕捉设备,就是我们平常说的摄像头 选择一个视频捕捉设备(Select capture device) 如何选择一个视频捕捉设备,可以采用系统设备枚举,详细资料参见Using the System Device Enumerator 。enumerator可以根据filter的种类返回一个设备的monikers。Moniker是一个com对象,可以参见IM

CreatedSign的专栏 1516

OAK-D-Pro深度解析:从硬件融合到全天候SLAM实战

本文深度解析OAK-D-Pro硬件架构及其在SLAM领域的实战应用。作为SLAM的"六边形战士",OAK-D-Pro融合主动双目摄像头、结构光投射器、6轴IMU等传感器,实现全天候稳定工作。通过实测数据展示其在弱纹理环境、动态光照等复杂场景下的卓越表现,并提供SLAM实战技巧与开发指南,帮助开发者快速部署高效SLAM解决方案。

weixin_27244795的博客 183

DirectShow视频捕捉应用研究

摘要 本文将对从捕捉设备和从播放文件中进行视频捕捉涉及的有关驱动(Driver)与应用的模型和接口进行研究和分析,比较其Windows与Windows CE中的不同,从而提出在Windows CE下实现视频捕捉数据流的方法。  关键字 DirectShow,视频捕捉,驱动,Windows CE系统  引言  随着多媒体技术的不断发展,相应的软件与硬件层出不穷,现在与多媒体视频会议(Video Co

Briver Song的专栏 1990

setup time和hold time的计算

内容仅仅为了方便记忆,与原理无关

sddhyl的博客 7810

多模态变体—ALIGN:高效的图像-文本学习

ALIGN 论文介绍了该模型的关键技术。无人工标注数据:使用互联网数据进行训练,不依赖人工清洗的数据集。高效的对比学习策略:采用大规模图像-文本配对数据,通过对比学习优化嵌入空间。支持零样本(zero-shot)学习:可以在没有专门训练的情况下执行多种任务,如分类、检索等。可扩展性强:ALIGN 采用高效的 CNN 或 Transformer 作为编码器,适用于大规模计算。

Azperk的博客 1217

Directshow的视频捕捉

<br />Directshow(SDK)学习笔记九_视频捕捉<br />摘要:本篇文档主要描述关于用Directshow进行视频开发的一些技术<br />主要包括下面内容<br /> 1关于视频捕捉(About Video Capture in Dshow)2选择一个视频捕捉设备(Select capture device)3预览视频(Previewing Video)4如何捕捉视频流并保存到文件(Capture video to File)5将设备从系统中移走时的事件通知(Device remove N

n567656756765676567的专栏 849

【算法】基于STM32的MPU6050卡尔曼滤波算法(入门级)

1. 简介 卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。详情见:卡尔曼滤波简介 MPU6050的解算主要有三种姿态融合算法:四元数法 、一阶互补算法和卡尔曼滤波算法。我们常用的DMP库使用的是四元数法,本文采用卡尔曼滤波算法,使用RT-Thread国产操作系统,利用env工具进行串口、模拟IIC环境配置,使用10ms的线程进行卡尔曼滤波解算。 2.

weixin_44549777的博客 3万+

Directshow中的视频捕捉(转)

Directshow中的视频捕捉(转) &nbsp; &nbsp; 本篇文档主要描述关于用Directshow进行视频开发的一些技术主要包括下面内容 1关于视频捕捉(About Video Capture in Dshow) 2选择一个视频捕捉设备(Select capture device) 3预览视频(Previewing Video) 4如何捕捉视频流并保...

ett_qin的博客 816

Ascend C 算子开发遇到的问题及解决方法

在学习Ascend C算子开发进阶课程的时候,进行Ascend C自定义算子工程、算子调用等实验,在开发环境中遇到了一些问题,在这里记录一下。首先如果在启智社区CANN版本为6.3 ,要进行Ascend C算子开发,需要更新CANN版本。

qq_45257495的博客 5106

基于卷积神经网络的球罐结构损伤识别

球罐结构损伤识别方法研究 摘要:本研究针对球形储罐(球罐)结构健康监测需求,提出基于卷积神经网络(CNN)的损伤识别方法。通过ANSYS有限元仿真构建包含5种裂纹深度的500组振动信号数据集,设计包含卷积层、池化层和全连接层的CNN网络架构。实验结果表明,该方法在训练集和测试集上分别达到98.4%和96.0%的准确率,验证了其在球罐焊缝损伤识别中的有效性。研究提供了完整的MATLAB实现代码,为球罐结构智能化监测提供了技术参考。 关键词:球罐结构;卷积神经网络;损伤识别;振动信号;深度学习

AI的内部世界的博客 120

基于DirectShow实现的视频捕捉与采集

DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。DirectShow为多媒体流的捕捉和回放提供了强有力的支持。用DirectShow开发应用程序,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。DirectShow是基于COM的,为了编写DirectShow应用程序,需要了解COM客户程序编写的基础知识。

毕业作品网站 1688

【华为OD机试真题 新系统】1043、魔法咒语组合 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1043、魔法咒语组合 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为od

KJ.JK 281
上一篇: Directshow 如何在视频中插入水印Logo图片
下一篇: Directshow 捕捉视频入门篇
CreatedSign
博客等级 码龄14年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值