我编写了一个可以打开,编辑和渲染.GRF files的WPF应用程序。渲染时,我不希望它打开一个新窗口(如GraphEdit那样),所以我找到了一个使用Sample Grabber将样本渲染到WPF画笔中的解决方案。
在渲染之前,我的应用程序使用SampleGrabber替换.GRF文件中的视频渲染器。这很好,直到我遇到Microsoft DTV-DVD Video Decoder。出于某种原因,它只连接到视频渲染器,而 NOT 连接到我的Sample Grabber ...所以目前我的应用程序无法处理MPEG2。
有人可以向我解释一下:为什么?是什么限制了这些过滤器的连接?
那么我该如何抓取解码的MPEG2样本?
答案 0 :(得分:0)
Sample Grabber Filter仅会连接到VIDEOINFOHEADER
结构所描述的视频媒体类型(有关详细信息,请参阅“备注”部分中的MSDN链接)。您有MPEG2VIDEOINFO
的视频输出,Sample Grabber拒绝它。
旧的SDK具有类似Sample Grabber的过滤器的源代码,您可以对其进行改进以添加对缺少格式结构的支持。仅采样Grabber滤波器本身就非常简单。您还可以为其添加一些额外的解码器(第三方,免费软件,去隔行扫描等),以便在其输出中为您提供VIDEOINFOHEADER
媒体类型。