Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to perform some video encoding, but most of the applications (or settings) that I've used will not take full advantage of my workstation.

I'm using two Xeon processors, 8 cores per processor with hyperthreading, or 32 threads. I can run win 7 or any flavor of Linux (preferring debian).

On windows, all handbrake presets only use 40% of total processor power for x264. In Linux, libav and ffmpeg also use around 40%.

I seriously doubt that hard drives are the limiting factor. I use a local raid 0 ssd array as the video source and a raid 5 ssd array as the video output. Normal transfers are around 500 MB/s, so I don't think there is an I/o bottleneck.

Thinking the issue might be related to hyperthreading, I turned it off. Didn't help much. So I turned it back on.

So, are there aspects of x264 encoding that are not multithreaded? Additionally, do you recommend a different encoder? Finally, any commentary on this issue is much appreciated. Thank you

share|improve this question
This thread might be useful. – Karan May 1 '13 at 2:47
up vote 2 down vote accepted

You probably won't be able to max out this rig on the CPU side for a single video, because video encoders aren't embarrassingly parallel (i.e., able to scale to as many threads as you have). You would be able to max this out for sure if you had a few simultaneous processes going on.

Unfortunately there's not much you can do to get a single video stream to be encoded using very many CPU threads, without designing a codec specifically to work this way. I'm not sure of any off hand.

Have you considered using a GPU of some sort -- Intel QSV on processor, or maybe OpenCL on a Radeon or GeForce card -- to do GPU-accelerated encoding? In my tests with a Radeon HD7970 and Sony Vegas Pro on Windows 8, it takes 15 minutes to encode a video with the Radeon assisting, versus 90 minutes with my Core i7 3770K CPU (without using QSV).

Also, you might want to read this informative document regarding threading in x264. Find out what version you're using (frame-based or slice-based threading) and weigh the pros and cons as detailed in that file.

share|improve this answer
Any suggestions on windows 7 encoders which allow multiple encodes at the same time. Handbrake only allows once isntance – Oddworld May 1 '13 at 15:53
x264 supports OpenCL lookahead. – LordNeckbeard May 2 '13 at 17:29

I have essentially the same processor configuration as you do, and for all things editing and encoding that I do I have used Adobe Media encoder and Adobe Premier Pro. They are designed to fully take advantage of such configurations as the one you have and do so very well (Here is a link: Hope this helps.

share|improve this answer
Does adobe media encoder actually use all of your cores? I'm having a hard time getting it to work. what settings do you use? – Oddworld May 1 '13 at 15:40
It can and will but only if it finds that using all cores is necessary. If in the encoding settings you set whatever you are rendering to render on high, though, the software will utilize more of the cores and in general deliver a better result. – Ben Franchuk May 1 '13 at 18:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .