媒体基础h264编码器性能差
我正在编写一个应用程序,它实时记录PC的屏幕,并使用Media h264编解码器对其进行编码。编码消耗了大量的CPU资源。当我停止录制视频(或者通过停止向编码器提供视频和音频帧而暂停它)之后,CPU负载在很长一段时间内保持很高(5-10秒或更长时间)。在此期间,应用程序等待IMFSinkWriter::Finalize方法完成。
我的个人电脑配置:
编解码器配置:
这是对MF h264编解码器性能的限制,还是由于代码中的bug/错误配置所致?
发布于 2016-09-21 10:05:52
对于具有长内部队列的管道来说,需要保持对视频的编码,直到队列为空。由于软件编码器正在使用,而且速度相当慢,所以屏幕捕获源生成足够的数据来填充队列,因此需要额外的几秒钟才能解决问题。
您的解决方案是要么控制/降低数据速率,要么使用更快(尤指)。硬件辅助编码器。不过,媒体基金会可以自动利用硬件编码器,所以我想这不是您的选择。您可以使用MediaFoundationVideoEncoderTransforms工具检查硬件编码器的可用性。
https://stackoverflow.com/questions/39611512
复制相似问题