使用FFMPEG C ++中的VP9编解码器进行大量恒定的内存消耗

时间:2017-12-16 23:10:36

标签: ffmpeg video-capture webm vp9

使用: https://github.com/ash3D/VideoRecorder 包裹着: https://github.com/ash3D/UEVideoRecorder

我将VP9编解码器添加到" FindEncoder " CVideoRecorder的功能( VideoRecorder 存储库的一部分)。使用VP9编解码器通常工作,但是内存消耗很大并且在30秒内,内存使用量从3GB上升到6GB,此时(四舍五入)FFMPEG抛出内存错误并中止编码过程。我启动了Visual Studio的诊断工具,它告诉我 avcodec.dll 保留所有内存,直到编码终止(安静)才会释放。执行分配调用的函数是CVideoRecorder :: Encode()函数,它在其中调用avcodec_send_frame()。

H264和HVENC工作正常,内存消耗大约为300MB。

我尝试在VP9编解码器上设置各种设置,比如比特率,cfr和质量,这些都没有改变任何我认可的行为。

0 个答案:

没有答案