DirectShow编程
cosmoslife
多媒体编程、网络编程、系统编程、网络安全编程
展开
-
利用 DirectShow 开发自己的 Filter
利用 DirectShow 开发自己的 Filter作者:智慧的鱼源代码下载 学习directshow已经有几天了,下面将自己的学习心得写下来,希望对其他的人有帮助。 Filter实质是个COM组件,所以学习开发Filter之前你应该对com的知识有点了解。Com组件的实质是一个实现了纯虚指针接口的C++对象。关于com的东西,这里不多讲。一、给vc配置DirectS转载 2012-05-13 20:28:06 · 528 阅读 · 0 评论 -
Directshow中Filter开发基础
关于开发自己的Filter,我以前写过一篇文章,《利用Directshow开发自己的filter》,里面详细介绍了开发filter一些步骤,这里我想介绍一些filter的基础知识,可以让你更好的理解filter。本篇文档主要包括下面一些内容1filter的连接2filter间的数据流动3pin连接时数据格式的动态改变4Threads and Critical Sections转载 2012-09-29 11:45:59 · 1264 阅读 · 0 评论 -
深入浅出DirectShow Filter(一)(学习里面有关媒体类型定义)
文章来源: http://hqtech.nease.net 原文作者: 陆其明 整理日期: 2004/12/271. Filter概述Filter是一个COM组件,由一个或多个Pin组成。Pin也是一个COM组件。Filter文件的扩展名为.ax,但也可以是.dll。Filter根据其包含Input pin或Output pin的情况(或在Filter Graph的位置),大致可转载 2012-09-29 11:49:34 · 651 阅读 · 0 评论 -
深入浅出DirectShow Filter(二)
正文所谓Push模式,即Source filter自己能够产生数据,并且一般在它的Output pin上有独立的子线程负责将数据发送出去,常见的情况如WDM模型的采集卡的Live Source Filter;而所谓Pull模式,即Source filter不具有把自己的数据送出去的能力,这种情况下,一般Source filter后紧跟着接一个Parser Filter或Splitter F转载 2012-09-29 11:51:20 · 573 阅读 · 0 评论 -
构建Graph图常用技术
摘要:本篇文档主要讲述了Graph图构建过程中常用的技巧主要的内容如下:1如何根据CLSID向graph中添加filter 2如何查找filter空闲的pin 3如何连接两个Filter 4如何获得filter或者pin的接口指针 5如何查找和某个filter的上下相连的filter 6如何删除graph中的所有filter 7如何利用Capture Graph Builder构建转载 2012-09-29 11:52:06 · 738 阅读 · 0 评论 -
一个DirectInput演示程序
在看程序stackup(一个ddraw小游戏)之前,还是先看看它比较好,知道怎么响应Mouse,kerboard#include "stdafx.h"#include "globals.h"#include #include "ddutil.cpp"///////////////////////////////////////////////////////////////转载 2012-09-29 11:53:36 · 612 阅读 · 0 评论 -
DirectShow下载及配置
下载的链接,和大家共享!!dxsdk_feb2005_extras sdk 下载网址 :http://download.microsoft.com/download/d/9/1/d91c44b9-fbac-4e8e-bee1-4a75777923ec/dxsdk_feb2005_extras.exedx90bsdk 下载址:http://download.microsoft.com转载 2012-09-12 20:28:39 · 4851 阅读 · 0 评论 -
利用Directshow开发源Filter
摘要:我们一般不推荐自己开发音频或者视频捕捉过滤器,因为diectshow对于音视频的捕捉设备以经提供了支持。所以,这篇文档,对于某些用户需要从特定设备捕捉一些数据提供一些帮助。这篇文档主要包括以下内容。1捕捉filter 对pin的要求2如何完成一个预览pin3如何产生源数据 1 对pin的要求Pin Requirements for Capture FiltersPin转载 2012-09-29 13:49:31 · 911 阅读 · 0 评论 -
DirectShow+VS2005配置日记
由于需要进行视频采集,昨天开始搜索资料,发现现在流行的是DirectShow来进行开发,昨天下载安装了个DirectX 9.0 SDK,于是痛苦的配置旅程开始了。现在我们来重温一下这个痛苦的历程吧。先介绍下我的配置吧:Microsoft DirectX 9.0 SDK + Microsoft Visual Stiduo 2005我的Microsoft DirectX 9.0 SDK 安装在转载 2012-10-24 20:04:53 · 647 阅读 · 0 评论 -
原来位图是这个样子的阿
前一段时间开发一个编码filter ,过程中出现了回放图像上下倒置的现象,百思不得其解,只好在程序中加了一段将数据倒置的代码,今天看梁老(呵呵,不知多老,反正是前辈拉)的《编程高手箴言》,里面有一段讲正向位图的,好像突然明白了些,便在网上查了一下,终于弄明白以前的现象是怎么回事。bmp位图的存贮方式应该是从下到上,从左向右。也就是说bmp位图的显示方式是第一排显示的是最后一行的数据。在我开发过转载 2013-01-06 13:53:41 · 935 阅读 · 0 评论 -
Filter的使用问答
在GraphEdit中,你可以在DirectShow Filters目录中找到这个Filter,它的名字为“Fitler Tracer”。下面,笔者就以问答的方式介绍一下这个Filter的使用。1. 如何使用这个Filter?答:运行GraphEdit,首先构建好你的Filter Graph链路。然后,加入“Filter Tracer” Filter,并将其接入到Filt转载 2012-09-29 11:36:05 · 638 阅读 · 0 评论 -
几个音频格式细节备记(混)
几个格式细节备记(混)WAVEFORMATEXMEDIATYPE_AudioFORMAT_WaveFormatExCLSID_AudioInputDeviceCategoryCLSID_AudioInputDeviceCategorytypedef struct _MediaType { GUID majortype;原创 2012-09-28 18:17:46 · 1437 阅读 · 0 评论 -
用DirectShow抓取影片帧
用DirectShow抓取影片帧作者:youken下载本文示例源代码很多视频播放软件或视频编辑软件都提供了抓帧的功能,利用这类软件,视频工作者可以很轻松地将一个电影某一时刻的帧抓取出来并保存为图片文件,那么,我们如何自己编程实现这样的功能呢?如果你熟悉MPEG或者AVI等常见视频格式,你可以直接对影片文件进行操作,如果你不知道这些视频格式,而希望使用更简单的方法来抓取影片的帧,微软转载 2012-05-13 20:31:20 · 1062 阅读 · 0 评论 -
在VC中调用DirectShow全屏播放视频
在VC中调用DirectShow全屏播放视频作者:Lythm提交者:eastvc 发布日期:2004-1-2 20:30:44原文出处:http://www.csdn.net/有些正在尝试自己编制游戏的朋友可能会碰到这样一个问题:游戏要播放片头动画,可是如何全 屏播放动画呢?用媒体播放机控件?这是最简单的方法,可是好多功能都用不上,不免觉得有些 浪费。而用vfw转载 2012-05-13 20:30:47 · 1153 阅读 · 0 评论 -
使用 8 位 YUV 格式的视频呈现
原文地址: http://msdn.microsoft.com/zh-cn/library/ms867704.aspx#ECAA 发布日期 : 12/9/2004 | 更新日期 : 12/9/2004Gary Sullivan 和 Stephen EstropMicrosoft Digital Media Division适用于:Microsoft® Windows®, M转载 2012-05-14 15:34:39 · 481 阅读 · 0 评论 -
DirectDraw Overlay Surfaces
There appears to be a great deal of confusion over how to create and display an overlay surface under DirectDraw so here's some sample code showing (very simply) how to create an overlay and show it s转载 2012-05-15 10:59:04 · 753 阅读 · 0 评论 -
如何使用DirectDraw直接显示YUV视频数据
1.在DirectDraw中创建YUV表面 与一般表面不同的是,创建YUV表面时需要指定象素格式,并指定YUV数据的FourCC码,关于FourCC码可以参考微软MSDN站点上的说明,下面是具体的创建方法:(以YUV4:2:0格式为例,其中drawwidth和drawheight是欲显示图像的宽度和高度,以象素为单位)LPDIRECTDRAW7 lpDD; //转载 2012-05-14 15:18:13 · 1133 阅读 · 0 评论 -
DirectShow VS2008开发环境搭建
四年前开发其它项目时搭建过环境,但是现在早忘了,又是又要麻烦了下gg姐姐和百度娘,现在把过程记一下,以后只麻烦自己就可以了。1,下载SDK下载:directx sdk文件名:DXSDK_Jun10.exe 下载:DirectShow Extra (为什么要这个,请看最下面)文件名:DirectX 9.0 SDK Update (February 20转载 2012-06-10 07:50:26 · 684 阅读 · 0 评论 -
BMP文件格式分析
本来不想写这篇东西,因为介绍BMP文件结构的资料太多了,都有些滥了。但刚写完BMP的读写模块,又不想不留下点什么,所以就写了,全当是学习笔记吧。自己以后查资料时也方便一些,也许对某些初哥还会有点用^_^注:本文参考了林福宗老师的有关BMP文件格式的文章,在此声明。简介BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件转载 2012-05-25 11:46:15 · 878 阅读 · 0 评论 -
【Directshow】IFilterGraph::AddFilter方法参数问题
看dx里dshow的例子和别人的程序,用IFilterGraph::AddFilter()这个API添加filter到Graph的时候,第二个参数是一个设备友好名称;我看有的填的是通过IPropertyBag:read方法得到的FriendlyName参数,这个好理解;但是有的则直接填入诸如"CaptureVideo","Source"之类的字符串,实在无法理解,因为这些根本不是设备的转载 2012-09-29 10:45:21 · 2915 阅读 · 0 评论 -
数字图像概念整理【4】——bmp、DIB文件格式
如何处理视频信号?视频信号种类很多,RGB,YUV,CVBS,S-VIDEO等等,学电子的,搞视频图像处理的,可能最终会用到上位机处理。我就是这样,呵呵,前段时间做了YUV数据的图像处理,用68013从CMOS sensor采集而来,上位机用GDI做的,费了不少劲,要了解YUV,就要了解RGB,要了解RGB,就要了解bmp图片,内存存放顺序,等等。 bmp图片可以说是最简单的转载 2012-09-29 11:18:25 · 1393 阅读 · 0 评论 -
DirectX9.0b SDK下载地址及安装说明
DirectX9.0 SDK开发包版本较多,DirectX9.0b版本之前的SDK包基本是完整的,DirectX9.0c版本的SDK包大多是升级包,里面并未附带DirectShow部分,故不能单独使用。 大小为218 MB (228,594,272字节)版本为:6.0.2600.0 我下载的真正的DirectX9.0b SDK完整的安装过程:转载 2016-03-11 14:01:13 · 5862 阅读 · 0 评论