《DirectShow开发指南》学习笔记_2

DirectShow编程(2)- 开始DirectShow旅程 2. 开始DirectShow旅程    这个章节的内容主要是编写DirectShow应用所需的一些基本概念,可以把它当作一个高级介绍,理解这些内容只需具备一般的编程和有关多媒体的知识。2.1. 设置DirectShow开发的编译环境    这节内容描述了如何来编译DirectShow应用。你可以使用命令行形式来编译一个工程,也可以在Microsoft Visual Studio集成环境下(包含V 阅读详情

COM编程基础

       DirectX采用了COM标准。而DirectShow是一套完全基于COM的应用系统。要想深入学习DirectShow,掌握一些COM编程的基础知识是必不可少的。DirectShow应用程序实际上是一种COM组件的客户程序,只是COM组件的“使用”问题。这些问题包括如何创建COM组件、如何得到组件对象上的接口以及调用接口方法、如何管理组件对象(即需要熟悉COM的引用计数机制)等。下面的代码是最一般的步骤。

CoInitialize(NULL);   //COM库初始化
//Do something
//...
IUnknown *pUnk = NULL;
IObject *pObject = NULL;
//创建组件对象
HRESULT hr = CoCreateInstance(CLSID_Object, CLSCTX_INPROC_SERVER, NULL, IID_IUnknown,(void**)&pUnk);
if (SUCCEEDED(hr))
{
	//查询得到组件对象上的接口
	hr = pUnk->QueryInterface(IID_IObject, (voidI**)&pObject);
	if (SUCCEEDED(hr))
	{
		//调用接口的方法
		pObject->SomeMethod();
		pObject->Release();
	}
	pUnk->Release();
}
//...
CoUninitialize();   //释放COM库使用的资源

      Filter本身是一种COM组件,开发Filter牵涉到了COM组件的“实现”问题。COM本身只是一种规范,而不是实现。当使用C++来实现时,COM组件就是一个C++类,而接口都是纯虚类。可以用如下的C++代码来简单描述一个COM组件。

class Ifunction
{
p
《DirectShow开发指南》学习笔记_6 动态重建技术 由于下列任何一个原因,我们都需要对已有的Filter Graph进行修改。 应用程序在播放一段视频的过程中想要插入一个视频效果Filter; Source Filter在运行过程中改变了数据流的媒体类型,需要接入新的解码Filter; 应用程序想要在Filter Graph中加入另外一条视频流。        通常的做法是,现将Filter Graph停止,进行修改之后,再重... 阅读详情

相关推荐

基于Delphi的DirectShow开发概述

第一部分:背景知识DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。它经过DirectX 6.0中的DirectX Media发展而来,集成了DirectX家族中的其他成员(DirectDraw、DirectSound等),可以说是一位“集大成者”。             DirectShow能做些什么? Dire

刘一飞 6321

机器视觉学习笔记(2)——基于DirectShow的多摄像头视频采集

机器视觉学习笔记(2)——基于DirectShow的多摄像头视频采集标签: 机器视觉 博客1.为什么使用DirectShow笔者使用的是两个USB摄像头,单摄像头视频采集使用OpenCV的VideoCapture类没有问题,但是双摄像头就有问题,一个正常,另外一个采集不到信息,显示一片灰色。网上有种解决方法是逆序打开摄像头,结果两个窗口是可以采集到视频信息,但是竟然是同一个摄像头的视频信息,无奈的只

moverzp的博客 8888

《DirectShow开发指南》学习笔记_3

Filter原理 Filter概述       Filter是DirectShow中最近本的概念。DirectShow使用Filter Graph来管理Filter(管理者叫做Filter Graph Manager)。Filter Graph是Filter的“容器”,而Filter是Filter Graph中的最小功能模块。         Filter一般由一个或多个Pin组成,Filt...

Small_SaltedFish的博客 623

DirectShow介绍和使用

一.使用directshow时应该添加lib文件 Strmiids.lib,Quartz.lib,Strmbase.lib具体添加那个见下面说明 二 DirectShow初探 DirectShow只是DirectX的一个子集。DirectX中还包括DirectSound、Direct3D等集合。DirectShow主要用来处理一些与音视频有关的多媒体任务,比如音视频采集、回放等。 过年回来后,在一个项目中要求在WIN32下采集视频信号,以前做过GDI的,不过效率低下,而且效果也很烂,所以...

fdsafwagdagadg6576的专栏 5270

虚拟摄像头之DirectShow虚拟摄像头开发

by fanxiushu 2018-04-06 转载或引用请注明原始作者。之前优快云上的博客,较多的文章阐述了虚拟摄像头的开发,而且是两种类别的。1,比如使用老的内核流框架开发WDM虚拟摄像头驱动,博客链接:https://blog.youkuaiyun.com/fanxiushu/article/d...

fanxiushu的专栏 1万+

全面DirectShow开发教程:构建多媒体应用程序

本文还有配套的精品资源,点击获取 简介:DirectShow是微软提供的一个多功能的多媒体框架,用于视频和音频流的处理,特别擅长实时播放和捕获。本指南深入介绍了DirectShow的开发过程,涵盖核心概念、关键API接口和应用实例,旨在指导开发者如何使用这一技术构建媒体处理管道和应用。 1. DirectShow框架概述和构成 DirectShow 是 Wi...

weixin_28681379的博客 1264

DirectShow开发指南:从基础到高级实践

DirectShow 架构基于 Filter Graph Manager,它是一个高级的图管理器,负责创建和控制过滤器图。过滤器图是由各种过滤器(Filter)以一定的方式连接起来的数据处理管道。Filter(滤镜):执行具体任务的组件,如文件读取、解码和显示等。每个Filter完成媒体处理流程中的一个步骤。Pin(引脚):滤镜之间的连接点,用于数据流的输入和输出。Pin定义了滤镜间的通讯协议。Graph(图)

weixin_32921023的博客 1098

DirectShow开发指南及源码.part1(共四卷)

《DirectShow开发指南》 作 者: 陆其明(著) 金邦飞(审校) 内容提要:本书以DirectX SDK 9.0版为蓝本,涉及的内容几乎涵盖 了在Windows平台上使用DirectShow进行C++编码的方方面面。 共压缩为四卷

《DirectShow开发指南及源码》 陆其明 part2

《DirectShow开发指南及源码》 陆其明,书和源代码,非常好的参考资料 共2部分

如何区分Info与CoWoS封装?

这篇文章主要从Info、CoWoS封装的定义、Interposer的种类以及Info、CoWoS封装的种类三方面进行了介绍,希望读者能够有所收获

wangyubo1的博客 7938

vue3 web项目引入高拍仪

高拍仪的引入步骤就两步,安装SDK,然后根据官网的api进行开发。根据自己需要的功能,请求对应的接口。

qq_42480170的博客 4116

通讯软件013——分分钟学会Kepware OPC AE Server仿真配置

本文介绍如何使用Kepware软件仿真OPC AE Server配置。

zhouwl72的博客 2227

Cisco思科 电子科技大学计算机网络 SRWE 期末技能考试 (PTSA)

电子科技大学2024春_SRWE_计算机网络系统 SRWE 期末技能考试 (PTSA)

2301_76745065的博客 5094

PyRoki:机器人运动学优化库入门教程

PyRoki:模块化机器人运动学优化工具包 本文介绍了PyRoki,一个模块化、可扩展且跨平台的机器人运动学优化工具包。PyRoki通过统一变量和成本函数接口,简化了逆运动学、轨迹优化和运动重定向等任务的实现,支持CPU、GPU和TPU加速。实验表明,PyRoki在批量逆运动学任务中比现有GPU加速库cuRobo快1.4-1.7倍,且收敛误差更低。其模块化设计支持快速集成新成本函数,并通过交互式可视化工具优化参数配置。PyRoki开源发布,为机器人运动优化提供了灵活高效的解决方案。

机器人控制与仿真应用 1292

基于强化学习控制策略的三相逆变器仿真

强化学习控制器的核心在于定义状态空间、动作空间、奖励函数以及选择合适的强化学习算法(例如DQN、DDPG等)。对于三相逆变器,状态可以是输出电压、电流等信息;动作则可能是调制指数的变化量;奖励函数则应鼓励快速准确地跟踪参考信号。定义状态空间和动作空间状态空间可以包括逆变器的输出电压、电流及其变化率等信息。动作空间则是控制器可执行的动作,例如PWM信号的调整幅度。matlab深色版本% 定义状态和动作空间维度numObs = 6;% 假设有六个状态变量(例如三相电压和电流)

amy_mhd的博客 135

【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真

1.软件版本 MATLAB2010b 2.本算法理论知识 对短波信道建模具有里程碑意义的是沃特森在1970年发表的一篇文章,文章中提出了一种静态模型,并在大气中进行了实验验证。 此静态模型可以描述为高斯散射增益抽头延迟线模型,即Watterson模型。 Watterson信道模型是经典的窄带短波信道模型,在这个模型中,信道衰落是瑞利幅度分布,而在每种传播模式中多普勒扩展的功率谱满足高斯分布。Watterson模型没有定义延时扩展的形状,认为各个多径传输模式中不存在延时扩展。其...

FPGA/MATLAB学习教程/源码/项目合作开发 2757

python中使用squarify包可视化treemap图:为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小、添加数值数值标签、自定义设置边框的色彩

python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形自定义设置每一个数据格的颜色、添加数值数值标签、自定义设置边框的色彩、自定义设置边框线条的粗细、为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小

data+scenario+science+insight 1063

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 《DirectShow开发指南》学习笔记_1
下一篇: 《DirectShow开发指南》学习笔记_3
LemonnnLee
博客等级 码龄9年 8粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值