使用英语阅读

通过


格式

[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

格式的信息描述了你需要了解的有关特定媒体类型的所有内容。 每种格式都有一个主要类型(如音频或视频),并且可能具有一个子类型。 格式包含基于主要类型的不同信息。 音频和视频格式需要比其他类型的信息多得多。

正如 Windows 媒体格式 SDK 的对象区分输入编号、流编号和输出数字 (请参阅 输入、流和输出) 一样,输入格式、流格式和输出格式之间也存在重要的区别。 下面介绍了这些差异:

输入格式

输入格式描述传递给编写器对象的数字媒体。 如果使用编解码器压缩 ASF 文件中的流,则编解码器将仅支持某些输入格式。 使用 Windows Media 音频和视频编解码器时,可以使用编写器对象枚举支持的输入格式。 编写文件时,你负责选择与输入媒体匹配的输入格式。

尽管将压缩数据的编解码器必须支持输入媒体格式,但某些输入格式设置不需要与流格式匹配。 例如,视频流的输入格式的帧大小可能与流格式中定义的帧大小不同。 在这种情况下,编解码器将执行转换。

流格式

流格式描述存储在 ASF 文件中的媒体的形式。 流格式是配置文件中所述的格式,可能与输入格式和输出格式相同,也可能不同。 如果使用编解码器压缩流中的数据,则流格式将不同于输入和输出格式。

使用 Windows Media 音频和视频编解码器时,必须从编解码器获取支持的流格式列表,以确保不会尝试指定代码不支持的格式。 检索编解码器格式后,必须手动配置某些格式设置,例如视频帧的大小和颜色深度。

输出格式

输出格式描述读取器 (或同步阅读器) 提供给应用程序的数字媒体。 如果使用编解码器压缩 ASF 文件中的流,则编解码器将仅支持某些输出格式。 使用 Windows Media 音频和视频编解码器时,可以使用读取器对象枚举支持的输出格式。 每个 Windows Media 编解码器都具有默认输出格式,但你可以选择任何受支持的输出格式进行示例传送。

尽管压缩数据的编解码器必须支持输出媒体格式,但某些输出格式设置不需要与流格式匹配。 例如,视频流的输出格式的帧大小可能与流格式中定义的帧大小不同。 在这种情况下,编解码器将执行转换。

概念