gpt4 book ai didi

windows - 如何在 Windows 中使用 H264 视频编码器 MFT 对位图进行编码

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

我的应用程序对从 GDI 或 DXGI 方法捕获的帧进行编码。目前我正在使用 x264 库进行编码。
AFAIK x264 是基于软件的库,我想借助 GPU 进行编码,这样可以节省 CPU 周期并希望速度也会更快。
经过搜索,我找到了一个H.264 Video Encoder正在做h264编码的MFT。
但是我回答了几个问题。
1)它比x264编码库快吗?
2) 位图帧可以用这个MFT编码吗?
- 我只看到支持 MFVideoFormat_I420、MFVideoFormat_IYUV、MFVideoFormat_NV12、MFVideoFormat_YUY2、MFVideoFormat_YV12 这些格式
3) 它是硬件加速的吗(指它使用的是 CPU 还是 GPU)?
- 最初我的理解是它使用 GPU,但在阅读这篇文章后我感到困惑 MFT Encoder (h264) High CPU utilization .
4) H.264 Video Encoder MFT 是否可以单独使用而不使用 sink writer,因为我必须在网络上发送数据?
5) Windows 中还有其他选择吗?

可能有些问题很傻,欢迎大家指正。

最佳答案

Media Foundation H.264 视频编码器是软件编码器。从我的 [主观] 经验来看,它比 x264 慢,也许更重要的是,x264 提供了更广泛的设置,特别是在选择速度超过质量范围的模式时。无论哪种方式,普通 MS 编码器都不是硬件加速的。

但是,可能还有其他可用的 MFT(通常与相应的硬件驱动程序一起安装)执行硬件加速 H.264 编码。您可以通过枚举 MFT 来发现它们,也许最流行的是英特尔快速同步视频 (QSV) 编码器。

HardwareVideoEncoderTransform app进行枚举并为您提供相关详细信息:

enter image description here

典型的输入是 NV12,一些提供其他输入选择(例如 32 位 RGB)。如果您需要其他格式,则必须预先转换输入。

硬件支持的编码器 CPU 消耗低,其效率取决于硬件实现。是的,您可以独立使用它们,完全独立使用它们,也可以将它们包装为 DirectShow 过滤器并包含在正常的 DirectShow 管道中。

替代的 H.264 编码器通常是基于 SDK 的,或者是 DirectShow/MFT 形式因素中这些 SDK 的包装器,因为供应商以多媒体开发人员已经熟悉的众所周知的形式打包他们的实现。

关于windows - 如何在 Windows 中使用 H264 视频编码器 MFT 对位图进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35481799/

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