AVI 复用器筛选器

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

AVI 复用器筛选器接受多个输入流,并将其交错为 AVI 格式。 筛选器为每个输入流使用单独的输入引脚,为 AVI 流使用一个输出引脚。

视频捕获或创作应用程序可以使用此筛选器以 AVI 格式将文件保存到磁盘。 筛选器通常连接到 文件编写器 筛选器,但它可以连接到其输入引脚支持 IStream 和 IMemInputPin 接口的任何筛选器。

Label
筛选器接口 IBaseFilterIConfigAviMuxIConfigInterleavingIMediaSeekingIPersistMediaPropertyBag、ISpecifyPropertyPages
输入引脚媒体类型 与旧样式 FOURCC 相对应的任何主要类型,或MEDIATYPE_AUXLine21Data。 (有关详细信息,请参阅 FOURCCMap Class.)
  • 如果主类型为MEDIATYPE_Audio,则必须FORMAT_WaveFormatEx格式。
  • 如果主要类型为MEDIATYPE_Video,则格式必须为FORMAT_VideoInfo或FORMAT_DvInfo。
  • 如果主要类型MEDIATYPE_Interleaved,则必须FORMAT_DvInfo格式。
输入引脚接口 IAMStreamControlIMemInputPinIPin、IPropertyBag、 IQualityControl
输出引脚媒体类型 MEDIATYPE_Stream、MEDIASUBTYPE_Avi
输出引脚接口 IPinIQualityControl
筛选器 CLSID CLSID_AviDest
属性页 CLSID CLSID_AviMuxProptyPage、CLSID_AviMuxProptyPage1
可执行文件 qcap.dll
优点 MERIT_DO_NOT_USE
筛选器类别 CLSID_LegacyAmFilterCategory

 

备注

以下说明描述了 AVI Mux 筛选器功能的各个方面。

锁定

创建 AVI Mux 筛选器时,它具有一个输入引脚。 连接每个输入引脚后,筛选器将创建新的输入引脚。

流属性

输入引脚支持 IPropertyBag 接口,用于在单个流上设置属性。 目前,定义了以下属性:

属性 说明
name 流的名称。 此属性以区块的形式 'strn' 写入。

 

如果筛选器正在运行或已暂停,则 IPropertyBag::Write 方法返回VFW_E_WRONG_STATE。

帧速率

如果上游筛选器未在 VIDEOINFOHEADER 结构的 AvgTimePerFrame 成员中指定帧速率,则 AVI 复用器将使用第一个视频帧上的时间戳。 AVI 文件格式不支持可变帧速率。

丢弃的帧数

AVI Mux 筛选器根据每个样本的媒体时间(如果可用)或样本的时间戳来计算丢弃的帧。 它为每个丢弃的帧写入一个零长度索引项。

IMediaSeeking

AVI Mux 筛选器实现 IMediaSeeking 接口,如下所示:

  • GetCurrentPosition 方法返回多路复用的当前进度。 如果将文件转码 (比实时) 慢,则此值比 Filter Graph 管理器返回的值更准确。 有关详细信息,请参阅 GetCurrentPosition 参考页的“备注”部分。
  • GetDuration 方法查询每个上游筛选器,并返回最长流的持续时间。 如果这些筛选器中的任何一个筛选器 (GetDuration 调用失败或不支持 IMediaSeeking) ,AVI Mux 将返回失败代码,并使用找到的最长持续时间填充 pDuration 参数。 但是,在这种情况下, pDuration 的值不一定是最长输入流的长度。
  • AVI Mux 不实现 GetStopPosition、GetPositions、GetAvailable、GetRate 或 GetPreroll 方法;也不实现任何 Set* 方法进行查找。

AVI 2.0 文件格式扩展

DirectShow 目前支持以下 AVI 2.0 文件格式扩展:

  • 增加的 AVI 文件大小 (大于 1 GB)
  • 分层索引

有关详细信息,请参阅 OpenDML AVI M-JPEG 文件格式小组委员会发布的“OpenDML AVI 文件格式扩展”版本 1.02。

DirectShow 筛选器