1

当使用 FFmpeg 控制台将 RTSP 流保存到分段的 MP4 文件时,我注意到存在少量内存泄漏。它每小时泄漏大约 3-4 MB(当每帧是一个片段和 30 fps 时)。

使用了以下命令:

ffmpeg.exe -i rtsp://10.50.1.16/media/video3 -vcodec copy -an -f mp4 -frag_duration 1000 -movflags empty_moov+default_base_moof+omit_tfhd_offset -loglevel quiet "c:\MemoryLeakTest.mp4"

你可以在这里看到一个超过 5 天的 perfmon

这种泄漏在时间上似乎是线性的,并且与写入文件的片段数量有关。

它也可以通过 FFmpeg 库重现。

有没有人遇到过这样的事情?

4

2 回答 2

2

指定skip_trailermovflag。请参阅以下补丁。 https://patchwork.libav.org/patch/61014/

于 2018-05-02T16:42:25.380 回答
0

要检测内存泄漏,您可以从带有调试符号的源代码编译 FFmpeg,然后从一些内存调试、内存泄漏检测工具开始。例如,看看Valgrind

于 2018-02-20T13:57:56.350 回答