AVI 复用筛选器

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

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

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

标签 价值
筛选器接口 IBaseFilterIConfigAviMuxIConfigInterleavingIMediaSeekingIPersistMediaPropertyBag、ISpecifyPropertyPages
输入引脚媒体类型 与旧式 FOURCC 或MEDIATYPE_AUXLine21Data对应的任何主要类型。 (有关详细信息,请参阅 FOURCCMap 类。)
  • 如果主要类型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 接口,用于在单个流上设置属性。 目前,定义了以下属性:

财产 描述
名字 流的名称。 此属性以 'strn' 区块的形式编写。

 

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

帧速率

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

已删除的帧

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

IMediaSeeking

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

  • GetCurrentPosition 方法返回多路复用的当前进度。 如果要转码文件(比实时慢),此值比 Filter Graph 管理器返回的值更准确。 有关详细信息,请参阅 GetCurrentPosition 参考页的“备注”部分。
  • 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 筛选器