在DirectshowNet中去隔行电视调谐器输出

时间:2011-03-01 14:30:34

标签: c# directshow

我正在用c#开发一个电视调谐器捕获应用程序。我正在使用DirectShowNet,我的设备是AverMedia Super 009.我使用的是capturegraphbuilder.renderstream()方法,我使用的是捕获引脚,而不是预览引脚。 我也用过vmr9渲染器。但是我得到的输出是交错的,即每当它们在屏幕上运动时,图像看起来就像有齿边缘,所以我想去隔行扫描。

在VMR9的输入引脚上,我的格式为'FORMAT_VideoInfo'。当我检查“videoHeader.InterlaceFlags& AMInterlace.IsInterlaced”时,它显示视频不是隔行扫描。 根据我在互联网上阅读的内容,我无法解除格式化FORMAT_VideoInfo,因此我必须将其转换为FORMAT_VideoInfo2。所以任何人都知道将videoinfo转换为videoinfo2的方法。

我还使用了一些软件逐行扫描过滤器,如AlparySoft,ffdshow,DScaler。但仍然可动部件看起来像齿状边缘。

所以请指导我如何解除图表的隔行扫描。

谢谢, 内甚

1 个答案:

答案 0 :(得分:0)

要将VideoInfo转换为VideoInfo2,您必须编写DirectShow转换过滤器,这是一项繁琐的任务。如果您决定采用这种方式,可以从DirectShow SDK(现在是Windows SDK的一部分)的对比度示例过滤器开始。

尝试将某些视频保存到AVI文件,并在VirtualDub中将其解除隔离,其中包含许多可用的deinterlace filters(如基于区域或取消交错Muxun)。如果您找到适合您视频的视频,则可以使用我们的wrapper在您的DirectShow应用中使用该过滤器。