FFMPEG 可减少内存消耗

ffmpeg reduce memory consumption

本文关键字:内存 可减少 FFMPEG      更新时间:2023-10-16

我正在开发一个应用程序,使用RTSP协议捕获一些IP摄像机并将它们发送到一台服务器。当IP摄像机的分辨率较低时,一切都很顺利,但是当它们增加时,我的程序的内存消耗突然增加。

我已经意识到 ffmpeg 存储了我们可以寻找的帧序列。1.is 有什么方法可以减少它的镜头吗?

当 FFMPEG 从 input(=>ip 摄像机读取帧时,是否可以减小帧大小 2.is? 400x400 的大小对于我的应用程序来说已经足够了,但目前是 2048

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

1(要减少内存

i( 降低帧率:使用 -帧率

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 分布式包含文件和库集成到您的项目中。