首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将RGB编码为H.264

将RGB编码为H.264
EN

Stack Overflow用户
提问于 2020-01-11 19:46:39
回答 1查看 353关注 0票数 1

我正在做的是尝试在windows XP和Win7中记录屏幕。我使用DirectX的接口CreateOffscreenPlainSurface和GetFrontBufferData得到了位图。我需要将位图编码为H.264格式的视频。问题是捕获的位图是D3DFMT_A8R8G8B8格式,但H.264视频编码器只能支持MFVideoFormat_I420、MFVideoFormat_IYUV、MFVideoFormat_NV12、MFVideoFormat_YUY2和MFVideoFormat_YV12作为输入。我的问题是我是否需要自己转换格式(我不想这样做)?有没有其他更好的解决方案呢?

EN

回答 1

Stack Overflow用户

发布于 2020-01-11 20:12:44

输入格式对应于MFVideoFormat_ARGB32

处理转换的常用OS组件是Video Processor MFT。我在MSDN文章的页脚没有看到可用性信息,但是我的印象是这个MFT是Windows Vista附带的,就像整个Media Foundation API一样。

在Windows XP中已经有一个类似的Color Converter DSP,它提供非常接近的服务,并且暴露了一个非常接近的DirectX媒体对象(DMO)接口。它在所有较新的操作系统中都可用,但它只是软件,从不利用GPU功能进行转换。

这两者都可以为您处理所请求的格式转换。

同样作为参考,H.264 Video Encoder仅在Windows7中引入。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59694103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档