媒体元数据

媒体文件包含描述文件内容的属性。 在 Microsoft Media Foundation 中,这些属性可按以下方式分类:

  • 媒体类型属性 指定编码参数,例如编码算法 (媒体子类型) 、视频帧大小、视频帧速率、音频比特率和音频采样率。 有关媒体类型属性的详细信息,请参阅 媒体类型
  • 元数据 包含媒体内容的描述性信息,例如标题、艺术家、作曲家和流派。 元数据还可以描述编码参数。 与通过媒体类型属性相比,通过元数据访问此信息的速度可能更快。
  • DRM 属性 包含有关使用限制的信息。 媒体基础目前不支持通过元数据实现 DRM 属性, PKEY_DRM_IsProtected 属性除外

可通过两种方式在 Media Foundation 中读取元数据:

Shell 元数据不仅与媒体文件相关,还涉及系统上更广泛的文件。

下表比较了每个元数据 API 的功能和限制。

Media Foundation v1 元数据 Shell 元数据
需要 Windows Vista 或更高版本。 需要 Windows 7。 注意: Shell 元数据通常不需要 Windows 7,但 Media Foundation 在 Windows 7 之前不支持 Shell 元数据。
属性与 Shell 属性系统不兼容。 属性与 Shell 属性系统兼容。
属性可以应用于整个文件,也可以在流级别应用。 仅支持文件级属性。 不支持流级属性。
属性可以具有多种语言的值。 不支持多种语言的值。
属性键是宽字符字符串。 属性键是 PROPERTYKEY 值。
属性值是 PROPVARIANT 值。 属性值是 PROPVARIANT 值。

 

在本节中

主题 说明
Shell 元数据提供程序
从 Windows 7 开始,Media Foundation 通过 IPropertyStore 接口公开元数据。
媒体文件的元数据属性
本主题列出了媒体文件的最常见元数据属性。
Windows Vista 中的元数据提供程序
在 Windows Vista 中,Media Foundation 通过 IMFMetadata 接口公开元数据。

 

如果要实现自定义媒体源并想要公开 Shell 元数据,请参阅 媒体文件的自定义元数据提供程序

媒体基础编程指南