MPEG-1 流拆分器筛选器
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
此筛选器将 MPEG-1 系统流拆分为其组件音频和视频流。
Label | 值 |
---|---|
筛选器接口 | IAMMediaContent、 IAMStreamSelect、 IBaseFilter |
输入引脚媒体类型 | 主要类型:MEDIATYPE_Stream 亚:
|
输入引脚接口 | IMemInputPin、 IPin、 IQualityControl |
输出引脚媒体类型 | 主要类型:MEDIATYPE_Audio或MEDIATYPE_Video 子类型:MEDIASUBTYPE_MPEG1Payload或MEDIASUBTYPE_MPEG1Packet 请参阅 MPEG-1 媒体类型 |
输出引脚接口 | IPin、 IMediaSeeking |
筛选器 CLSID | CLSID_MPEG1Splitter |
属性页 CLSID | 无属性页 |
可执行文件 | quartz.dll |
优点 | MERIT_NORMAL |
筛选器类别 | CLSID_LegacyAmFilterCategory |
备注
此文件仅支持通过 IAsyncReader 的拉取模式;它不支持推送模式。
由于 MPEG-1 内容未编制索引,因此查找可能非常近似。 它通常适用于固定比特率 MPEG-1 系统流 (通常是为视频 CD) 生成的硬件。
筛选器支持用于检索 ID3 元数据的 IAMMediaContent 接口。
并非所有 MPEG 示例都有时间戳。 MPEG 示例上缺少时间戳不是错误。 对于筛选器开发人员来说,这意味着如果 IMediaSample::GetTime 失败,则不应从输入引脚的 Receive 方法返回错误代码。 如果 Receive 返回除 S_OK 以外的任何值,则会导致拆分器停止发送样本。
如果文件包含视频流,则 MPEG-1 流拆分器支持按帧编号查找。 若要启用基于帧的查找,请在 Filter Graph 管理器上调用 IMediaSeeking::SetTimeFormat,其值TIME_FORMAT_FRAME。
相关主题