Video DirectShow和USB视频源的渲染问题

Video DirectShow和USB视频源的渲染问题,video,directshow,directshow.net,Video,Directshow,Directshow.net,我们正在尝试让DirectShow与USB视频捕获设备一起工作,如。代码只是在捕获图中添加捕获源的过滤器(capFilter),然后将其连接到已经添加到图中的VMR9渲染器 captureGraph.RenderStream(null, MediaType.Video, capFilter, null, vmr9); 目前,一切运行都没有抛出任何异常,但输出只是黑色的。我在GraphStudio中检查了捕获源的输出,但它也产生了相同的黑色输出 我能够使用相同的代码来处理所有基于USB和HDMI

我们正在尝试让DirectShow与USB视频捕获设备一起工作,如。代码只是在捕获图中添加捕获源的过滤器(capFilter),然后将其连接到已经添加到图中的VMR9渲染器

captureGraph.RenderStream(null, MediaType.Video, capFilter, null, vmr9);
目前,一切运行都没有抛出任何异常,但输出只是黑色的。我在GraphStudio中检查了捕获源的输出,但它也产生了相同的黑色输出


我能够使用相同的代码来处理所有基于USB和HDMI的视频捕获设备和网络摄像头。

源过滤器引脚如何?如果没有视频pin码,MediaType.Stream可能会工作(如一些H264网络摄像头没有正常视频pin码)

视频可能是黑色的,原因有几个:

  • 奇怪的捕获格式(通常为像素格式)
  • 在Windows/DirectShow中注册的buggy筛选器会干扰并错误解码视频
  • 捕获设备具有一个交叉杆,该交叉杆被设置为从假定的不同物理输入(包括不存在的)获取图像