[Wylug-discuss] Linux-specific buying advice - system purely for video editing/encoding/rendering

Paul Brook paul at codesourcery.com
Fri Jun 18 19:46:14 UTC 2010


> I am guessing that I need:
> 
> 1. The fastest CPU I can afford
> 2. The fastest memory I can afford
> 3. As much bandwidth as possible between CPU, memory, sub-processors and
> disks 
> 4. Fast graphics - maybe not up to the standard of the most
> demanding games, but enough to make visual editing less painful

I'd expect a video editing machine to have significantly different 
requirements from an encoding machine. Video editing software generally don't 
do edits on the fly. Instead they save a list of editing actions, then perform 
the edit/encode actions as a batch process.

Your editing machine is likely to want fast disks, and lots of memory so that 
you can cache large amounts of the source file as you're moving around. Lots 
of CPU cores aren't likely to help a lot here. Given your description of the 
source material I wouldn't expect the graphics card to make a whole lot of 
difference. Even the most basic graphics card should be more than sufficient 
for video playback.

The requirements of your encoding machine are likely to be entirely dominated 
by the video codec you're using to encode.  Assuming no dedicated encode 
hardware, this means lots of CPU power. Quantity of memory and disk throughput 
are unlikely to be bottlenecks. If you do have dedicated encode hardware then 
the rest of the machine probably doesn't make a whole lot of difference.

> Some questions about this use case:
> 
> 1. How much, if any, benefit can gained by adding cores or individual CPUs?

I'd expect your best strategy to be having one encode job per core.  Splitting 
a single encode over multiple cores tends not to scale so well. Sounds like 
you have lots of separate videos, so this shouldn't be too much hassle. With 
this proviso, I'd expect performance to scale with number of cores.

Machines with more than one CPU socket incur a significant price premium.
If you want more through put than you can get from a single CPU then you're 
probably best going with a cluster of single-socket multicore machines. Gig-e 
is fairly ubiquitous nowadays, and should be more than sufficient for video 
transcoding.

Avoid Atom based machines if you care about CPU performance.

Paul



More information about the Wylug-discuss mailing list