使用 Windows Media Video 9.1 图像类别

Windows Media Video 9.1 图像类别不同于 Windows Media Video 9 编码器和解码器支持的其他输出类别。 它不需要处理未压缩的视频,而是采用特殊的输入样本,这些样本包括结构化转换数据,有时还包含执行转换的 RGB 位图图像。

编码的 Windows Media Video 9.1 图像内容几乎与常规 Windows Media Video 9 编码的内容相同,但它由其自己的 FOURCC (“WMVP”) 标识。

视频图像的编码器输出类型设置方式与标准 Windows Media 视频完全相同,只不过子类型和压缩值必须设置为视频图像标识符。 这包括需要获取编解码器专用数据并将其追加到 VIDEOINFOHEADER 结构。 有关详细信息,请参阅 配置视频编码

视频图像的输入类型配置也与其他视频编码器的输入配置非常相似。 可以通过调用 IMediaObject::GetInputType 从编码器检索部分完成的DMO_MEDIA_TYPE;如果使用媒体基础 SDK,则调用 IMFTransform::GetInputAvailableType 并使用 MFCreateAMMediaTypeFromMFMediaType 检索DMO_MEDIA_TYPE。 然后设置帧大小和 VIDEOINFOHEADER 格式结构,就像设置标准视频一样。 与输出类型一样,需要确保正确设置子类型和压缩值。

创建输入示例

视频图像编解码器的输入示例是结构化的。 Windows Media 音频和视频编解码器接口中不包括用于视频图像的结构和常量的定义。 这些定义包含在 Windows Media Format SDK 中,Windows Media Format SDK 文档中对它们的用法进行了充分说明。

解码

解码屏幕捕获视频没有特殊要求。 除了用于解码器输入的不同子类型 (MEDIASUBTYPE_WMVP) 外,压缩的视频图像流实质上与标准 Windows Media 视频流相同。

使用视频