4

我正在使用媒体基础开发媒体播放器。我想支持VOB文件播放。但是,媒体基金会目前不支持 VOB 容器。因此,我希望同样使用 DirectShow。

我在这里的想法不是使用 DirectsShow 图表采用替代路径,而只是抓取一个视频帧并将其传递到媒体基础中的同一管道。在媒体基础中,我有一个“IMFSourceReader”,它只是从视频文件中读取帧。是否有直接显示等效项,它只为我提供帧而无需创建图形、开始播放周期,然后尝试从渲染引脚中提取帧?(更清楚地说,DirectsShow 是否支持一种架构,它可以给我原始帧而无需实际播放视频?)

我读过 ISampleGrabber,但它已被弃用,我认为它不适合我的架构。我以前没有在 DirectShow 上工作过。

谢谢,莫茨

4

2 回答 2

6

您必须构建一个图形并接受来自相应解析器/解复用器过滤器的帧,该过滤器将读取容器并在其输出中提供单个帧。

播放不必是实时的,也不必在某处伪造这些视频帧。在过滤器或客户过滤器中获得所需的数据后Sample Grabber,您可以使用Null Renderer. 也就是说,您可以以或多或少方便的方式安排获取所需的帧。

于 2012-01-19T10:46:39.600 回答
0

您可以使用Monogram 图像采集卡过滤器连接 VOB DS 过滤器的输出 - 效果很好。有关如何将输出连接到外部应用程序的信息,请参见那里的注释。

于 2012-11-19T09:59:34.663 回答