Media Foundation h264编码器性能不佳

时间:2016-09-21 08:40:19

标签: video h.264 screen-capture ms-media-foundation

Media Foundation h264编码器性能不佳

我正在编写一个实时记录PC屏幕的应用程序,并使用Media Foundation h264编解码器对其进行编码。 编码会占用大量CPU资源。在我停止录制视频(或通过简单地停止向带有视频和音频帧的编码器进行暂停)之后,CPU负载会长时间保持很长时间(5-10秒甚至更长)。在此期间,应用程序将等待,直到IMFSinkWriter :: Finalize方法完成。

我的电脑配置:

  • Intel i5-2410M 2.3 GHz,4核
  • 8 GB RAM

编解码器配置:

  • 25 fps
  • 1364 x 768决议
  • 基线资料
  • 1.2 MBit比特率

这是MF h264编解码器性能的限制还是由于我的代码中存在错误/错误配置?

1 个答案:

答案 0 :(得分:0)

具有长内部队列的管道的预期行为是在队列为空之前保持编码视频。由于 - 似乎 - 正在使用软件编码器并且它非常慢,因此您的屏幕捕获源会生成足够的数据来填充队列,以至于需要额外的秒来对其进行排序。

您的解决方案是控制/降低数据速率,或者使用更快,尤其是。硬件辅助编码器。但是,Media Foundation可以自动利用硬件编码器,因此我认为它不适合您。您可以使用MediaFoundationVideoEncoderTransforms tool检查硬件编码器的可用性。