首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >directshow,无法将静态引脚连接到samplegrabber。

directshow,无法将静态引脚连接到samplegrabber。
EN

Stack Overflow用户
提问于 2014-10-05 20:29:03
回答 2查看 1.7K关注 0票数 1

固定针抓取有问题,

我们有一个基本的视频和图像捕获项目,从捕获引脚获取图像和视频是可以的,但是一旦我尝试将静态引脚(通过FindPin成功地找到)连接到samplegrabber,它就会失败,出现h_FAIL=E_FAIL/Un期FAIL/0x80004005,

alrorythm的步骤如下(用delphi编写,我删除了变量的名称):

  • 初始化接口,成功搜索设备,添加视频捕获过滤器;
  • FindPin(“捕获过滤器”// Filter )。PINDIR_OUTPUT,//寻找输出引脚。@PIN_CATEGORY_STILL,// Pin类别。零,//媒体类型(不关心)。False,// Pin必须断开连接。0,//得到第0‘引脚。“仍销”//收到指向该引脚的指针。);这一程序成功地找到了销路;
  • CoCreateInstance(CLSID_SampleGrabber,NIL,CLSCTX_INPROC_SERVER,IID_IBaseFilter,‘样品抓取过滤器’);
  • “样本抓取过滤器”。查询接口(IID_ISampleGrabber,'isamplegrabber对象‘);
  • “图生成器”..AddFilter (VCOISampleGrabFilter,'Sample‘);
  • CoCreateInstance(CLSID_NullRenderer,NIL,CLSCTX_INPROC_SERVER,IID_IBaseFilter,'null呈现器过滤器‘);
  • “图形生成器”..AddFilter (VCONullRendererFilter,'Null Renderer');
  • 'isamplegrabber对象‘..SetBufferSamples(真);'isamplegrabber对象’.
  • ‘图形生成器2’..RenderStream (@PIN_CATEGORY_STILL,@MEDIATYPE_Video,‘视频捕获过滤器’,‘示例抓取过滤器’,'null呈现器过滤器‘);有失败的地方,在这个例子之后,如果我看这个图(已经为这个图编写了程序),它看起来就像3个没有连接的过滤器;

不使用回调函数来抓取样本,只需使用GetCurrentBuffer获取照片,

实际上,这个算法(只用于捕捉针)工作得很好,

采用了http://msdn.microsoft.com/ru-ru/library/windows/desktop/dd318622%28v=vs.85%29.aspx的算法,

也尝试了RenderStream的另一个参数,同样的错误发生,

还尝试了使用“图形生成器”。连接两个寻获引脚的函数(在-samplegrabber中退出),它也失败了,

有没有人有过同样的经历?奇怪的是,乍一看,我觉得只要把PIN_CATEGORY_CAPTURE换成PIN_CATEGORY_STILL就够了,而且一切都会好起来的,

相机是100%有工作仍然针(它正在与另一个程序工作),

我现在正在重写微软的AmCap,但不幸的是,它还没有完成,

谢谢伊戈尔。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-15 23:02:22

找到了这个问题的解决方案,也许有人会发现这很有帮助:您应该先呈现一个呈现器,然后是samplegrabber :)

票数 0
EN

Stack Overflow用户

发布于 2014-10-06 10:13:20

RenderStream是一种包装方法,据说可以很容易地将组件连接到一起,使其处于可行的状态。不幸的是,失败的代价是缺乏细节。您对直接使用IGraphBuilder.Connect连接引脚和隔离特定图形生成步骤的失败感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26206898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档