I have a Core i7 950 CPU. It has four physical cores (and 4 virtual cores due to hyperthreading). I started a batch video conversion job and noticed that the CPU usage stayed at around 20% with all the video rendering workload assigned to a single core (well, it cycled through the cores to avoid uneven workload). I thought to myself, “Well this is lame. What good is a quad-core CPU if video encoders aren’t multithreaded?” Turns out they are:
All I had to do was read the ffmpeg manpage to know that ffmpeg will multithread if you tell it to. I figured since I had 4 physical and 4 virtual cores, 8 was a good number of threads. Seems to be working well. Now the overall CPU use is about 45% instead of 20%. I think the bottleneck is now IO actually as I’m running this from a USB2.0 external drive.