从图像创建 MPEG4 视频时出现分辨率问题(Windows Media Foundation)

Resolution Issue when creating an MPEG4 video from images (Windows Media Foundation)

目前我正在使用 Media Foundation SDK 将图像转换为 H.264 视频,使用 Microsoft 的以下示例。

https://msdn.microsoft.com/en-us/library/windows/desktop/ff819477(v=vs.85).aspx

我在调整用于输入的媒体类型对象的 MF_MT_FRAME_SIZE 时遇到了问题,似乎如果分辨率更高,那么监控计算机连接到对 IMFSinkWriter 的 SetInputMediaType 的调用object returns 一个 HRESULT 错误代码 0xc00d36b4,这意味着无效的 MediaType,这让我想知道您创建的任何 MediaType 是否受限于您的分辨率?我的代码与示例的不同之处在于顶部定义的以下常量。

const UINT32 VIDEO_WIDTH = 2048;
const UINT32 VIDEO_HEIGHT = 1088;
const GUID   VIDEO_ENCODING_FORMAT = MFVideoFormat_H264;

我很确定 Windows H.264 编码器的最大分辨率取决于您的 Windows 版本。尝试编码为 1920 x 1080。

您的 H.264 编码器的最大分辨率可能与您的屏幕分辨率无关。