1

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

我将 VP9 编解码器添加到 CVideoRecorder(VideoRecorder 存储库的一部分)的“ FindEncoder 函数中。使用 VP9 编解码器通常可以工作,但是内存消耗巨大,并且在 30 秒内,内存使用量从 3GB 上升到 6GB,然后(大约)FFMPEG 抛出内存错误并中止编码过程。我启动了 Visual Studio 的诊断工具,它告诉我avcodec.dll持有所有内存,直到编码终止(和平地)才释放。执行分配调用的函数是 CVideoRecorder::Encode() 函数,该函数内部调用 avcodec_send_frame()。

H264 和 HVENC 在大约 300MB 的恒定内存消耗下工作正常。

我尝试在 VP9 编解码器上设置各种设置,例如比特率、cfr 和质量,但这些设置都没有以我可识别的方式改变行为。

4

0 回答 0