繁体   English   中英

ffmpeg减少内存消耗

[英]ffmpeg reduce memory consumption

我正在开发一个应用程序,使用RTSP协议捕获一些IP摄像机并将其发送到一台服务器。 当网络摄像机的分辨率较低时,一切都会进行得很好,但是当网络摄像机的分辨率提高时,我的程序的内存消耗会突然增加。

我已经意识到ffmpeg存储了我们可以寻求的一系列帧。 1.有什么办法可以减少它的长度吗?

2.当ffmpeg从输入(=> IP摄像机)读取帧时,是否可以减小帧大小? 大小为400x400足以容纳我的应用,但当前为2048

3.或任何其他方式来帮助我减少内存使用

1) 减少内存

i)降低帧率:使用-framerate

ii)通过选择更长的GOP增加压缩:使用-g

2) 缩放输入 :使用-s开关

ffmpeg -framerate 25 -g 14 -i input.mp4 -vcodec libx264 -s 400x400 http://localhost:1234/out.ffm

编辑:

为了将ffmpeg集成到您的c ++项目中,以下是一些解决方案:

  1. 使用system(ffmpeg command line); // 简单
  2. 使用CreatePrcess和管道隐藏控制台窗口并在GUI中显示进度。 //中
  3. 使用ffmpeg分布式包含文件和库来集成到您的项目中。 //需要高学习曲线

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM