DirectShow SampleGrabber更改图像源的比例

时间:2014-12-08 17:40:21

标签: c# directx directshow mpeg2-ts

我构建了一个图表,可以使用DirectShow从BDA DVB-T调谐器中获取音频和视频。

如果我像这样建立我的图表:

... -> MPEG2 Demux -> BDA MPEG2 Transport Information Filter
                   -> MPEG2 Sections And Tables
                   -> Video Mixing Renderer 9

渲染器上的输出没问题。

就我而言:

... -> MPEG2 Demux -> BDA MPEG2 Transport Information Filter
                   -> MPEG2 Sections And Tables
                   -> SampleGrabber -> Video Mixing Renderer 9

SampleGrabber更改图像比率。 SampleGrabber和渲染器都显示一些错误的图像。

我读了几个主题,“SampleGrabber”由于“VideoInfoHeader”结构而无法处理先前过滤器发送的动态格式更改。

因此,如果源更改了比率,则SampleGrabber中的图像将出错。

在不使用基于“DirectX February 2004”样本的CustomSampleGrabber的情况下,将实际图像输入/输出SampleGrabber的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

视频流可能与Sample Grabber(隔行扫描等)不兼容,然后将另一个过滤器插入管道以解决连接问题。您应该检查您创建的拓扑并检查媒体类型以更好地了解正在发生的事情,是的,您很可能必须实施备用抓取方法。