Streaming DirectShow:从MP4容器中选择源视频流

Streaming DirectShow:从MP4容器中选择源视频流,streaming,directshow,smooth,Streaming,Directshow,Smooth,我正在构建一个应用程序,它需要从MP4容器中读取H264和AC3流,并将它们多路复用到单个ISMV文件中。源MP4文件包含不同比特率的多个视频流和不同语言的多个音频流 当我调用源文件时,我得到一个只有两个输出引脚的过滤器:“视频”和“音频”。如何选择用于“视频”和“音频”的特定流(例如:视频流的哪个比特率) 我是否必须实例化多个源过滤器来读取该文件并将其多路复用到ISMV中,或者我是否遗漏了一些内容?这取决于您用于MP4的解复用器。我不认为有一个股票MP4解复用器,所以你可能有一个作为解码器包的

我正在构建一个应用程序,它需要从MP4容器中读取H264和AC3流,并将它们多路复用到单个ISMV文件中。源MP4文件包含不同比特率的多个视频流和不同语言的多个音频流

当我调用源文件时,我得到一个只有两个输出引脚的过滤器:“视频”和“音频”。如何选择用于“视频”和“音频”的特定流(例如:视频流的哪个比特率)


我是否必须实例化多个源过滤器来读取该文件并将其多路复用到ISMV中,或者我是否遗漏了一些内容?

这取决于您用于MP4的解复用器。我不认为有一个股票MP4解复用器,所以你可能有一个作为解码器包的一部分,这是作为源和解复用器

您可以在www.gdcl.co.uk/mpeg4上尝试免费的开源MP4解复用。您将需要添加SourceFilter(获取具有单个输出的文件源),然后将源输出显式连接到demux输入。然后,您将拥有与demux理解的所有启用流相对应的输出管脚,并且您可以选择所需的管脚

G