0

我编写了一个可以打开、编辑和呈现.GRF 文件的 WPF 应用程序。渲染时,我不希望它打开一个新窗口(就像 GraphEdit 一样),所以我找到了一个使用Sample Grabber将样本渲染到 WPF 画笔中的解决方案。

在渲染之前,我的应用程序将 .GRF 文件中的 Video Renderer 替换为 SampleGrabber。这很好,直到我遇到了Microsoft DTV-DVD Video Decoder。出于某种原因,它只连接到视频渲染器,而不是连接到我的样本采集器......所以目前我的应用程序无法处理 MPEG2。

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

那么我应该如何获取解码的 MPEG2 样本呢?

4

1 回答 1

0

Sample Grabber Filter将仅连接到VIDEOINFOHEADER结构描述的视频媒体类型(有关备注部分的详细信息,请查看 MSDN 链接)。您有视频输出,MPEG2VIDEOINFO但 Sample Grabber 拒绝了它。

旧的 SDK 具有类似 Sample Grabber 的过滤器的源代码,您可以对其进行改进以添加对缺失格式结构的支持。Sample Grabber 过滤器本身就非常简单。您还可以安装一些额外的解码器(第三方、免费软件、去隔行器等),以便VIDEOINFOHEADER在其输出中为您带来媒体类型。

于 2013-01-07T14:56:49.547 回答