目前,我使用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的调用会返回HRESULT错误代码0xc00d36b4这意味着无效的MediaType,这让我想知道你创建的任何MediaType是否受到你的分辨率的限制?我的代码与示例的不同之处在于在顶部定义了以下常量。
const UINT32 VIDEO_WIDTH = 2048;
const UINT32 VIDEO_HEIGHT = 1088;
const GUID VIDEO_ENCODING_FORMAT = MFVideoFormat_H264;
答案 0 :(得分:3)
我很确定Windows H.264编码器具有最高分辨率,具体取决于您的Windows版本。尝试编码为1920 x 1080。
H.264编码器的最大分辨率可能与屏幕分辨率无关。