我正在尝试渲染视频。但我想将其渲染为恒定速度。例子 :
ffmpeg -stream_loop -1 -i 113856_video_0.ts -c:v copy -c:a aac -bufsize 3600k -maxrate 1800k -rtbufsize 15M -metadata comment="screen113856" -preset ultrafast -g 50 -r 4 -sc_th 0 -threads 1 out.mp4
这个 ffmpeg 可以很好地渲染视频,像这样输出
帧=77590 fps=113 q=-1.0 大小= 596650kB 时间=00:51:43.67 比特率=1574.8kbits/s 速度=10.51x
你可以看到 speed=10.51x ,它很快,但它占用了我所有的 CPU。如果我使用 ffmpeg -re,它呈现为 speed=1x ,对 CPU 有好处,但需要时间。我可以以特定速度渲染视频吗?
有一个选项可以使用 cpulimit
cpulimit -l 20 ffmpeg ...
几乎解决了我的情况,但是: - 有时它不起作用,ffmpeg 仍然占用 100% CPU - 对于每个视频,我必须设置 CPU 数量限制 (-l 20, 30) 以获得特定速度。我想自动完成。