2013-01-07 31 views
0

我写了一个WPF应用程序,可以打开,编辑和渲染.GRF files。渲染时,我不希望它打开一个新窗口(如GraphEdit),所以我找到了一个解决方案,它使用Sample Grabber将样本呈现到WPF画笔中。将Microsoft DTV-DVD视频解码器连接到采样器?

在渲染之前,我的应用程序将使用SampleGrabber替换.GRF文件中的Video Renderer。这工作得很好,直到我遇到Microsoft DTV-DVD Video Decoder。出于某种原因,它只连接到视频渲染器,并且不是到我的Sample Grabber ...因此目前我的应用程序无法处理MPEG2。

有人可以向我解释:为什么?什么限制这些过滤器连接?

而我该如何抓取已解码的MPEG2样本呢?

回答

0

Sample Grabber Filter只会连接到VIDEOINFOHEADER结构描述的视频媒体类型(有关详细信息,请参阅备注部分)。您的视频输出为MPEG2VIDEOINFO,采样器会拒绝它。

旧SDK具有Sample Grabber-like过滤器的源代码,您可以通过它改进以添加对缺少格式结构的支持。单独采样采集卡过滤器本身就非常简单。你也可以安装一些额外的解码器(第三方,免费软件,去隔行器等),为它带来VIDEOINFOHEADER媒体类型的输出。

+0

只是想知道......有没有办法“抓取”MPEG2VIDEOINFO类型的样本? –

+0

好的,他们仍然是媒体样本。但是你必须先连接过滤器,SG不会连接这种媒体类型,所以你需要另一个过滤器。 –