gpt4 book ai didi

windows - 硬件 H264 编码 ID3D11Texture2D with Media Foundation

转载 作者:可可西里 更新时间:2023-11-01 10:18:09 26 4
gpt4 key购买 nike

我正在从事一个捕获屏幕并对其进行编码的项目。我已经可以使用桌面复制 API (Win8+) 捕获屏幕。使用 API,我可以获得 ID3D11Texture2D 纹理并将它们从 GPU 传输到 CPU,然后使用 libx264 对其进行编码。

但是,将纹理从 GPU 拉到 CPU 可能是一个瓶颈,可能会降低 fps。 libx264 也占用 CPU 周期(取决于质量)来编码帧。我正在寻找在 GPU 本身中编码 ID3D11Texture2D 纹理,而不是使用 CPU 进行编码作为优化。

我已经检查了文档和一些示例代码,但没有成功。如果有人可以向我指出一些可靠地完成我想要的事情的资源,我将不胜感激。

最佳答案

视频编码器、硬件和软件可能以不同的形式提供。 Windows 本身提供带有编码器选择的可扩展 API,然后其他编码器可能以库和 SDK 的形式提供。您已经在使用此类库之一 (x264)。硬件编码器通常是特定于供应商的,并且取决于直接参与编码过程的可用硬件。如果您对特定硬件的解决方案感兴趣,检查相应的 SDK 可能是有意义的。

否则,Windows 中硬件支持的视频编码的典型通用接口(interface)是 Media Foundation Transform (MFT) . Microsoft 仅提供 H.264 视频编码器的库存软件,这不太可能比 x264 有任何优势,除了它与其他选项共享 MFT 接口(interface)这一事实。然而,视频硬件驱动程序通常会为可用的硬件安装额外的 MFT,这会添加更多由硬件实现支持的 MFT。这样的例子是:

  • 英特尔® 快速同步视频 H.264 编码器 MFT
  • NVIDIA H.264 编码器 MFT
  • AMDh264编码器

由不同的供应商提供,它们提供相似的功能,您使用这些 MFT 编码 H.264 是利用各种硬件的硬件视频编码的好方法。

另见:

关于windows - 硬件 H264 编码 ID3D11Texture2D with Media Foundation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36273632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com