[FFmpeg-user] CPU and GPU

Carl Eugen Hoyos ceffmpeg at gmail.com
Mon Mar 2 03:21:36 EET 2020



> Am 02.03.2020 um 01:45 schrieb MediaMouth <communque at gmail.com>:

> Part of the original reason for posting CPU vs GPU question in the first place was just a curiosity about how FFmpeg was handling various workloads.  Already I use it in automated pipelines as a welcome alternative to Adobe Media Encoder.
> 
> I only recently started paying attention how it was making use of CPU cores and GPUs.
> 
> What struck me watching the ProRes transcodes was how the process used all 8 cores and (presumably) hyper-threading (representing as 16 cores being used)

This is very difficult for non-intra codecs but less difficult for ProRes.

> Is FFmpeg making the determination how to distribute across the cores, or is the machine (in this case MacOS) making those decisions?

The application has to control the number of threads it uses, the os is scheduling the threads on the available cpu cores.


>  Does FFmpeg have any control over these things, and if so, is there any reason an FFmpeg user might want manual control --

Yes, because multithreading is not free in general although this is mostly an issue for real (non-intra) codecs.

> say to either maximize processing time ("use 'em al"l) or manage computing resources ("use only cores 1, 2, and 3, but leave 4, 6, and 6 free for something else")?

This is the os‘ decision and not related to the application.

> Was also curious: Does anyone know if Media Encoder is using FFmpeg under the hood?

I don’t think so (note the different licenses).

Carl Eugen


More information about the ffmpeg-user mailing list