为MPEG2传输流构建图形的最佳方法

在Windows 7上,Windows媒体播放器支持.ts文件, 从某种意义上说,Windows媒体播放器知道如何处理这些文件,而无需任何额外的编解码器包。 但是,如果我尝试使用graphedit“渲染”.ts文件,它会抱怨它 不知道如何为它构建图表。 Windows Media Player使用什么方法来解复用/解码这些文件? 它是directshow吗? Windows媒体基金会? BDA?微软电视技术?统一调整模型? 无论他们使用哪种方法,都可以作为我的自定义应用程序中使用的API?     
已邀请:
在仅使用Microsoft过滤器的DirectShow中,它可能有点混乱。需要使用IMpeg2Demultiplexer接口或通过属性页通过代码手动配置Mpeg2解复用器,以便为内容流添加输出引脚。通常,您需要将其他内容连接到过滤器以解析PSI / PAT信息,并识别传输流内的内容流的程序ID。 Microsoft提供了一个SDK示例,以便在Windows Platform SDK中执行此操作。 这假设您有一个常规的mpeg2传输流文件。您可以使用免费的应用程序MediaInfo或TsReader Lite来查看您的ts文件中的确切内容。 有一些非Microsoft过滤器使得在DirectShow中处理传输流变得更加容易。开源过滤器Haali Media Splitter和Ffdshow的组合将在没有任何额外配置的情况下完成。或者来自MainConcept,Elecard,LEADTools等的商业过滤器包。 我没有与媒体基金会做过多的实际工作,所以我在这方面没有太多建议。较新版本的Windows Media Player使用MF而不是DirectShow。一些(但不是全部)新MF功能也通过DirectShow接口公开。     
我不确定Windows Media Player使用的方法。 我已经使用DirectShow来构建图形。从源代码中,您可以添加MPEG-2解复用器,创建音频和视频引脚(使用IMpeg2Demultiplexer接口),然后将音频引脚挂接到“Microsoft DTV-DVD音频解码器”,将视频引脚挂钩到“Microsoft DTV” -DVD Video Decoder“。然后,您可以将输出提供给音频和视频渲染器。 例如,这是我使用过的图表的一部分: 大卫     

要回复问题请先登录注册