Media Foundation h264 编码器性能不佳
Media Foundation h264 encoder poor performance
Media Foundation h264 编码器性能不佳
我正在编写一个实时记录 PC 屏幕并使用 Media Foundation h264 编解码器对其进行编码的应用程序。
编码消耗大量 CPU 资源。在我停止录制视频(或通过简单地停止向编码器提供视频和音频帧来暂停它)之后,CPU 负载在很长一段时间内(5-10 秒或更长时间)保持非常高。在此期间,应用程序等待 IMFSinkWriter::Finalize 方法完成。
我的电脑配置:
- 英特尔 i5-2410M 2.3 GHz 四核
- 8 GB 内存
编解码器配置:
- 25 帧/秒
- 1364 x 768 分辨率
- 基本资料
- 1.2 MBit 比特率
这是 MF h264 编解码器性能的限制还是由于我的代码中的 bugs/misconfiguration?
具有较长内部队列的管道在队列为空之前一直对视频进行编码,这是预期的行为。由于 - 看起来 - 正在使用软件编码器并且它非常慢,您的屏幕捕获源会生成足够的数据来填充如此紧张的队列,以至于需要额外的几秒钟才能将其整理出来。
您的解决方案是 control/reduce 数据速率,或者使用更快的速度,尤其是。硬件辅助,编码器。然而,Media Foundation 可以自动利用硬件编码器,所以我想这不是你的选择。您可以使用 MediaFoundationVideoEncoderTransforms tool.
检查硬件编码器的可用性
Media Foundation h264 编码器性能不佳
我正在编写一个实时记录 PC 屏幕并使用 Media Foundation h264 编解码器对其进行编码的应用程序。 编码消耗大量 CPU 资源。在我停止录制视频(或通过简单地停止向编码器提供视频和音频帧来暂停它)之后,CPU 负载在很长一段时间内(5-10 秒或更长时间)保持非常高。在此期间,应用程序等待 IMFSinkWriter::Finalize 方法完成。
我的电脑配置:
- 英特尔 i5-2410M 2.3 GHz 四核
- 8 GB 内存
编解码器配置:
- 25 帧/秒
- 1364 x 768 分辨率
- 基本资料
- 1.2 MBit 比特率
这是 MF h264 编解码器性能的限制还是由于我的代码中的 bugs/misconfiguration?
具有较长内部队列的管道在队列为空之前一直对视频进行编码,这是预期的行为。由于 - 看起来 - 正在使用软件编码器并且它非常慢,您的屏幕捕获源会生成足够的数据来填充如此紧张的队列,以至于需要额外的几秒钟才能将其整理出来。
您的解决方案是 control/reduce 数据速率,或者使用更快的速度,尤其是。硬件辅助,编码器。然而,Media Foundation 可以自动利用硬件编码器,所以我想这不是你的选择。您可以使用 MediaFoundationVideoEncoderTransforms tool.
检查硬件编码器的可用性