Ffmpeg maximum cpu utilization


I have a 32 thread cpu dedicated server.
I’ve configured the kaltura ffmpeg to run with -threads 0

I expect ffmpeg to use all of the 32 cores at full power.
What actually happens is that there is use of all 32 cores but not at 100% of each core.

Is there something else to add/change in the parameters?


As far as I know, you won’t necessarily get 100% CPU utilization. I think ffmpeg will open a child for each flavour but will not shorten the transcoding time by the number of threads.

As an example, I have a live nginx-rtmp /ffmpeg setup with 4 real time transcoding flavours and 4 simultaneous live channels. The average CPU per thread is 40% and follows the colours changes. The more contrast changes you have, the more CPU will be used.

Other factors apply. If you have a SSD storage you will get a faster conversion than if you use a normal SATA storage.

I think it’s normal.