媒体元数据

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

  • 媒体类型属性 指定编码参数,例如编码算法 (媒体子类型) 、视频帧大小、视频帧速率、音频比特率和音频采样率。 有关媒体类型属性的详细信息,请参阅 媒体类型
  • 元数据 包含媒体内容的描述性信息,如标题、艺术家、作曲家和流派。 元数据还可以描述编码参数。 通过元数据访问此信息比通过媒体类型属性更快。
  • DRM 属性 包含有关使用限制的信息。 目前,Media Foundation 不支持通过元数据使用 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 中,媒体基金会通过 IMFMetadata 接口公开元数据。

 

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

Media Foundation 编程指南