当使用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"
you can see here a perfmon set over 5 days
此泄漏似乎是时间线性的,与写入文件的片段数有关。
FFmpeg库也可以重现。
有没有人遇到这样的事情?
答案 0 :(得分:1)
指定skip_trailer
movflag。请参阅以下修补程序。
https://patchwork.libav.org/patch/61014/
答案 1 :(得分:0)
要检测内存泄漏,您可以从带有调试符号的源编译FFmpeg,然后从一些内存调试,内存泄漏检测工具开始。例如,请查看Valgrind